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 (left most) is the TX from the screen to the controller and the last data package(right most) 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 explination on basic operation of the UART protocol.
Thankyou for reading, Arran.




161and129... hexA1and81... binary1010 0001and1000 0001.... just a bit of training is required to remember thathex Ais1010andhex 8is1000..... so if, for example,A1turns on a light and81turns off a light, then you can see at a glance that bit20is responsible (0010 0000) – jsotola Oct 24 '21 at 19:16