Reverse engineering Exway X1 Pro electric skateboard remote & board
If you are reading this, then I am sure you are one cool electric skateboarder. I absolutely love electric skateboarding, but what I don’t like is that all the cool accessories are proprietary and expensive. Sniffer class provides telemetry data for electric skateboards (currently only Exway). It promiscuously sniffs traffic between the remote and the board. You can get access to these data by calling getDirection(), getGear(), and getThrottle().
The wiki document contains more information on the sniffer implementation. Otherwise, stay safe and happy carving!
Arduino or other Arduino compatible hardware
nRF24L01+ transceiver
Download the RF24 library from https://github.com/nRF24/RF24.
git clone https://github.com/nRF24/RF24
Download this repository.
git clone https://github.com/sieveandsand/Hacking_X1_Pro
In the Arduino IDE, add RF24 folder and project_sniffer folder from Hacking_x1_Pro to Arduino library.
Folders can be added to Arduino library by “Sketch” —> “Include library” —> “Add .zip library”.
Start coding your own sketch or try out the example Arduino sketch in the “examples/sniffer_example” folder.
Use SNIFFER(CE, CSN) constructor. CE, CSN are pin numbers of the nRF24 chip.
Following functions must be called before using getDirection(), getGear(), and getThrottle()
SNIFFER::init();
SNIFFER::scanWithMagicID();
Make sure throttle wheel on the remote is in neutral position when scanWithMagicID() is running.