If my kid must have a wheelchair, it will be the coolest one I can build.
Me, circa 2015

And so it began. Then nothing happened for a few years. And then, 2019, Simon received his first wheelchair. And I started to build some undercarriage lighting. Obviously DIY and programmable.


My requirements turned out to be: Individually controllable LEDs - for more bling. A microcontroller with a small display and hardware keys (touchscreens tend to be less easy to use with gloves). It should survive some rain and be removable if we need some upgrades. That led me to buy:

  • 1 meter Adafruit Neopixel with 60 LEDs / meter
  • M5 Core grey - a microcontroller with display, hardware keys, speaker and 9 axis gyro. Bluetooth, uSD and WIFI were a nice addon.
  • the M5 Stack Proto Module - to hide the resistor and capacitor needed for the LED strip
  • various plugs, cable ties, velcro and cables
  • USB-C 20.000 mAh power bank. This has enough juice to go for a few hours.

Mounting the hardware

Two 50cm LED stripes in the included silicon sleeve were mounted below the wheelchair on the main struts. Cable connections were waterproofed with shrink tubing. The controller is connected with a three-pronged plug for easy removal.

First i tried a holder made from acrylic glas screwed to the left brake mounting, but this turned out to be too fragile - it broke a few times when he entered his wheelchair. I finaly opted to glue some velcro on the left armrest and the controller. There it's easily reachable while not being in the way.

The initial plug in the controller wire was just a 3 pronged PC fan plug, but that turned out to be not resilient enough to crashes, so I replaced it with a SP13 Plug. That one is also water tight, which is a great plus as it's quite near to the ground.


The M5 Stack supports micropython, but I took the chance to dust off my old C++ books and try my hand at some low-level coding. The codbase still needs some tidying up, but it's stable, does what it's supposed to do and doesn't crash, which is quite a win in my book.

Next Steps

The M5 cores accelerometer is currently unused, but I plan to add some speed and colission effects.

A newer version of the M5 core with a touchscreen interface now exists, but I still think that physical buttons are easier, especially when not looking at the unit while using it or while wearing gloves.

So how does this thing look now?