Comment by lentil_soup

3 days ago

>> It keeps you updated on the status of cell performance and heat through a Bluetooth-connected app

why an app? Why not a simple light or error code on device?

There is both! But the app obviously has a few advantages in our setup:

- it gives much more detailed and fine-grained informations

- it allows user (optionally) to register for automated safety alerts

- but more importantly, it allows users to override themselves the communication protocol of the battery, to adapt it to any bike

For now we've hardcoded Bosch, Bafang, Brose and a few others (more coming), and we plan to open-source the communication protocol soon so that anyone can upload their own WASM code on the battery to talk to any controller!

1- might make the (waterproof) case harder to build 2- finding the right dead battery among 18650 batteries is requiring more hints than just "something is wrong" 3- marketing / convenience and probably you can order your dead battery straight from the app 4- monitoring battery charge, battery life / cycles / etc. 5- no idea :-)

Just speculating, but I guess there are a lot of reasons why a bluetooth app makes sense

  • I think the idea might be that you don't need to check the battery health yourself but instead you get pinged when a cell's getting close to dead

Why not both? I'd love an error LED to tell me something's wrong, maybe (maybe) with complicated blink codes that I can count and recount to determine which cell is bad or what action to take, but I also want a Bluetooth app to access the actual data: live cell voltages, currents and temperatures, estimated storage capacity and cell health, lifetime charge cycles and total power delivery... Give me all the data!

I don't want to increase the cost and complexity, and reduce the runtime of the thing with an onboard tiny LCD and an array of buttons to navigate menus. The interface could be available over a Bluetooth app, or or a self-hosted webpage, or make it show up as USB mass storage or a USB virtual serial port, or an actual RS232 or RS485 or TTL serial port, or I can grab it off a storage device with an EEPROM clip, or hook up my Tag-connect cable and a bus pirate and get I2C or SPI or whatever unnecessarily custom UART protocol you want to invent, or I can buy your dedicated HMI device with the LCD and buttons connected by a custom cable (don't want to buy yet another, I already have too many kicking around from decades of work with random industrial VFDs and PLCs and stuff), or I can hook up my MSO to some test pads and read the signals directly... But not everyone has all those tools and cables.

Like it or not, the standard has become a Bluetooth app. I wish the standard was a self-hosted webpage, so I could connect my laptop to a buried RJ45 connector, set a static IP to point my NIC at the right subnet (or the device could embed a router to assign my laptop a compatible IP over DHCP, but most don't), or I could turn on an integrated wifi adapter in the device, ignore and revert the protestations of my device and OS that the connection was unsuccessful because it can't ping connectivitycheck.android.com or captive.apple.com or msftconnecttest.com or whatever through the battery pack SSID. But by the time your user manual tells the user to go to their network adapter properties and set their IP address to 10.10.0.2 (on their iPad, LOL) you've lost most people long ago.

Like it or not, the standard has become Bluetooth and an app, and not without compelling if frustrating reasons.

You can't see what cells are low or have high IR with just a light on the device easily.

Maybe a small screen on the device would work, since it has replaceable cells you do need to know more details about which cells are weak.

Bluetooth connect apps are pretty much commodified at this point.

If one product has an app, and the next one doesn’t, people will choose the one that does.

so long as the protocol is simple enough to be recreated in nRF Connect, Bluetooth is fine. A proprietary bluetooth connection would be gross, though.