Live data from Hacker News

Reverse engineering my e-scooter and rewriting the firmware in Rust

bensimms.moe

21–30 of 113 posts

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#22
post #14
post #8

Earlier quoted context omitted.

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

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.

What makes you think the original wasn't vibe coded?!

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#23

> 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?

Could be TP.DT, multi packet.

My guess is a typo.

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#24

> 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?

I read this as the chunks are 64 bytes and thus each chunk is split over 9 frames. I haven’t looked yet but it’s probably an ISO-TP esque framing protocol.

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#25
This is an unbelievably impressive project and a killer write up, very satisfying. I wonder if the author looked into using Slint [1] for the UI, given the codegen bloat issues they had with buoyant (which also looks very cool). I haven't used either, but I've done a few projects with Embassy and am always looking for an excuse to try embedded GUI tools

[1] https://slint.rs/

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#26
post #22
post #14

Earlier quoted context omitted.

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.

What makes you think the original wasn't vibe coded?!

The firmware on these things is terrible, also larger e-mopeds btw. Like a 2 second delay on the throttle after breaking (fun when cornering!). Happy this Egret GT E-Scooter didnt turn into..’Regret’

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#27
post #21

I am also rusting my hw. Last week my mouse, this week my EUC (wish me luck). I would rather risk a crash than memory corruption

What is an EUC? And also what kinda crash are you referring to? i rather have a memory issue than crash my e-scooter (and myself) haha

Re: Reverse engineering my e-scooter and rewriting the firmware in Rust

#30
post #25

This is an unbelievably impressive project and a killer write up, very satisfying. I wonder if the author looked into using Slint [1] for the UI, given the codegen bloat issues they had with buoyant (which also looks very cool). I haven't used either, but I've done a few projects with Embassy and am always looking for an excuse to try embedded GUI tools [1] https://slint.rs/

Heya, I tried using slint first, but slint needs even more flash, and an allocator on top. Just adding slint (with an empty UI) exhausted my binary size limit.
Post reply on HN