Hacker News new | ask | show | jobs
by drdaeman 1047 days ago
> GPS, authentication (unlock via app/bluetooth/...), ride logging, debug data. And at that point an ESP32 or heaven forbid an Arduino won't cut it either

Why? ATMega board is surely a questionable fit, but ESP32, or nRF52, or some STM32 board with Bluetooth all should be fully capable of doing the basics. I can't imagine those scooters do some fancy signal processing on-board or handle some particularly heavy traffic. ESP32 is capable of wrapping and transmitting a decent video stream (and even do some basic detection while it's at it) - surely it's much more data than some route information and various on-board telemetry. GPS and cellular are just talking over some bus to a module (pretty much the same as with rPI4), Bluetooth is available and not resource-expensive at all. So is talking to whatever relays run or block the motors - I imagine that's probably just a bunch of GPIOs. All that remains is need for some RAM to store/buffer the traces (ESP32, or one can throw in some external storage) and a basic TLS and MQTT implementation (or whatever tech would make most sense there) for the command and status message queue.

And most importantly, average ESP32 energy consumption is way smaller than rPI4's (it's pretty hot even when it idles). While I understand that scooters have large batteries, it still matters.

1 comments

The ESP32 can certainly do any of those things, but where it starts to become a problem is when you want to do all of those things. You start to run into limitations on application size, IRAM, GPIO's, etc.

I've shipped ESP32-based boards and written firmware for it that really tries to cram in as many features as possible, but you do hit limits. While I almost certainly wouldn't make the choice of shipping a high-volume product with an actual Raspberry Pi in it, I do see why trying to cram all of this into an MCU is tough — especially if you're trying to get to market quickly.

Perhaps this would have been a good place to use the RPi CM4 though?