Monday, 20 July 2026

Revisiting the Micro:bit Express

 Revisiting the Micro:bit Express V1

There have been many iterations of the Micro:bit Express over the years. In all honesty, it had been sitting in a box at school since it was last used in an enrichment club a couple of years ago.

Recently, I brought home what can only be described as "the box of doom" and decided it was finally time to see if any of it still worked.

I'll spare you the full story...

The controller was broken, a few bits had disappeared over the years and, unsurprisingly, nothing worked anymore.

After spending a while trying to remember how I'd originally built it, I came to a simple conclusion.

Start again.

Rather than recreating the most advanced version straight away, I wanted to strip everything back and rebuild the project from first principles.

The original train eventually evolved into a wireless controller using two micro:bits—one controlling the train and the other acting as a remote control. It worked really well, but this version deliberately goes in the opposite direction.

It's about as simple as it gets.

Sometimes that's exactly what a project needs.

What you'll need

  • 1 LEGO train motor (with the original LEGO connector removed and two wires soldered on)
  • 1 classic LEGO train
  • 1 LEGO wagon to carry the electronics
  • 1 BBC micro:bit
  • 1 Drive:bit Lite motor driver
  • 1 AA battery box with 4 AA batteries

Software

I used the following site: Microsoft MakeCode for micro:bit

The project uses Microsoft MakeCode for micro:bit.

Before writing any code, you'll need to add the Drive:bit extension from the Extensions menu.


The Code

One thing I really like about this version is how little code it actually needs.

Press A to increase the speed.

Press B to stop the train.

That's it.

Eight years ago I probably would have wanted to add more features.

Today, I think there's something quite satisfying about keeping it this simple.

Why simplify it?

The previous version was technically much more capable.

It used two micro:bits, allowing one to act as a wireless remote control while the other drove the train around the track.

This version is, on paper, a regression.

Less hardware.

Less code.

Fewer features.

But revisiting the project has made me realise something.

Sometimes the simplest version is actually the most approachable.

There's something wonderfully satisfying about taking an ordinary LEGO train, adding a tiny computer and writing just enough code to bring it to life.

A child doesn't need to understand wireless communication or complex programming to experience that moment of excitement when something they've coded starts moving.

That feeling hasn't changed since I first built this project.

Video

Chris Penn on X: "@microbit_edu Express https://t.co/oJM8zsV4A6" / X


What's next?

I'm sure this won't be the final version.

Maybe the wireless controller will return.

Maybe I'll add sensors.

Maybe I'll find another excuse to take it along to a computing club.

For now though, I'm enjoying its simplicity.

Sometimes it's enough just to remember why you built something in the first place.

When I first built this train, I wanted to show that a LEGO model could be controlled with code. Looking at it now, I think the more important lesson is something much simpler.

There's a real sense of magic in taking an ordinary toy, adding a tiny computer and writing just enough code to bring it to life. That feeling is just as exciting today as it was the first time I watched it move around the track.

My hope is that someone reading this looks at an old project sitting in their own "box of doom", dusts it off, and rediscovers the simple joy of making something move with code.

After all, that's how the next idea usually begins.

Twenty-one years of teaching. A lifetime of tinkering.

See you in the next project.




No comments:

Post a Comment