We occasionally churn out customized Spin-off from our official boards & designs to meet our client’s branding & requirements.
e.g. MBPP Penang MakeCode Arcade Standalone, Prince Royal College & various other Arduino Boards etc. ?
But this unique change request, I.M.H.O, deserves its own dedicated write-up. ?️ 

 

We had a really good run with our MakeCode Arcade series utilizing Microsoft’s MakeCode Arcade Framework; it successfully introduces Game coding through block programming to many of our younger audiences. ?

And when we created our second MakeCode Arcade product using micro:bits as its brain, more aspiring younger coders/S.T.E.M. scientists also jumped onto the moving bandwagon! The more, the merrier, as they said.

One fine day, we received a special request from a customer in the ?? UK. She (A British S.T.E.M. teacher with countless years of experience) would want a universal shield that could be used both as a standard MakeCode Arcade shield & at the flip of the switch, be used as a micro:bit accessory packed with a Color LCD and Switches under the micro:bit MakeCode environment.

(we will simply call it micro:bit mode from now on, to avoid confusion)

We thought about it for a while, & were tempted to opt-in to a “smart shield” design option, which would significantly increase the final device price tag. ?

Not quite desirable when we want to keep the price tag low for the students. If you ask me.
So instead, we added a low-cost 8-bit microcontroller to control a bunch of tri-state buffers to effectively redirect the flow of signals (bus) to the micro:bit.
At the same time, when the shield is in the micro:bit mode, the microcontroller will appear as an i2C device end-point which retrieves the button press information & control the I/O of the LCD.

 

Why go through all the complexity? You might ask. ?‍♂️
We wish to avoid jumping through huddles & do the extra work too, but unfortunately, the MakeCode Arcade environment (cloud compiler) is maintained by Microsoft in its server, and we couldn’t change the pin-out required by the generated game code.
Too many pins, including crucial pins have gone missing while in Arcade mode, the i2C pins too. ?
In other words, even the micro:bit’s onboard accelerometer & compass will also not function under the Arcade shield. Because the actual physical pins are used for the shift registers & other purposes under the arcade environment instead.

 

Overall it works out great… the i2C address of the microcontroller is set as 68(int) ~> 68 is a good number for Asians, I think. But when I convert it to hex… *face-palm* whatever…. “They will never know”

Here is a video showing one of our radar project uses the new shield:

** For those who are interested in the radar project with micro:bit, we are still documenting the step-by-step guide for all to follow, so stay tuned for our next post (most likely in the coming week). ? **

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Name *