Hi, it’s Hambreros and Tamadillo. We set out to have a bit of fun creating an autonomous vehicle with not much more than an UNO Q and a few bits of wire. There wasn’t much hard core electronics in wiring up 2 servos, but there was a bunch of code we had to figure out to make it work.

What we set out to do

The pitch was simple: enter the Element14 EZ-EV challenge, build a little robot that can drive itself down a hallway, and see how far “one 15-year-old, one 18-year-old sister filling in the official entry-age box, and an Arduino UNO Q” could get in a few weeks. We even wrote ourselves a five-post plan before touching a soldering iron:

  1. Basic motion primitives
  2. Remote control over the web (camera + WASD, “puppy on a leash”)
  3. Simple autonomy (line-following down the hallway with tape)
  4. Expand driving (manual override on top of the autonomous line-follower)
  5. Pick one: better telemetry, voice command, or corner-mapping

Reasonable plan. Didn’t survive contact with the actual robot.

What we actually built

  • Post 1 — wheels turning. Two continuous-rotation servos, bit-banged PWM because the board’s hardware PWM pins are locked to the wrong frequency, a web page with a slider per wheel, and a 1-second no-command watchdog on the STM32 side that turned out to be the single most-reused idea in the whole project.

    wheels are moving

  • Post 2 — a voice, a siren, and lasers. Not autonomy. Sound. A whole soundboard — effects, an air-raid siren, an AusAlert tone, text-to-speech, cruising music — because we went looking for a way to stabilize the chassis with pantograph legs, gave up on that, and got distracted by making the thing loud instead.

    soundboard

  • Post 3 — one joystick instead of two sliders. Drag it, or drive with WASD/vim keys, plus every bug that comes with actually connecting two wheels at once for the first time.

    wheels are moving

  • Post 4 — eyes. A live MJPEG camera feed, the “puppy on a leash” idea from the original plan, just three posts later than scheduled and built entirely differently than imagined.

    Live camera feed on the control page

  • Post 5 — chasing a tennis ball. Not the line down the hallway the plan called for — real on-device object detection, a pretrained neural network finding a “sports ball” and the robot driving itself towards it.

    Robot autonomously driving towards a tennis ball

Zero hallway tape was harmed in the making of this project.

Thanks for reading

Five posts, one robot, a lot more debugging than either of us expected going in. Whatever comes next for Hall-w-EV, it’ll probably also replace whatever we plan to do with something we didn’t expect — and that’s kind of the whole point.

The codes

Hambreros (and Tamadillo)