Coding the BBC micro:bit with Edublocks

The BBC micro:bit is not short of programming languages. We can use blocks, Javascript, Micro Python and the legacy TouchDevelop, CodeKingdoms and Microsoft Blocks. But at the moment MicroPython a reimplementation of Python 3 for microcontrollers is enjoying lots of attention from makers across the world, and one of those makers is a 13-year-old who only learnt Python three years ago.

Josh Lowe, a maker and aspiring coder from the UK created his own block-based language called Edublocks back in 2016. The goal of Edublocks is to bridge the gap that children face when moving from block-based languages (e.g. Scratch) to text-based languages such as Python. Blocks of code are built in the same manner as Scratch, but the names of the blocks represent what they are in MicroPython, leading children to learn Python syntax while still offering the ability for them to destroy and rebuild their code with great ease. Edublocks has access to all of the components of the micro:bit, accelerometer, radio, LEDs, and every GPIO pin. There is even a built-in module for use with neopixels making it easy to use and remarkably quick to pick up.

Code written in Edublocks can be downloaded as an XML file for later use in another Edublocks session, Python for use with Python editors, and as a HEX file that can be easily copied to a micro:bit.

We can even see the code in two ways, the standard Blockly blocks, or we can click on the Blockly tag to switch to Python, and back again.

Josh was approached by the micro:bit Foundation in 2017 to port his block language to micro:bit and in early 2018 the project went live.

Edublocks is based upon Google Blockly language, and behind the scenes the blocks are converted into MicroPython using a Javascript engine that is invisible to the end user.

Edublocks for micro:bit is a great way for children to experiment with Python code while remaining comfortable with the block-based structure.

To learn more about Edublocks, and to have a go, head over to their website and have a go!

Leave your feedback...