The Xiaomi M365 electric scooter allows displaying a dashboard with useful information on your phone. For me, the idea of strapping your phone to the scooter every time you go for a ride seems bothersome and unsafe. That is why I decided to make my own standalone dashboard.
The two main design constraints were:
- Large display readable both in direct sunlight and at night
- No modifications to the scooter
In addition to that, I wanted to make this as quickly as possible, so everything had to be made on a single-sided DIY PCB.
For the display I went with LED segment displays. That’s the only technology that satisfies the large, sunlight readable and cheap requirements.
Two seven-segment digits for displaying the current speed and a multi-color bar graph for battery current. Unfortunately, the digits are made with two blue LEDs in series requiring 6V to run, which complicated the power supply a little bit.
A piece of smoked black acrylic covers the display, allowing the light to come through, but otherwise (mostly) masking the insides.
Obviously the board needed something with BLE to connect to the scooter, so I picked the very popular NRF52832 MCU in a ready-made module. The MCU communicates with the scooter and drives the seven segment displays.
There is a second microcontroller on board. It’s an STM32F072 and its only job is to drive the LED bar graph. What seems like overkill at first, is a practical choice. The NRF5 module does not have enough pins to drive the bar graph, not to mention its GPIO is not supposed to drive such loads. Using a STM32 greatly simplified the routing (it’s all single layer!) and at $1.5 a piece, it is not worth coming up with a different solution.
The NRF5 communicates with the bar graph driver by simply sending a PWM signal indicating what to display.
If I was going to make some electronics for my scooter, I had to add some bling. I’ve added two strips of APA102 addressable RGB LEDs, which are controlled by the dashboard, to the underside of the scooter deck .
I wanted to minimize the size of the case, but the LED strips require quite a lot of current. I ended up with a single 18650 li-ion cell powering the entire thing, with switching regulators to generate the higher voltages.
The dashboard works pretty well. The most interesting thing is the battery current bar graph, which has made me understand when the scooter uses regenerative braking.
I hope to revisit this project with a proper PCB, additional display elements and a slimmer, more elegant case.