microsoft / microsoft/pxt-microbit

Support for external LED matrices for accessibility add-ons

Open
#6,848 0 comments 0 reactions 1 assignee View on GitHub

@riknoll is already working on this.

Since May 15, 2026.

field editor
Dominant language
TypeScript
Stars
804
Forks
721
Avg merge
2d 9h
Merged PRs (30d)
2

Description

As part of the wider accessibility work happening this release, we've been looking at things like https://www.diversibit.org/en and how we can enable more devices like this.

One challenge has always been mirroring the display, as that isn't entirely exposed over the edge connector.

One approach for these devices has been to run a strip of RGB WS2812B devices to make a 5x5 matrix, and using a single pin on the edge connector to drive it (for example, P12). However, this has always required either a custom extension, or support in CODAL/MakeCode for that pin.

On investigating our options further, @finneyj realised we could possibly just emit the whole 5x5 matrix string always on one of the pins that is already shared with the edge connector, interspliced with the existing matrix driver code.

Lancaster have a PoC of this working now, so it seems like it might be worth investigating integrating this into MakeCode.
(and then as a second step, as these are neopixels, investigating whether this is also an approach for supporting different colours of external display for people with visual processing differences, etc).

Note that this would need to use a different neopixel driver implementation to what we have today as that's incompatible with Bluetooth - it requires taking the WS2812B code and bringing it into CODAL from where it can use some of the hardware blocks of the nRF52833 (I don't think this can work on V1?). We need to test whether this then intersects badly with, say, existing code that uses the neopixel extensions. I'd imagine not as those are orthogonal implementations, but it might be nice in the fullness of time to bring the extension onto the same implementation.

CC @MannuLambrichts @sistemathead @microbit-carlos

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.