“Is it possible to build a screen to show images from a thousand BBC microbits?” mused BBC Learning Producer Jo Claessens. Sharing her thoughts with Geoff, this has resulted in the creation of an amazing 1,000 BBC microbit Display. The screen measures 2.2m by 1.4m and comprises of over 1000 of the pocket sized coding devices which will soon be delivered to every year 7 pupil in the UK.
Kitronik at the BETT Show 2016
The 1,000 BBC microbit Display is being featured this week at the Bett Show, the world’s leading educational technology event. Expanding the use of the potential of the BBC microbit is part of Kitronik’s role within the BBC microbit project and Geoff has certainly done that in transforming Jo’s thought into a reality.
“In mid- December 2015 I found myself in the BBC building at Media City in Salford chatting to Jo about various things relating to learning resources for the BBC microbit. Having updated each other on the status of the BBC microbit project, Jo asked would it be possible to build a screen to show images from a thousand BBC microbits, 40 pixels wide by 25 high. I thought for a moment and said, “Well I've seen people mount BBC microbits and make connections to them by bolting through the ring holes, so you might want to do that.” Famous last words!
Geoff adding the finishing touches to the display
I went on to say you could treat each BBC microbit as a shift register to get the data to the individual pixels and before I knew what was happening I’d managed to explain a complete solution of how it could be done. At that point I wasn't thinking that I’d be doing all the design and coding for the project, but that’s how it worked out! A week later I was at a BBC microbit all partners meeting at New Broadcasting House in London and having gathered together all the BBC microbits I could lay my hands on which at the time was just seven, I showed off a proof of the concept to the BBC. This was just a 3 x 2 display, but it did prove that it was possible to get one BBC microbit to send data to two other BBC microbits and for them to pass the information down the line to the next BBC microbit.
Whilst people were impressed by the demo there was still lots to do. I’d used wire with solder tags on them to make the connections. That was slow for 6 units let alone thinking about scaling it to 1,000! Also I’d written the software in Touch Develop which is how students will be programming their BBC microbits. We wanted to be able to do animations and that meant sending a full row of information out many times a second and to do that with a row of 40 units meant that the data needed to change at least 500 times a second. To get round this I swapped my row of 40 BBC microbits for a column of 25 and the Touch Develop coding for C. As I finished for Christmas, I’d been set up with the C coding environment, grabbed a bit of time on the work laser cutter and had a pledge of volunteers to do the big build in the January. I’d also been sent some more prototype BBC microbits. Because the partnership has been rigorously testing different designs of the BBC microbit, we were able to get our hands on some prototypes that weren't intended to be used at events or other activities to build our display.
Since Kitronik shut down between Christmas and New Year, I didn't have any proper work to be doing once I’d finished with the festivities so I was able to get on with an exciting project, a slightly bigger prototype of a 5 x 5 BBC microbit display. The important thing about this prototype was that it needed to run quickly and it needed to have the infrastructure in place to allow it to be scaled to a 1,000 BBC microbit version. This prototype and the final version have a system architecture that called for three different sets of code to be written.
Firstly there would be a master BBC microbit (orange on the diagram). This would hold all the data on the images to be displayed and convert these into serial messages that are sent out to a number of other BBC microbits. The master BBC microbit is also responsible for the clock that tells all the other BBC microbits when to read and when to write data.
The next stage would be a BBC microbit to drive 5 columns of data (green on the diagram). These line driving BBC microbits get the message in from the master BBC microbit and work out which part of the message relates to the columns that it is controlling. When the master starts driving the clock, these BBC microbits output data to the 5 BBC microbits on the bottom row of the display that they are connected to. Finally, the 1,000 BBC microbits’ pixels (blue on the diagram) would be coded so that, as the clock changes, they read in the data from the previous BBC microbit and slightly later send it on to the next BBC microbit in the line. 10mS after the no activity the BBC microbit either turns all the LEDs on or off to display the final value it was sent. By sending the data for the BBC microbit at the top of the display out first and the data for the BBC microbit at the bottom of the display out last and passing the information down the chain one by one, the line driver BBC microbit is able to set the 25 BBC microbits to the required state. With all the code in place the next task was to get the screen built and that was going to be a big task! Having timed how long it took to program a BBC microbit, secure the spacers to it with the 5 bolts, place the BBC microbit on a 10 x 5 panel, wire it up and test it, I knew that if I was to build it on my own it would take 6,000 minutes, and that would only get me the BBC microbits all mounted on to panels of 50 and not connected together or fixed to a frame!
Since working single-handed non-stop day and night for over four days wasn't realistic, we had to call on some help. Which is why on one Saturday in early January I found myself in the BBC R&D lab at Media City along with a load of volunteers courtesy of a bit of arm twisting by the BBC. Whilst I brought the laser cut plates, spacers, bolts and so on, the BBC brought the frame to mount it all on and the all- important 1,000 BBC microbits.
After a long day of transferring the program on to the BBC microbits, securing spacers and wiring all the connections up, hundreds of BBC microbits were interconnected and ready to go. What we hadn't managed to connect up were finished the following week.
"The end result is amazing and can be seen at the Bett Show. From an offhand command, great things can be produced and I am very proud of what the team at the BBC and I have achieved. I hope all of the visitors at the Bett Show 2016 like it!” 1,000 BBC microbit Display Matrix Key Facts:
Number of microbits used: 1009.
Number of bolts used: 5000.
Length of cable to wire it: 230m.
Visible screen width: 2.2m.
Visible screen height: 1.4m.
Maximum current consumption: 17A (at 3V).
Clock frequency: 500Hz.
Maximum frame rate: 12 frames / second.
Kitronik would like to thank all the volunteers that worked on the project, Spencer Marsden for his woodworking skills and BBC R&D (North Lab) for letting us build up the screen in their lab and for lending a hand with the project.