I'm currently working on a project with an electric scooter, I intend to install a larger battery into the scooter and also replace the stock 300W controller for a VESC. BUT I want to keep the original screen as it looks nice and also has built-in Bluetooth to connect to an app, also it'll be a learning curve for logic analysing, as I haven't dabbled in that arena unit now. I plan on using an Arduino to communicate between the new VESC and translate to the old screen.
I have a Xiaomi M365 CLONE!, its called an Iezway m365.
So far as my understanding goes, the scooter has the screen (BLE) containing TX RX pins connected to the motor speed controller, the screen has the throttle/brake inputs, then talks to the controller (presumably communicating throttle/brake/errors/faults/scooter speed between each other)
using a logic analyzer, I have interpreted signals sent between the 2 devices (screen/motor controller) and I have absolutely no idea what these signals represent or mean... I'm not even sure if I have the appropriate settings in Sigrok pulseview software, (i have found that baud of 9600/ and 8-bit data bits looks correct and throws up no errors.
I have taken several readings when the scooter's telemetry was at different states to try and find an obvious correlation between the readings and the telemetry. I have set the data format to HEX, for no specific reason other than seeing other people on youtube using HEX to read UART. the first data package (leftmost) is the TX from the screen to the controller and the last data package(rightmost) is RX from the motor speed controller to the screen.
if anyone could explain what these signals could mean or how best to find out, it'll be much appreciated. please feel free to give me a dummies explanation of the basic operation of the UART protocol.
Thank you
for reading, Arran.