From a hardware perspective, adding a bluetooth radio is trivially easy, and doesn't require any changes to the LiBCM PCB... I'd just use any of the various extant UART<->BLE converters, which are around $20. However, as
@*sean* mentioned, adding that radio would require the entire LiBCM product to undergo FCC testing... that's an easy $15k I don't want to spend. That reason alone prevents me from jumping onboard the bluetooth train.
Another issue with wireless support is that now I have to support Android and iOS apps... for years and years. Given how often Apple and Android purge "low volume, low update" apps, I don't want to have to deal with that. The Torque app
@*sean* mentioned doesn't have the flexibility I'm looking for... it's basically an OBDII scanner... I'm thinking bigger than standard query->response data presentation.
Also, there's the extensive work required to write and maintain two separate apps.
There's also the security aspect of adding a wireless connection to the battery management system. Certainly LiBCM's firmware could be written such that the wireless comms didn't allow users to change critical safety elements, but I don't want an IoT element to LiBCM... I actively avoid any and all IoT devices. I don't want to collect your data, and I don't want you to be ok with that.
For these reasons, I don't want to use a wireless phone for the display.
...
We already have a usb cable coming out of LiBCM. Couldn't we use a custom phone app with something like this:
Buy UGREEN USB C to USB 3.1 Adapter ,USB C Female to USB Male Adapter,Type C Adapter OTG Cable Compatible with MacBook Pro 2022, MacBook Air/Mini,iPad Mini/Pro 2022, Samsung Galaxy S22 Google Pixel: Cables & Interconnects - Amazon.com ✓ FREE DELIVERY possible on eligible purchases
www.amazon.com
No security concerns to worry about, from a BT perspective.
This could be made to work, but it would require users (that wish to use LiDisplay) to purchase a device that supports USB OTG... iPhones don't support this feature.
Honestly if we go this route, then a (possibly) simpler solution would be to use a raspberry pi (or equivalent), with a touch screen display. At that point, we'd basically have a complete linux box plugged into LiBCM... so the sky is the limit as far as what to do with the serial data coming from LiBCM.
We're going to need some kind of parameter editing lockout if the car is driving.
Which parameters are you thinking need lockout while driving?
I'm wanting the user to be able to switch modes on the fly (e.g. disable regen, disable assist, turn fans on, etc).
I was more talking about monitoring the highest and lowest voltage cells(at time of key on).
I showed a rough sketch of a couple cell level voltage displays in the video in post #1. Are you looking for some other way to display cell voltage data? If so, draw it on some paper and post a picture. I'm certainly interested in the actual content to display on whichever device we end up using with LiBCM.
Okay, regarding the phone app approach... what if it was display only? (Like the current 20x4 display.) Would that make it easier? It would certainly prevent evildoers from messing with your battery parameters. Do we really need to futz with parameters from a touch screen? The people that want to do that can still do it by editing config.h. I'd rather have a wireless display-only device than a wired touch screen display, if I had a choice. I like being able to see the voltage and stuff, but messing with parameters doesn't seem important.
One of the key features I want to add with LiDisplay is two way communication... so that the user can change settings on the fly. For example, when storing the car with the grid charger plugged in, you could plug in the grid charger, and then push the "long term storage" button (LiBCM would then maintain SoC at 50%). There are tons of features I want to add focused around user control.
@LowCarbon's one-way comm idea is neat; however it will need to be galvanically isolated and implemented so that there is no possible way of screwing up the installation or its use so that the user / installer / mechanic never sees 200VDC.
LiBCM's low voltage system is already 100% galvanically isolated from the HVDC bus. There is essentially zero risk that a properly installed LiBCM can pose any electrocution hazard to customers. Hold the LiBCM PCB up to a bright light and you'll see that all the low voltage signals are at least 3 mm** from any HVDC signal, and all HVDC signals are (at least) double-insulated from LVDC, using either photodiodes or transformer+capacitor galvanic isolation. LiBCM is designed to safely isolate HVDC overvoltages up to 2250 V, as defined in IEC-60950-1, using CTI class IIIA. To be clear, LiBCM is not UL certified, but I have designed the hardware to modern safety standards.
**250 Vrms working voltage in a class 2 pollution environment with a type IIIb (FR4) substrate requires at least 2.5 mm creepage; LiBCM has at least 3 mm minimum creepage from all HVDC circuitry. Note that LiBCM's conformal coating layer provides additional protection.
The problem with adding the extra display code to LiBCM functionality is that it really requires developing a unit test suite to make sure it doesn't do something to burn down a car.
We can make a sandbox for LiDisplay to play in. Only those features that we choose to expose to LiDisplay will be accessible by the UART. For example, we could only present "safe" options to the customer (e.g. "grid charge to 50%/75%/85%" (but not "110%").