The micro:bit matrix (2) – design

As the idea of building a micro:bit matrix germinated, I decided on the following principles / constraints / design considerations:

  • It had to use micro:bits.  No other micro-processors allowed.
  • In terms of the dimensions it had to be flexible – I didn’t want to lock it down to a specific x/y configuration.  The ideal was it would work with a variable number of micro:bits arranged in different rectangular shapes.
  • No cables allowed – info had to be communicated to micro:bits in the matrix (‘nodes’) over radio.  This means that a ‘server’ micro:bit would communicate image data and instructions over radio to the nodes.
  • Every frame / image was specified by the server – the nodes would not use pre-loaded images.
  • It had to ‘natively’ scroll images both left and right – specifically to support scrolling text.  On an instruction from the server a node will ‘scroll’ from one image in its buffer to an adjacent one, building and displaying each of the 5 interim frames needed to make the scroll smooth.  This is one of the features that separates this matrix from many others that have been released.
  • It also had to support animations.  I imagined the matrix being used to create ‘art’ and fun animations.
  • It had to be easy to use.
  • It would be designed in Python… this is mostly because I prefer using a text based language over blocks, and my familiarity with JavaScript is limited.  I used the Mu editor.

I honestly had no idea what I was letting myself in for… just how long it would take and how much I would need to learn along the way!

Next:  The micro:bit matrix (3) – nodes


The micro:bit matrix saga currently consists of 6 chapters: