1

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.

Brake off brake off

Brake on brake on

9Mph 9Mph

Full speed (15Mph) 15Mph

Arran
  • 11
  • 1
  • On you images can you please label TX and RX, When side is the motor control and screen. – Mahendra Gunawardena Oct 24 '21 at 00:15
  • the reason to print numbers using hexadecimal notation is because it is very easy to do conversion, in your head, from hex to binary ... each hex digit encompasses 4 bits ... for example which bits are different between two data bytes? .. decimal 161 and 129 ... hex A1 and 81 ... binary 1010 0001 and 1000 0001 .... just a bit of training is required to remember that hex A is 1010 and hex 8 is 1000 ..... so if, for example, A1 turns on a light and 81 turns off a light, then you can see at a glance that bit 20 is responsible (0010 0000) – jsotola Oct 24 '21 at 19:16

0 Answers0