10 comments

  • quietraster 3 minutes ago
    rewriting scooter firmware in rust is the kind of unnecessary excellence i come here for. how did you debug without bricking it, swd probe or pure faith
  • abound 17 minutes ago
    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/

  • hommelix 1 hour ago
    > 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?

    • bri3d 24 minutes ago
      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.
    • baby_souffle 52 minutes ago
      Must be. Can 1.x and 2.0 are fixed size frames.
    • irishcoffee 37 minutes ago
      Could be TP.DT, multi packet.

      My guess is a typo.

  • asimovDev 1 hour ago
    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
  • arbirk 43 minutes ago
    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
    • thenthenthen 6 minutes ago
      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
  • jimmy76615 2 hours ago
    I wanna have a friend like this guy
  • ifh-hn 3 hours ago
    Wish I was brainy enough to do this sort of thing!
    • j_m_b 2 hours ago
      That's what is nice about LLMs. You CAN do these things now!
      • wkjagt 1 hour ago
        Maybe I'm out of touch with the times, but I wouldn't feel safe riding an e-scooter with custom vibe coded firmware.
        • IshKebab 1 hour ago
          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.
        • GuB-42 1 hour ago
          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.
          • exe34 42 minutes ago
            What makes you think the original wasn't vibe coded?!
            • thenthenthen 8 minutes ago
              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’
        • m00dy 1 hour ago
          If it is coded in safe Rust, why not ?
          • malnourish 1 hour ago
            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 1 hour ago
        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 1 hour ago
        FdCAN or Bx?
  • kooi 3 days ago
    Very nice. Be safe out there when tweaking these things.
    • TheChaplain 3 hours ago
      From what I've seen on the streets, people bypassing the restrictions will not, and there will be injuries.
      • jstanley 3 hours ago
        You only notice the ones that aren't safe.

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

        • TheChaplain 56 minutes ago
          Because if they are riding it safely, there would be no need to bypass the restrictions.

          There is reason for speed limits, they are not there to f--k with people for fun.

  • ivo_repairs 4 minutes ago
    [flagged]
  • barbarkaragul 55 minutes ago
    [dead]