Rusting An E-scooter (In A Good Way)

It is a classic Hackaday situation. You have an Egret GT E-scooter. It has a screen that shows the usual dash stats, but that led to an annoyance. You could accidentally enter firmware update mode and, from there, enter operational mode without the security PIN. [Ben] couldn’t let that stand, so he reverse-engineered the protocol and rewrote the firmware in Rust. As he put it, “… because I have to break… everything I own…” We get it.

The mobile app was useful for some basic info, since sniffing Bluetooth is fairly easy and analyzing mobile code is, more or less, straightforward. Analysis revealed some data that doesn’t show on the display and that several things are sent back to home base tagged with the scooter’s unique ID — another reason to gut the existing firmware.

Internally, the scooter uses the CAN Bus, so out came the oscilloscope and a homebrew CAN decoder.  Surprisingly, the CAN bus is accessible on the USB-C port’s data pins. Officially, the port is only for charging phones, so you have to wonder what your phone makes of the alien signals on the data pins when it is charging.

Firmware updates actually come in at least three flavors: display, input panel, and main controller. Reverse engineering the firmware update process was crucial to installing the new firmware.

If you own a similar scooter, this post is a goldmine. If you don’t, it is still a very detailed breakdown of a reverse-engineering workflow, and you can apply many of the tools and techniques to your next project.

Of course, another option is to just keep the scooter and replace the brains. If you want to learn more about reverse engineering, there are literally dozens of Hackaday posts to help you get started.

4 thoughts on “Rusting An E-scooter (In A Good Way)”

  1. That’s a pretty nice explanation of the process of reverse engineering a fairly complex product. I can think of a couple of devices I could apply this to. Now just to find the time to sit down and figure it out. ;)

  2. I have great admiration for the way you approached this reverse engineering project. Practical knowledge of electronics, Ghidra, maker skills, smart thinking and perseverance clearly take you a long way. And as a bonus, you’re now also the ‘master’ of your own bike’s characteristics and behavior. Well documented and inspiring for others. Respect!

    The only one not impressed might be your bike itself – it now knows you’ve uncovered all its secrets.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.