Remix.run Logo
Reverse engineering my e-scooter and rewriting the firmware in Rust(bensimms.moe)
56 points by vinhnx 3 days ago | 15 comments
hommelix 17 minutes ago | parent | next [-]

> The updater device then sends 64 byte chunks spread over 9 CAN 0x384 frames

Classic CAN uses 8 bytes long frame, so 64 bits. Is it a typo in the post, vor is it using CAN-FD?

asimovDev an hour ago | parent | prev | next [-]

Thank you for posting! I got a e-scooter this spring and wrote my own app for it after reverse engineering the official app + BLE logs. I am not brave enough to do anything with the firmware on it though. Maybe not yet at least

jimmy76615 an hour ago | parent | prev | next [-]

I wanna have a friend like this guy

ifh-hn 2 hours ago | parent | prev | next [-]

Wish I was brainy enough to do this sort of thing!

j_m_b an hour ago | parent [-]

That's what is nice about LLMs. You CAN do these things now!

wkjagt an hour ago | parent | next [-]

Maybe I'm out of touch with the times, but I wouldn't feel safe riding an e-scooter with custom vibe coded firmware.

GuB-42 27 minutes ago | parent | next [-]

What make you think it is vibe coded? There is no mention of genAI being used, and the methodology looks more consistent with hand-written code he actually understands.

IshKebab 37 minutes ago | parent | prev | next [-]

You don't have to fully vibe code it. Most of this stuff doesn't take massive brains, it is just super tedious - especially the reverse engineering. I've never really had the patience for that (except one USB devices that I did reverse engineer when I was younger). AI really helps with the tedium.

m00dy 41 minutes ago | parent | prev [-]

If it is coded in safe Rust, why not ?

malnourish 35 minutes ago | parent [-]

Safe rust does not mean correct logic; best not conflate the two.

You could have perfectly safe rust that disables brakes above a certain speed, inverts steering by wire, or adjusts the charging parameters, for example (depending on addressable capabilities).

spaqin 13 minutes ago | parent | prev | next [-]

So you're still not brainy enough to do it, but the LLM can.

I mean. Sort of? The LLM won't go into checking random USB-C connections with an oscilloscope - it doesn't have hands, for one.

the__alchemist 20 minutes ago | parent | prev [-]

FdCAN or Bx?

kooi 3 days ago | parent | prev [-]

Very nice. Be safe out there when tweaking these things.

TheChaplain 2 hours ago | parent [-]

From what I've seen on the streets, people bypassing the restrictions will not, and there will be injuries.

jstanley 2 hours ago | parent [-]

You only notice the ones that aren't safe.

How would you know if someone bypassed the restrictions if they were riding it safely?