100% found this document useful (2 votes)
1K views88 pages

Micro:bit Projects and Updates - Issue 3

This issue of the micro:bit community magazine micro:mag features several projects created by the community, news about the MakeCode and MicroPython editors, and tutorials. It also announces competitions to win add-ons by creating a speech or music project about micro:mag. The issue introduces the editorial team, reviews new add-ons, and previews an upcoming article on using the micro:bit with Scratch.

Uploaded by

Dorian Love
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
1K views88 pages

Micro:bit Projects and Updates - Issue 3

This issue of the micro:bit community magazine micro:mag features several projects created by the community, news about the MakeCode and MicroPython editors, and tutorials. It also announces competitions to win add-ons by creating a speech or music project about micro:mag. The issue introduces the editorial team, reviews new add-ons, and previews an upcoming article on using the micro:bit with Scratch.

Uploaded by

Dorian Love
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
  • Competition: Win a zbit:speaker!: Details the competition rules and how to enter to win a zbit:speaker.
  • EduBlocks BETA: Introduces the EduBlocks for micro:bit in its BETA version, explaining updated features.
  • Global Challenge Winners & Scratch Conf: Announces winners of the Global Challenge and provides details on the UK Scratch Conference.
  • Work at micro:bit + Scratch 3.0: Discusses current job openings at micro:bit and announces the scrapping of Scratch 2.0 in favor of Scratch 3.0.
  • Announcing BittyWeb: Highlights the introduction of BittyWeb applications for various classroom activities.
  • MakeCode Update: Provides insights into the latest updates and features of the MakeCode editor.
  • Scouts Digital Maker Day: Describes events and activities from the Scouts Digital Maker Day involving micro:bit.
  • Finding a Fit for micro:bit: Explores how micro:bit fits into current educational practices and future prospects.
  • 10 Amazing Projects: Showcases a variety of micro:bit projects from the community, highlighting innovation.
  • The Scratch/micro:bit Bridge: Describes the integration between Scratch and micro:bit, facilitating interactive programming.
  • Python Editor BETA: Explains new updates and capabilities of the Python Editor in its BETA phase for micro:bit.
  • Designing an Electronic Pet: Guides educators and students on creating electronic pets using micro:bit.
  • A Little Light Music: Converts micro:bit into a photosensitive sound machine with detailed instruction.
  • Managing the micro:bit Eddystone Beacon: Instructions on using micro:bit as an Eddystone beacon with URL advertisement.
  • Make Your Own Add-on Boards: Tutorial on creating custom add-on boards with household materials.
  • A High Five for Mr Boppy!: Shows interactive project Mr Boppy, involving unique user interactions with micro:bit.
  • Nerf and micro:bits: Combination of Nerf guns with micro:bit for enhanced gameplay experience.
  • Beat-Reactive Drum Lights: Describes a project making drummer lights reactive to beats using micro:bit.
  • Two-way Radio Emoticon Communicator: Tutorial on setting up a micro:bit for sending emoticons wirelessly.
  • For Scalable Blocks Press B: Introduces coding scalable blocks using micro:bit and Minecraft.
  • Speech Recognition on a micro:bit: Part 1 of a series on building a speech recognition system using micro:bit.
  • Create Your Own Flood Detector: Walkthrough of creating a micro:bit flood detector using simple tools and logic.
  • Meet the Foundation: Technical Team: Profiles of key technical team members keeping micro:bit functioning smoothly.
  • Pimoroni touch:bit: Reviews the Pimoroni touch:bit add-on for micro:bit with various functionality insights.
  • Pimoroni automation:bit: Discusses features and practical uses of the automation:bit module.
  • Adafruit Crickit for micro:bit: Evaluates the Adafruit Crickit as a powerful robotics extension for micro:bit.
  • 4Tronix Bit:Commander: Examines the Bit:Commander as a versatile controller for various micro:bit projects.

The unofficial micro:bit community magazine

Issue 3 [Link]
January 2019 @micro_mag

AMAZING
Projects
We showcase some of our most
loved micro:bit projects

In This Win a micro:bit addon | MakeCode Update | Scouts Digital Maker


Day | BETT 2019 | Make your own Add-On | Design an electronic
Issue Pet | Beat Reactive Drum Lights | Create a flood detector
Welcome to Issue 3 Team
Welcome to issue 3 of as well as a competition for Editor in Chief
Hi micro:mag! We have
another fun packed
issue for you today!
you to win a zbit:speaker
add-on for the micro:bit (more
details on page 6).
Kerry Kidd

We have been overwhelmed In the next issue, we will be Editorial team


celebrating our 1st Birthday!
once again by the number of
We cannot believe that we
Joshua Lowe
contributions that we have
received from the came up with micro:mag nearly Archie Roques
a year ago and the support we
community. A huge thank you
have received from the
James Bastone
to every one of you, without
you creating micro:mag community has been
would not be possible! outstanding. Thank you so
much for your continued Contributors
As well as all the usual patronage.
community contributions we
So, without further ado: grab a Martin Woolley
have a feature article
seat and a brew and get stuck Jacqueline Russell
showcasing 10 amazing
in to issue 3! Sam Watson
micro:bit projects by people
Rebecca Keough
within the community.
Alan Yorinks
Carlos Pereira Atencio
Additionally, we have the
Diego Fonstad
micro:bit news section,
tutorials, feature articles, the
Kerry Kidd Daniel Perks
Pradeeka Seneviratne
next installment of meeting
the micro:bit Foundation
Editor in Chief Tanya Fish
Eun Jung (EJ) Park
Michael Rimicans
Jackie Pease
Justaboutfine
Chris Penn
Meet the team Mr ZBit
Les Pounder
Jonny Austin
Kerry Kidd is a freelance programmer/educator who Matt Hillsdon
enjoys writing tutorials and tinkering with the micro:bit Mark Williams
Ross Lowe
Joe Finney
Sam Kent
Joshua Lowe is a young coder, creator of the
Kitronik
Edublocks tool for micro:bit and has done lots of
workshops around the world.

Contact us:
Archie Roques makes lots of different things, from
circuit boards to tables. Some of them even work! Website: [Link]

Email: hello@[Link]
James Bastone runs a local Makerspace and joined the
team because he genuinely enjoys proofreading articles. Twitter: @micro_mag
4

Issue 3: Contents
Cover Feature:
10 Amazing Python Editor
Projects BETA
Page 22 Page 36

Win a
Make your own
add-on
Page 52 Page 6

:news
EduBlocks BETA Winners & Scratch Conf
7 Try out the new EduBlocks! 8 Global Challenge winners are here!

Foundation jobs + Scratch 3 Announcing BittyWeb


9 Join micro:bit and try Scratch 3.0 10 Create Immersive STEM projects

MakeCode update Scouts Maker Day


13 The Makecode team fill us in 16 Learn how the scouts are using tech

Finding a:fit for micro:bit


18 Using micro:bit in the classroom

Cover Feature
10 Amazing Projects intro Projects 1-3
22 Welcome to our cover feature 23 Cubert, rocket cars & Invader game
4 Projects 4-6 Projects 7-10
26 Mega:bit, VR & hovercraft 29 Display, Bike sim, Guitar & Pong

:feature
Scratch to micro:bit Python editor Beta
33 Link your micro:bit to Scratch 2 36 What’s new in the BETA of the editor?

Design an Electronic pet


41 Explore physical computing

:make
A little light music Eddystone beacons
45 Make music with micro:bit 48 Use micro:bit to update a URL

Make your own add-on A High Five for Mr Boppy


52 Using household materials 54 Add interactions to your project

Nerf and micro:bits Beat Reactive Drum Lights


57 Hack a Nerf Gun with micro:bit 59 Visualize beats with LEDs

Two way emoticons ‘For scalable blocks press b’


63 Send emojis over radio 66 Hack minecraft with micro:bit

Speech recognition
69 Use a microphone with micro:bit

More Articles
Create a flood detector Meet the Foundation
74 Micro:hit returns for Issue 3! 77 Technical Team

:review
Pimoroni touch:bit Pimoroni automation:bit
79 Six handy touch sensitive buttons 82 Control up to 24v with micro:bit

Adafruit Crickit 4Tronix Bit:Commander


84 Make robots with this neat board 86 A neat little micro:bit controller
Competition
Win a zbit:speaker!
With zbit:connect, we are giving our readers the chance to win a
zbit:speaker add-on board! Judged by the micro:mag team.

How to win
We’ve got 2 boards up for grabs with 2 categories (UK Only):

1. Help us tell the world about micro:mag!


Use the speech module in MicroPython to get your micro:bit to talk about
micro:mag. Post a video on twitter using #micromagspeech by February
9th 2019 to enter.

2. Make a cool music project!


Use the music module in MakeCode or MicroPython to build a micro:bit
project. This has to be a new project
and not one that you’ve done in the
past. Post a video on twitter using
the #micromagmusic by February 9th
2019 to enter.

Rules + T&C’s
As with any competition, it is
important to read the Rules +
T&C’s which can be found here:

[Link]/comp-rules
7
:news EduBlocks BETA

EduBlocks micro:bit
A refresh of the EduBlocks for

BETA
The popular tool that
helps people make
gives people the
micro:bit editor is here in BETA
for you to try!
chance to update their
the transition from resources if they need
block based to do so. The main
programming to update in this new
Python has just version is the switch to
announced that an the Scratch 3 block
updated version is style which we is in
now available in the brand new
BETA for people to MakeCode update that
try out before it goes has just gone live. Try
fully live. This also it out today!
[Link]
8
:news Global Challenge + Scratch Conf

Global Challenge
Winners!
If you cast your mind
back to Issue 2, we
challenge. With
winners from Europe,
advertised the Asia, Africa, North
micro:bit Global America, Middle East &
Challenge. After Latin America, there
hundreds of entries are a whole host of
and rigorous judging, amazing projects that
the Micro:bit contribute towards the
Educational Global Goals and all of
Foundation have them are definitely
announced the worthy winners. Check
winners of the out the winners at the
link. [Link]/gcwin

UK Scratch Conf
2019!
Whilst not direct
The Raspberry Pi foundation have
announced a UK Scratch Conference!
not released tickets yet
micro;bit news, we for this event,
thought this was however, a call for
worth a share. The “content creators” has
Raspberry Pi been launched. So, if
foundation have you’d like to do a talk,
announced that the run a workshop, show
Scratch Conference off a project or hold a
is coming to the UK discussion session to
for the first time! The do with Scratch you
event will be held at can do so now. We
Churchill college in would love to see lots
Cambridge on the of Scratch powered [Link]/webusb
23rd-25th August
2019. They have
micro:bit projects here
too! Learn more using
[Link]/s-conf
the link.
9
Work at micro:bit + Scratch 3.0 :news

Looking for a job?


Micro:bit are Hiring!
The awesome 12 month fixed term
Micro:bit Educational position. The foundation
Foundation are hiring are a great bunch of
for developers! There people and if you are
are currently 2 roles looking for developer
open, Senior work and are passionate
Front-end Developer - about getting kids coding
Freelance (9 -12 then these are perfect for
months position) & you. Plus, the whole
Fullstack Developer - foundation are remote,
so apply now!

[Link]/workatmb

Scratch 3.0 is now


Live! Scratch 2 has been retired and replaced
with Scratch 3.0
This month, we said Scratch 3.0 in Issue 2.
bye bye to the flash The Micro:bit
version of Scratch, Education Foundation
version 2 and said have produced some
hello to the new and amazing coding cards
improved Scratch for you to get started
3.0. You may with Scratch 3.0 and
remember we had a the micro:bit. There
whole cover feature are also some handy
that had lots of links to other
information and resources too, check
tutorials about them out with the link.
[Link]/mbscratch
10
:news Martin Woolley
I love to code and make magic
things happen with Bluetooth
wireless communications and

Announcing was lucky enough to be


involved in creating the BBC
micro:bit as the team’s
Bluetooth specialist.

BittyWeb from @bittysoftware


[Link]

Bitty Software
Create the most inclusive and immersive STEM
lessons for the whole class with BittyWeb
The Bitty Software mobile applications for the
micro:bit have proved popular with teachers and
STEM ambassadors, allowing invisible physical
phenomena to be visualised and analysed using
Bitty Data Logger, robots to be programmed and
remote controlled using Bitty Controller and
coding exercises to be undertaken. The nature of
mobile applications and the policy many schools
have on the use of smartphones in class has
meant that these applications were only really
available to the adults in the room, typically
teachers. That has all changed with the
introduction of BittyWeb.

BittyWeb makes the most popular Bitty Software


applications available on PCs running Windows
10, Linux, Mac OS, Chrome OS and Android
devices, in all cases from within a web browser.
Yes, all you need is the Google Chrome web
browser running on a PC, laptop, tablet or
smartphone which has support for Bluetooth 4.0
or later and you are all set to run some of the
most immersive and inclusive science,
technology and coding classes ever! The BittyWeb applications
11 43
:newsBittyWebmicro:bit Global
from Bitty :news
Challenge
Software
To use BittyWeb, organisations need to register
for an account and subscribe to use the system
for a certain duration (e.g. 12 weeks) and with
support for a given maximum number of
concurrent users (e.g. 30 for a whole class).
Registering will result in an organisation
account being created and a user account for
the member of staff who will act as the system
administrator for their organisation. That user
can then log in and create as many standard
user accounts as they are likely to need,
Bitty Data Logger
typically one for each member of the class.
Standard user accounts are completely Bitty Controller allows you to use your web

anonymous, by the way. browser to control micro:bit connected machines.


A variety of user interfaces are available, so you
BittyWeb currently offers 4 micro:bit should find something suitable for your type of
applications including the popular Bitty Data machine. A classic game controller is perfect for
Logger and Bitty Controller applications and driving vehicles but there is also an analogue
two new applications, Bitty Polyhedra and controller which has a trackball you can push in
Bitty Event Monitor. any direction. This gives fine control of movement
in any direction and at a speed which depends on
Bitty Data Logger allows data from the
how far from the centre you push the trackball.
micro:bit’s internal sensors, including its
Finally, a collection of on/off switches allow you to
accelerometer, magnetometer and
switch on and off whatever you have connected to
temperature sensor to be captured and
the micro:bit.
charted in real time. You can also capture data
from things connected to the micro:bit edge
connector like the C02 sensor that was
featured in issue 2 of micro:mag. Data once
captured, can be exported for use in other
applications like spreadsheets.
Bitty Controller

Bitty Polyhedra allows 3D shapes like tetrahedrons,


octahedron, cubes and prisms to be reviewed and
rotated in three dimensions, controlled by gestures
12
:news BittyWeb from Bitty Software

made with a micro:bit. You get to see the


selected shape from all angles and really get to
know it. Bitty Polyhedra will help teach 3D
geometry.

Bitty Polyhedra

Monitor anything you like using your micro:bit


and report significant events to Bitty Event Further BittyWeb applications are planned though
Monitor and it will indicate whatever is going and we are always open to ideas.
on with the colour and text that you choose.
Perfect for class and group projects using the
Suitable for a huge range of classroom and
micro:bit, BittyWeb is available now. Sign Up for
maker projects, you could monitor
an account today!
temperature bands, atmospheric pressure
ranges or motion, for example. If you can
measure it on a micro:bit using the right code,
you can report it to Bitty Event Monitor for it to
indicate visually on your screen.
13
:news micro:bit MakeCode Update

MakeCode for the


micro:bit Update
Uncovering some new features of MakeCode
[Link]
Many of you have probably noticed a recent
Block UI update
change in the MakeCode micro:bit code editor.
You may notice that our blocks look slightly
The core principle behind this latest update was
different. To align with our other editors, we’ve
to include only incremental changes and
upgraded from Blockly to the new Scratch Blocks
improvements that would not be disruptive and
UI (which is a combination of Blockly & Scratch).
would not break any existing programs.
There are some nice improvements with this
In this article, we’ll cover some of the newest new rendering, notably:
features you’ll see in this update:
● Bigger blocks which make it easier for

Home Page users with touchscreen devices to drag

We’ve tried to make the getting-started and drop with their finger, and more
efficient use of block space.
experience more intuitive by creating a set of
step-by-step tutorials and making the example
projects more discoverable. We moved all the
content that was in the Projects menu before
into this new homepage experience.

Old block Style New block Style

New look Homepage


14
:news micro:bit MakeCode Update

● Different shapes for different data functionality with more intuitive plus (+) or
types – specifically boolean values minus (-) icons on the blocks to add or delete
(true/false) are hexagon shapes, and clauses.
numbers and text are round

Old style blocks with cogwheel

Showing the new data type block shapes

● A better indication of where blocks fit


together, and better snapping into
place

New style blocks with the plus (+) and


Showing how the blocks connect together minus (-)

Make a Variable
Cogwheel RIP
We got out the shovels, said a few words, and Based on feedback, we tried to make the process

then had a little party when the cogwheel died. of creating variables clearer. Now, you will

Most likely you used the cogwheel in your If explicitly click on the “Make A Variable” button in

Then Else blocks to add additional clauses. It the Toolbox to name and create a new variable

was an awkward interface that most people and the associated variable blocks.

didn’t know how to use. We’ve replaced this


15
micro:bit MakeCode Update :news
A big THANK YOU! to all the folks who have
helped with testing, logging bugs, and filing
requests – your feedback has been critical in
helping us stabilize and deliver a highly
performant, reliable platform.

Happy Making and Coding!


The MakeCode Team
Showing how to create a variable

Radio blocks
We made some slight changes to the Radio API’s
to make them simpler. Most people won’t
notice, but if you are an advanced Radio user,
you may see that we’ve reorganized the way we
receive radio packets – same functionality is
there, but made more explicit through
single-use blocks.

Floating point
This is probably the biggest change we’ve made
for this update. All you Math Teachers out
there, prepare to rejoice… we now support
floating-point arithmetic! This was a big
request – as many of you know, we only had
support for integers before. But now 3 ÷ 2 really
equals 1.5 (instead of 1)!
[Link]/donate

Showing floating points numbers working


16
:news Scouts Digital Maker Day at
Bradley Wood Activity Centre

Scouts Digital Sam Watson


Sam lives in Huddersfield and
enjoys coding in his spare

Maker Day at time. Sam takes great interest


in the micro:bit and raspberry
pi and goes to the

Bradley Wood Huddersfield Library Code


Club.

Activity Centre
Using micro:bit &
pi-tops
The Raspberry Pi Foundation partnered up with
Scouts to create a Digital Maker Badge. I was
lucky enough to go and help one of the leaders
run part of the event.

I recently went along to a Digital Maker day at


the Jubilee Centre at Bradley Woods Activity
Centre in Huddersfield. Scouts have been
associated with Bradley Woods since 1925! I was The Jubilee Centre at Bradley Wood where the
Digital Maker day took place.
asked to help because I go to the Huddersfield
First, a group of Scouts arrived and Michael (the
Code Club, and also because I am a Scout.
leader) explained what they were going to be
Michael (the volunteer who runs the code club)
doing with the micro:bit and Raspberry Pi. As I
asked me to help Beavers, Cubs and Scouts who
specialise with the micro:bit I helped the Scouts
were attending the event use the BBC Microbit
that had chosen to use them. The first task was
and Raspberry Pi.
to create an interactive badge. If you would like
to try this for yourself then you can find the link
The morning
I arrived at Bradley Woods Jubilee Centre and to the instructions for the code here. Then some

found Michael, who showed me around the Scouts moved on to a project called ‘Rate your

different rooms and also the main hall where mates’, which can be found here. Others

people had brought various technology along to experimented further with their interactive

show the Scouts. badge. Meanwhile, another group were using


Thonny Python to hack Minecraft Pi edition.
17
Scouts Digital Maker Day at
Bradley Wood Activity Centre
:news
They were creating giant areas of different to or near someone who didn’t know about it so
kinds of blocks including TNT which they would that they could help them. As these children
then blow up! were less knowledgeable about coding, they
spent longer exploring the Interactive Badge.
As well as Scouts, Cubs and Beavers using the
micro:bits and Pi Tops in the room I was in,
downstairs they were using stickman
animation, looking at robotics, and 3d printed
items. During the morning we had 3 groups of
Scouts visit the micro:bit room, I showed them
all how to use the blocks and download the code
Interactive Badge pdf from [Link]
to the micro:bit itself. Most of this group were
extremely knowledgeable about coding and Badge Presentation
At the end of the day all the Scouts, Cubs and
once shown were able to complete the task
Beavers went into the hall and were presented
easily. Then we all had a break for lunch.
with their Digital Maker badge. A Scout Leader
thanked everyone for coming and then I was
asked to stand up and go to the front of the hall
to collect my badge. After that, I spoke to the
man who had the 3D printers to find out the best
one. Finally, I helped Michael pack away all the
equipment that we had been using. I had a really
brilliant and amazing time helping others to
learn to code, it was a really great day! I hope you
enjoy using the Microbit to do either the
Interactive Badge or Rate your Mates.
BBC Microbit used on the Digital Maker Day to create an
Interactive Badge, or to do Rate your Mates.

The afternoon
Then in the afternoon, we had some Beavers and
Cubs come in too. They needed more help to get
going with the micro:bits as they were younger.
For the majority it was their first time coding –
some had not even heard of coding before! For
Rate your Mates pdf from [Link]
these children I found out if there was anyone
who knew a little about it sat next
18
:news Finding a:fit for micro:bit

Rebecca Keough
Finding a:fit Rebecca Keough ([Link]/T & MEd
G&T) is a Classroom Teacher
and Coordinator in NSW
Australia. Passionate about

for micro:bit @BeckKeough1


inquiry learning, PBL & HPC.

Educators are being challenged to reinvent how they deliver


a curriculum for the 21st Century, micro:bit might just fit
For innovation in education to occur here in will challenge us, yet will also grow our capacity.
Australia, it will require the re-augmentation of As a school located outside the proximity of
current practice and the diversification of main training, we have to travel to attend
lessons to include technology in an integrated professional development. There are a lot of
and authentic manner. Avoiding the stock innovative and inspiring things happening in
standard ‘silo’ approach to teaching and capital cities or in major centres, alas the
learning is of paramount importance in a time logistics and cost around attending these
where we work with a crowded curriculum that opportunities on a regular basis mean we often
demands authentic, 21st Century pedagogies. miss out.

However, the expectations on Australian Through working with the ACARA DTiF (Digital
Teachers to now teach the new Digital Technologies in Focus) Project in conjunction
Curriculum as at 2019 has a lot of educators with Project Curriculum Officer Kim Vernon, the
feeling very uneasy and some feeling conflicted staff at St Mary’s Primary School in Moruya have
as they face a future of working alongside their forged ahead to challenge these ideas and begin
students and moving away from practices where to explore the multiplicity of ways that the
the teacher is the expert. micro:bit and computer programming (both

Location & Learning plugged and unplugged) can enrich current


Our school is located in a rural area and we are practice in classrooms.
at the commencement of our journey with Growing & Gathering
utilizing technology at this new level of The project involved providing staff with
requirement. This is something that we realise mentoring from an ACARA representative who is
a digital expert. Kim modelled lessons in
19
Finding a:fit for micro:bit :news
classrooms, where teachers were privy to with the many ways that micro:bit could fit into
watching students in Year Four program a variety of learning areas. The lessons were
micro:bits to measure room temperature and incredibly high paced, with students working
light saturation within the scope of a Science quickly through the instructional sequence,
lesson. which demonstrated ‘end goal’ learning.

The integration of the micro:bit into Key


Learning Areas (KLA) was intentional, with the
important message to all involved being that the
use of technology of any kind needs to have a
purpose and not be disconnected from what
occurs in classrooms already.

Students work collaboratively to explore the micro:bit for the first


time.

Lessons involved the block programming on


MakeCode, whereby the students were
introduced to the notion of ‘buckets’ of
information, which they used to create the with
‘temperature package’. In the Year Five class
students used the micro:bit to create a word
game for an English lesson. Students in year 3
Witnessing the code on the screen and the ability to
were given the challenge to create an addition manipulate it quickly if it did not work ensured time for
reiteration and success
game, using pre-written code. The simulator on
the screen providing opportunity for ‘test and New Ideas & Next Steps
see’ before they uploaded the program to their This left one very big question begging; how do

micro:bit. Whilst younger students spent time we as expert educators emulate this kind of

exploring interactive robots to explore coding learning in our classroom? Our university

through a different lense. Students were highly degrees do not qualify us, nor do they equip us
engaged and the teachers were very impressed with the skills to teach these new requirements.
20
Finding a:fit for micro:bit :news
Daunting indeed. An interest to learn more ….. check. So now
what?
Breaking open discussion between staff,
facilitator and mentor through bringing in The next part of this journey will involve
lessons that had already been planned to engage working with staff to provide short sharp
teachers in discussions around embedding workshops where they can use the micro:bits in
rather than reinventing was key. This was well an authentic and integrated manner to give
received and it has certainly provided students the programming skills required,
provocation for staff to begin thinking about whilst walking alongside the staff in the
‘what next?’ as we began to think about the new classroom to deliver the kind of lessons they
digital curriculum in a new light. want their students to experience.
micro:bit we are finding the fit!
We often allow students time to engage in
pre-learning activities such as sand pitting or
tinkering, whereby they are able to look,
explore, discuss and discover through play. Why
can we not facilitate this for staff? Enter the
‘Teacher Tinker Table’.

[Link]/contribute
Engaging teachers in exploring micro:bits was
rewarding and challenging.

The micro:bits were programmed to play


‘Scissors, Paper, Rock’ and left on a table in the
staff room with the code for staff to explore.
Frustration as they played … check. Dialogue in
the staff room …. check.
micro:mag
needs you!
All of our content is written and
provided by community members.
We’re really keen to hear from anyone
who would like to contribute to the
magazine, whether you’re a seasoned
writer or just want to have a go.

Get in touch!
[Link]/contribute
hello@[Link]
@micro_mag
22

AMAZING
Projects
This issue, we wanted to showcase some of our favourite micro:bit
projects we have recently seen doing the rounds on Twitter and in the
community. The amazing projects our community gets up to is really what
makes the micro:bit amazing and unlike any other microcontroller out
there.
Whether it be in Schools, at home or at a club, the micro:bit is powering
tons of cool projects like LED cubes, there is no shortage of cool projects
with the micro:bit. So, without further ado, in no particular order, let’s get
into some of our favourite micro:bit projects!
23

Cubert
Made by:
Lorraine
Underwood

What is it?
Cubert is an amazing 8x8x8 3D
LED cube built by maker
extraordinaire Lorraine
Underwood. This dazzling
project features 512 LEDs
soldered onto a custom PCB that
are encased inside a ping pong
Cubert in action! Photo: Paul Beech ball. Each LED is fully
programmable and addressable,
so you can give it an RGB value
and have each LED turn a
custom colour of your choice.
Cool, eh? Lorraine says: “It is a
How does it work? metre cubed in size. It breaks
down into individual columns
Cubert has 512 Neopixels which are tiny that can be transported in the
LEDs soldered onto a PCB. In cubert one, boot of my car.” You may have
Lorraine hand soldered these LEDs onto a seen Cubert at events like Maker
custom PCB, this was very temperamental Faire UK or Raspberry Fields last
and there were “lots of loose connections”. year. Cubert has been built twice
In Cubert 2.0, Maker company Pimoroni with Cubert 2.0 being the one
donated some redesigned PCBs in which that rectifies the lessons learnt
lorraine used Copper Rods to hold the cube from the first. Building Cubert
together and connect the PCBs. The cube is was a long and tedious project,
mainly controlled by MakeCode’s NeoPixel as you may have seen on
extension for the micro:bit, but can also be Twitter, where Lorraine posted
controlled via a Raspberry Pi or Arduino. regular updates on building
cubert at @LMcUnderwood.

Find out more


Lorraine did a talk at Raspberry Fields here:
[Link]/cuberttalk
24

Race for the line


Made by:
Bloodhound
Education

What is it?
You may have heard of the
Bloodhound land speed record
attempt car, well in 2016,
Bloodhound Education and
partners brought a competition
to Secondary schools in which
they could build a model out of
Look at them go! Picture: Bloodhound Edu
polystyrene which was cut and
designed to how the participants
wanted and then raced.
Bloodhound say “Inspired by the
rules governing the World Land
How does it work? Speed Record attempt that the
1,000 mph BLOODHOUND
Students get given a polystyrene block that Supersonic Car is targeting, the
they can model into a design and shape of model rocket cars must blast
their choice. A hole in the centre of the car along a wire and through a set of
is cut out to hold a micro:bit in a custom timing gates with a BBC
built case. On this micro:bit is the Bitty Data micro:bit on board gathering
Logger hex file (learn more about Bitty vital data that enables the Teams
software on page 10) which will connect to to modify and improve their
a phone via bluetooth. This tracks the designs.” Another cool thing
accelerometer data from the micro:bit and about this project is others got
displays it on the phone via a handy little creative with testing out their
graph. We think this is a great project to get projects, by building timing
kids involved with the micro:bit and STEM. gates using a micro:bit, serial
data and infrared sensors, like
this project by Les Pounder :
“micro:bit Infrared Timing
Find out more Gate”
Visit the Race for the Line project here:
[Link]/raceforline
25

micro:bit Invaders
Made by:
Stu
Lowe

What is it?

micro:bit invaders is an amazing


project made by Hong Kong
teacher Stu Lowe. Stu is always
making amazing things with the
micro:bit and we love this
cardboard craft project that is
powered by the micro:bit. It
The project in its full form. Photo: Stu Lowe consists of 11 micro:bits in total
which are all programmed in
Microsoft MakeCode for
micro:bit. This recreates the
How does it work? classic game by having the
ghosts appear on the top row of
The 11 micro:bit’s that make up micro:bit micro:bits and the shooter on
invaders are all coded in MakeCode. All of the bottom row. It also features
the micro:bit’s are connected up via the a neat little controller box that
radio functionality of the micro:bit. It’s has a micro:bit acting as a timer
split up into 5 different programs, one for as well as controlling the
the controller, ship, alien, score and joystick to move the shooter
another for music. The controller acts as along the bottom and a blue
the hub for the other micro:bits and button to fire. Another micro:bit
communicates via wireless radio, telling all is also placed at the top which
the micro:bits what to do and when. counts the current score of the
game. We think this is a really
impressive mix of technology
and crafts!

Find out more


Stu recorded a video on Twitter showing the
project here: [Link]/mbinvade
26

mega:bit
Made by:
Andrew
Gale

What is it?
The Mega:Bit is a scaled up
micro:bit, it features the 5 x 5
LED matrix and buttons, just like
the normal micro:bit. Best of all,
it is fully functional. The
mega:bit was developed for use
in the classroom as a prop to
The original mega:bit. Photo: Andrew Gale
show students how a micro:bit
works. It is all controlled by a
very complicated looking PCB
which has 25 big LEDs in which
are then encased by an acrylic
How does it work? micro:bit. However, the wiring is
quite complicated as not all the
The micro:bit is slotted into an edge LED signals are broken out on
connector which is connected to a PCB with the micro:bit’s edge connector,
wiring for the big LEDs and buttons. Some so this is something that would
of the LEDs from the micro:bit are directly be quite difficult to build at
read from the pins of the edge connector, home. Fear not though, Andrew
however, some of the LEDs are not broken is planning on taking the
out so you have to carefully solder wires mega:bit to market with an
directly onto the LEDs which is very fiddly. updated version that should be
At the end though, it all comes together as a easy for everyone to make
neat little package for a fully functioning themselves! The original plan
large micro:bit. for the mega:bit was for it to be
controlled by a Raspberry Pi as
the micro:bit was not available
when this project was made,
Find out more however, David Whale, who had
access to one at the time,
Andrew has written a post on his blog here:
stepped into help with making
[Link]/megabitpost
this fully micro:bit powered.
27

DIY VR with micro:bit


Made by:
Colin
Ord

What is it?

VR headsets can be very


expensive, so why not make
your own? Well, Colin Ord did
just that! He’s taken a Google
The VR headset. Photo: Colin Ord Cardboard VR headset, a HDMI
display and 2 micro:bits to make
his own. The main part of the
project is the head tracker which
uses a micro:bit and it’s
accelerometer to track the
How does it work? movement of the headset.
Instead of using a phone (which
The headset uses a Raspberry Pi to show the is what normally gets used with
animation on an LCD display. 2 micro:bit’s the Google cardboard), Colin
track the position of the headset with one used an LCD which was powered
connected to a visual basic program by a Raspberry Pi. He used Blitz
running on a laptop which outputs the 3D to create a 3D scene which
accelerometer value of the micro:bit can be interacted with when
connected to the headset and sends the using the headset. The
data via real time serial data to the visual micro:bits output their data via
basic program. The micro:bit’s are serial which is then read to
programmed in MicroPython using the Mu create a realistic feel. Just like
editor. normal VR headsets, the
visualization is split up into 2
parts, one slightly offset from
the other to create a
Find out more stereoscopic feel.
Colin has written a blog post here:
[Link]/vrheadset
28

micro:bit Hovercraft
Made by:
ElecFreaks

What is it?

We have all seen micro:bit


powered robots before, they are
everywhere! But what about a
micro:bit powered hovercraft?
Look at them go! Picture: Bloodhound Edu Well, the folks over at
ElecFreaks have made this
awesome hovercraft that you
can build yourself. Using their
neat little micro:bit motor driver
How does it work? board, they have taken some cut
out foam, 4 motors, propellers a
The hovercraft sports a foam board, motor micro:bit and their driver board
controller, 4 hollow cup motors, 4 to create a hovercraft that can
propellers, batteries and a micro:bit. This run on ground or even in water.
project also features a controller which is The great thing about this
really cool, this is powered by another project is that it’s really simple
micro:bit. This uses the ElecFreaks to build at home and it is cheap
Joystick:bit which is a DIY soldering kit that too yet at the same time it is a
allows you to make a nice little controller fun little project that can get
for things like this. It is all programmed in anyone engaged with coding
MakeCode and the 2 micro:bits and the micro:bit.
communicate over Radio.

Find out more


Learn how to build your own at:
[Link]/hovercraft
29

1000 micro:bit Display


Made by:
Kitronik and
micro:bit partners

What is it?
Imagine if you had a wall made
from micro:bits that you could
scroll your name on and make
large scale games. Well, the folks
over at Kitronik built a huge
The 1000 micro:bit display doing it’s thing. display of 1000 micro:bit’s all
Photo: Kitronik connected together to let you
play games and scroll text on
this huge display. Countless
hours and huge amounts of
effort went into this. It was
How does it work? originally built for the first
public showing of the micro:bit
back in 2016. The result is
The way it all works is that there is 1 master phenomenal, Kitronik often take
micro:bit that uses serial to talk to 8 other this to events like Makerfaire UK
micro:bits, each of these pass a message and BETT (the show it was
onto 5 individual micro:bits at the bottom originally made for). When at
of the display and these are relayed up the these events, it runs a number of
display in columns and gives an amazing different demos from Space
result of a display made from 100 invaders to just scrolling text.
micro:bit’s on which you can play games, This project is the work of many
display images and scroll text. volunteers linked to the original
BBC micro:bit project and it took
a few months of testing and
numerous smaller prototypes,
but this display is always a huge
Find out more hit at events we have been to
and seen it at.
Kitronik wrote a post about the process here:
[Link]/1000mb
30

MicroBike
Made by:
Musab
Kılıç

What is it?

This project allows you to


control PC games using a
The micro:bike controlling a game micro:bit as the game controller.
The micro:bit is used to show
directions and get acceleration
data. It was developed by Musab
Kılıç to show on Istanbul Maker
Faire. Musab plans to make the
project available by creating a
How does it work? interface for everyone to use it
for any game or software.
The micro:bit is connected to a computer by
a USB cable. A program runs on the
This is an ideal project for those
computer, which uses David Whale's bitio
of you who want to build
module, to get information from the
cheaper versions of game
micro:bit. The program simulates key
controllers for games like train
presses on the computer to control other
or flight simulators. As Musab
programs, such as games. To send these
has not created the interface as
keypresses to the computer, the
of yet for people to easily create
PyUserInput library, "a module for
their own, all the code is on
cross-platform control of the mouse and
GitHub and it should be easy to
keyboard in python"
adapt into any type of controller
you’d like.

Find out more


Visit Musab’s website here:
[Link]/microbike
31

micro:bit Midi Guitar


Made by:
David
Whale

What is it?
The micro:bit MIDI guitar is a
musical instrument. You can
Pictures
play music on it just like a real
of the
guitar. It is made from two
guitar and
pieces of wood left over from a
it’s wiring.
wardrobe and is decorated with
a number of strips of copper
Credit:
tape (slug barrier tape), uses two
David
Kitronik breakout boards, and
Whale
two micro:bits. It simulates a
single string on a guitar, which
is enough for most pop songs!
But, it does not generate any
How does it work? sound itself! Instead, it connects
to a computer via a USB
One micro:bit senses the left hand frets,
connection used as a MIDI
and the other senses the right hand touch
(Musical Instrument Digital
pads and also sends MIDI messages to the
Interface) instrument, and can
computer. Touch inputs on the micro:bit
be used with any music
are resistive touch, so you have to hold the
production software (David used
GND connection to complete the circuit. On
Garage Band, which is
the back of the wood is a long strip of
pre-installed on Apple Mac). So,
copper tape connected to the GND pin on
it is really just an input device.
the micro:bit, and putting your thumb here
In the future, David wants to
naturally completes the circuit.
add more left hand pads (giving
a wider note range), add a
'palm mute' pad to improve
playing style and add a
moveable capo mode.
Find out more
Visit the GitHub repository:
[Link]/midiguitar
32

micro:bit TV-Pong
Made by:
Nigel
Kendrick

What is it?
Play the classic Pong game on a
TV (composite video) - using BBC
micro:bits as paddles! Using a
Grant Searle’s pong game for
the Arduino, Nigel has hacked
Cubert in action! Photo: Helene Virolan the existing code to use 2
micro:bit’s as up and down
paddles for the game. The aim of
this project is for use in STEM
coding workshops using
micro:bit’s as the game paddles.
How does it work? The micro:bit’s are wired to the
Arduino (a custom one built on
The project consists of a custom arduino some stripboard). Nigel used the
with an ATMEGA328. This has a composite micro:bit’s edge connector to do
video out cable that plugs into a PC. 2 this. The micro:bit’s can send a
micro:bit’s are used as paddles and these few different commands to
are connected via the edge connector to the control the Pong game like, Left
arduino via cables, you can also use it player down/up, Right Player
wireless though if you wanted. In the up/down. Nigel has also
GitHub repository, the 'paddle' files use the produced a few different
A and B buttons on the micro:bit as digital version of this project, for
paddle controls. The code is written in example, you can use the
MakeCode so will be easy to adapt. Paddles remotely using the
Radio feature on the micro:bit or
you can use the Bitty controller
software via bluetooth too.
Find out more
Visit the GitHub repository here:
[Link]/tvpong
33
Alan Yorinks
:feature Outside of the office Alan likes to
read mystery novels, go to the
gym, and volunteer as a literacy
tutor for adults. On a warm
sunny day, you might find him
in the rough, foraging for a little
@BrassFigLigee white ball that refuses to stay on
[Link]/MrYsLab the fairway.

s2m - The
Scratch/
micro:bit
Bridge
The Why, What and How of s2m.
In a time, long, long ago, - well not all that long program that would allow Scratch to control a
ago – 2013 to be exact, I had discovered the micro:bit, similar to some of the work I have
Scratch programming language. Roughly at the done for Arduino and Raspberry Pi
same time, I discovered the world of microcontrollers.
microcontrollers. “Hmm”, I thought, “wouldn’t
it be great if I could use Scratch to program and Not knowing much about the micro:bit, I

control the microcontroller”? Little did I know purchased one to see what all the fuss was about.

that this innocent pondering would eventually I could not believe what an amazing little

lead to the development of s2m, the Scratch to microcontroller it turned out to be! It is packed

micro:bit bridge. with functionality, it’s easy to program and it’s


easy to use. Best of all it is inexpensive.
Installing
If you would like to run s2m on Windows, The What
Raspberry Pi Raspbian, or macOS as you read So, I immediately got to work on s2m, making

this article, full installation instructions can be sure that it would be compatible with Windows,

found at [Link] macOS and Raspberry Pi. Connection to the


micro:bit is accomplished using a USB/serial
The Why cable because not everyone has a Bluetooth
In the fall of 2017. I received an email from a interface on their computer.
user asking if I would be willing to create a
15 34
:feature The Scratch/micro:bit :feature
Micro Simon Bridge
In a nutshell, when you start the s2m program, it ● Spanish
launches Scratch and then connects to your ● Traditional (tw) Chinese
micro:bit.

These blocks can be loaded at startup by simply


Scratch is loaded with custom blocks that allow providing a command line argument to select
you to: the language of your choice.
● Choose and display standard micro:bit
images If you would like to submit blocks translated to
● Scroll text on the display your native language, you can find instructions
● Control any pixel on the display, including on how to do so in the s2m User’s Guide at
its intensity [Link]
● Clear all the pixels on the display
● Detect when button A or B is pressed
● Detect the 4 tilt directions
● Allow you to connect external analog and
digital input devices to the micro:bit and
have Scratch read the values.
● Allow you to connect external analog
(PWM) and digital output devices to the
micro:bit and have Scratch set their
values.

A Scratch block translated for various


The s2m Scratch programming blocks. languages.

Thanks to the generosity of the s2m user Once Scratch appears on your screen, you create
community, s2m comes with blocks translated an s2m project just like you would any other
to: Scratch project, except you will find the s2m
● Brazilian-Portuguese blocks under the More Blocks section of Scratch.
● Hebrew
● Japanese Here is a screenshot of a demonstration
● Korean program, provided by Edson Sidnei Sobreira,
35 15
:feature Micro Simon Bridge :feature
The Scratch/micro:bit
that is included in the s2m distribution. By myself.
tilting your micro:bit, it allows you to move and
interact with a Scratch sprite. Want More Information?
An online User’s Guide is available that explains
how to install and use s2m. You can find the
guide at [Link]

Why not give it a try? See what get creations you


can make by combining Scratch with micro:bit!

Questions or Comments?
A demonstration program included with s2m, that controls the
motion of a Scratch sprite by tilting a micro:bit.
Questions and comments are always welcome.
You can find my contact information on my
The How
Github page shown at the top of this article.

The components of s2m.

The s2m program consists of 3 major parts – the


Scratch 2.0 offline editor, the s2m Python code
that runs on your computer, and a custom
MicroPython script flashed on to your micro:bit.

Don’t worry if this all looks and sounds a bit


complicated. When you launch s2m, it will start
everything for you automatically. Just start s2m,
and you are ready to have fun programming a
Scratch/micro:bit creation.

By the way, I mentioned that s2m uses the off-line


version of Scratch. You might be wondering why?
The reasoning behind this is, that not everyone
has a reliable or fast internet connection. By
using the off-line version, virtually everyone can
use s2m, including Raspberry Pi users. Pretty
neat, if I do say so
36
Carlos Pereira Atencio
:feature Carlos first encountered the
micro:bit at a Python meetup 3
years ago and immediately got
hooked. He is now a Software
Engineer at The Micro:bit
Educational Foundation.

@carlosperate

Python Editor beta: Connect


your micro:bit to the browser
The beta version of the editor allows you to
program your micro:bit with a single click and
access the REPL from the web.
If you follow the Micro:bit Foundation Beta
You Will Need: Programmes ([Link]
- A micro:bit
- A USB cable you might be already aware of the new WebUSB
- Chrome v65 or newer features on the MakeCode and Python editor.
WebUSB is an exciting new standard that
Wouldn’t it be great to program your micro:bit
provides access to USB devices directly from the
directly with a single click or access the REPL
web. This means you can connect your micro:bit
from your browser? Thanks to WebUSB we can
directly to the online Python Editor, opening a
do just that, and we will show you step by step
new world of possibilities, like direct flashing
how easy it can be.
and connecting to the MicroPython REPL.

You might be familiar with the online Python


Preparing your micro:bit
Editor, but did you know there is a beta version The first thing you will need to use WebUSB is
with exciting new features?!
37
Python Editor Python
beta: Editor BETA :feature
to update the firmware in your micro:bit. The Editor is easy, just go to
micro:bit has two microcontrollers: the main [Link] and you
nRF51 where all your programs run, and a can start coding right away ☺. If you are using a
secondary microcontroller (next to the battery WebUSB-enabled browser, you will notice there
connector) which handles the USB features. The are two new buttons on this version of the
micro:bit firmware runs in this secondary editor: “Flash” and “Open REPL”.
microcontroller and updating it to version 0249,
or newer, will enable the WebUSB functionality.

Let’s update it following these easy 4 steps:


● Download the latest firmware hex file
from
[Link] (at Flash and Open REPL are the two new WebUSB features

the time of writing is version 0250)


These two buttons expose the new WebUSB
● Plug your micro:bit to your computer via
features, and as their name implies you can
USB while pressing the reset button, this
flash your micro:bit directly from the browser or
will enter MAINTENANCE mode
open a MicroPython REPL session.
● Drag and drop the downloaded firmware
hex file into the MAINTENANCE USB drive,
Please remember that this is beta software, the
the back LED should flash while the file is
UX is not quite finalised yet, the editor might
being copied
contain bugs and sometimes it might break, but
● The micro:bit will reboot back into the
that is half the fun of living on the edge!
normal MICROBIT mode. You can open the
[Link] file to check that the
On that note, if you like finding bugs and
“Interface Version” has been updated
helping The Foundation make the editors better,
you can become a micro:bit tester by signing up
WebUSB compatible browser
The WebUSB standard is still in Editor’s draft to the Beta Testing Programme at

status, and at the moment only Chrome has [Link] Your help and

implemented the API. To use WebUSB with the feedback are invaluable, and you can help shape

online Python Editor (or MakeCode) make sure these tools.

you use Chrome version 65 or higher.


Pairing the micro:bit
Before any of the WebUSB features can be used
Python editor beta version
Trying the beta version of the online Python the micro:bit has to be paired with the Chrome
browser.
38
:feature Python Editor BETA
Clicking on the “Flash” or “Open REPL” buttons directly with a single click? Thanks to WebUSB
will open the pairing window. The micro:bit will we can do just that!
appear with the name “BBC micro:bit
CMSIS-DAP”. To flash your micro:bit simply click on the Flash
button, you should see a progress bar covering
the editor and a few seconds later your new
program should start running on your micro:bit.

Flashing a micro:bit directly via WebUSB.

Chrome browser pairing window.


MicroPython REPL with WebUSB
Select your device and click “Connect” to finalise The MicroPython REPL (Read Evaluate Print
the pairing. Every time you try to use the “Flash” Loop) allows you to type code in a serial
or “Open REPL” functions it will ask you to pair, connection with the micro:bit and execute it
but don’t worry, this is a temporary instantly. This is a very interactive way to
implementation, in future versions of the beta explore the micro:bit with Python, to quickly test
editor, you will only need to do this once per code and, to discover the available functionality.
session.
Until now, to access the REPL you needed to
Flashing with WebUSB install a serial terminal or application on your
If you have used the micro:bit before, you are
computer and figure out which serial port
probably familiar with the flashing process from
corresponds to the micro:bit (or use a desktop
the online editors. You click the “Download”
editor like Mu [[Link] but now
button to get a hex file, and then drag and drop it
thanks to WebUSB it couldn’t be easier! Click on
into the micro:bit USB drive.
“Open REPL” and the editor should be replaced
by the REPL view. You can start typing code here,
Wouldn’t it be great to program your micro:bit
37
39
Python Editor Python
beta: Editor BETA :feature
send it to the micro:bit and, immediately get the ● `machine` and `micropython` modules
result! added with helpful functions from
upstream MicroPython
● Pins can configure the internal
pull-up/down resistors
● New calibration UX
● Light sensing capabilities added to the
display module

Troubleshooting
REPL view on the online beta Python Editor.
Keep in mind that as beta software, there are
still a few rough edges that need to be polished
Not only that, but the REPL offers
before it is ready for a public release, and it is
autocompletion. Start typing a variable,
quite possible some things might not work
function, module or method, and press the “TAB”
exactly as expected. The following support
key to see all the available options.
article contains a list of known issues with
MicroPython v1.0
At the moment the version of MicroPython WebUSB and workarounds or fixes, so if

included in the beta editor is the same as the one something doesn’t work quite right, check that

included in the normal editor. However, new article first. If your issue is not already there,

beta versions of MicroPython are coming and please open a new ticket in the support website.

they will be added to the beta editor first, so keep We will love to you help you and it will also help

an eye for interesting new features in this area anybody else going through the same problems.

as well. It is also worth noting that the official [Link]/webusb


v1.0.0 of the micro:bit port of MicroPython was
released last September. Here are a few things
Happy Coding!
this release included since version v0.9:
● Tons of bug fixes
● Better copy/paste on the REPL
● NeoPixel module is now compatible with
ws2812b-mini devices
● Errors scrolling on the display can be
terminated with a Ctrl+C on the REPL
● Running `help(‘modules’)` gives you a list
of all available modules
Get fresh copies
of micro:mag
delivered to
your inbox n issue
i s s a i t y
r m m u n
e v e c om ers -
o u n l v
r e y i c i a t l o i t ’ s
s u n o f f o : b i a s
e r n
Mak the u r mic as soo spam
f f o s s u e v e r e
o zi n e c h i ’ t e y o n
g a e a w o n a n
ma email w e a i l s t o
l d t
we’l sed (an our de
l e a e y
re r g iv
o u o
y
l s e )
e

To sign up, go to
[Link]/email
41
Diego Fonstad
:feature Diego Fonstad is the co-founder of
Imagination Supply Co. a Benefit
Corp whose mission is to

Designing an encourage children to explore


STEM through hands-on projects.

@lectrifyit

Electronic Pet [Link]

Explore physical computing with your micro:bit


using an engaging and flexible framework built
around the theme of an electronic pet.
possibilities, but that can be both a blessing and
You Will Need: a curse: where to start? We’ve developed a
- micro:bit
- bit:booster curriculum sequence around the concept of
building an electronic pet that provides an
I have been working closely with educators since engaging foundation for exploring the full
2011 designing hands-on projects and a range of possibilities of the micro:bit and
universal goal is to create a curriculum that is bit:booster.
engaging and relevant to students while
providing a vehicle for teaching foundational Students start with a simple prompt “build an
concepts. One guiding principle we often follow electronic pet using only the micro:bit and
was coined by the inventor of Logo and pioneer bit:booster.” This leads to a discussion around
of constructionist education, Seymour Papert, what characteristics they want to build into
who said projects should be designed around the their “pet.” This discussion provides an
principle of “low threshold, no ceiling.” We opportunity to explore the capabilities of the
designed the bit:booster with this in mind and micro:bit and bit:booster in the context of a
the ePet project is an engaging project that is specific goal: how can they be applied to their
easy to use outside of the box but also allowed pet?
students and educators to extend and explore
every dimension of physical computing: coding, Feature Type Description
digital design, mechanical engineering and even 5X5 LED Output The micro:bit has a 5X5
matrix red LED matrix
AI and our relationship with technology.

2X5 Output The bit:booster adds


The micro:bit is a powerful platform, enabling NeoPixel 2X5 Neopixel matrix
open-ended projects with almost unlimited
42
:feature Designing an Electronic Pet
Piezo Buzzer Output The bit:booster adds a
on Pin 2. NeoPixels are individually addressable
piezo buzzer for
playing music and are sequenced left to right, top to bottom on
the bit:booster. Don’t forget that the lights don’t

Buttons Input The micro:bit has two need to be static. By creating sequences of lights
buttons for input students can animate the face.

Light Sensor Input The 5X5 LED matrix The bit:booster adds a piezo tone generator to
can be used to the micro:bit and the bit:booster uses the same
measure the light
level ( default P0 for the piezo. Students can explore
how different sounds can be used to generate
Accelerometer/ Input The micro:bit has can
moods and give their ePet personality.
gyro/ Compass measure acceleration,
pitch, roll and
compass direction. CARE AND FEEDING OF THE ELECTRONIC PET
THROUGH THE INPUTS
The accelerometer provides many opportunities

Temperature Input The micro:bit can for interacting with the virtual pet allowing for
Sensor measure temperature different reactions whether mildly shake or
in celsius
dropped suddenly.
Building upon the above list, students
brainstorm how to apply the inputs and outputs The light sensor can be used to explore how the
to their own electronic pet (ePet) program. pet responds to the dark and may be used as a
way of letting it “sleep”
OUTPUTS GIVE THE ELECTRONIC PET
PERSONALITY The buttons can be used to emulate concepts like
The LEDs and NeoPixels are quickly identified as feeding and bathing like a Tamagotchi pet.
a possible face. Students next need to decide the
direction of their ePet. If the ePet is upright, the The power of the ePet project is how open-ended
NeoPixels can be eyes and the 5X5 LED matrix it is and can be driven by the students. It can
can be the mouth. Upside down, the 5X5 matrix also be build upon incrementally. Students can
becomes an eye and the NeoPixels become the start with simple ePets of only a face responding
mouth. You’ll be surprised how expressive and to simple inputs. As they evolve their pets, they
creative children can be with the LED & NeoPixel can evolve their coding to more complex
palette. concepts such as storing variables to track how
many times the pet is “fed.”
The micro:bit LED matrix is controlled using the
standard MakeCode blocks and the NeoPixels are
43
Designing an Electronic Pet :feature
Here's a video of a relatively
advanced-coded pet using only the bit:booster
and micro:bit  [Link]
Here's the sample code in
MakeCode [Link]
3jCgaE6F0

This project can become a jumping point to more


advanced coding and design by adding motors,
sensors and add-ons. There is even a Design
Thinking extension of this project where
students explore therapy robots and use the
knowledge they gained from designing their
ePet and the Design Thinking process to design a
therapy robot.
Help us cover
the costs of
micro:mag
micro:mag is run by a team of
dedicated volunteers - but we still
need to cover our costs. Donating
helps us continue to deliver the
community micro:bit magazine free
of charge.

Donate on
:
[Link]/donate
45
David Perks
:make
David is an artist maker who
has added electronic junk
and microprocessors to his
palette.

@pdbperks
[Link]

What can you achieve with the smallest number of code blocks?

A little light music


Turn your micro:bit into a photosensitive sound
machine
that would challenge a microPython or Arduino
coder. Learn about the alternative functionality
You Will Need:
₋ micro:bit of LEDs and become a confident hardware
₋ Earphones hacker.
₋ Paper
₋ Thin wire
There are already guides to attaching
headphones to the micro:bit and using the light
Three blocks of code and an earphone are
sensor to create sound. This article will show
enough to create this musical instrument. Or
you how to achieve impressive results with the
perhaps you will use it as a directional sensor in
minimum of code and a rather neat hardware
a maze game. Its potential is up to your
solution.
imagination. One of the delights of the micro:bit
is the ability to explore complex ideas using Software:
simple software and hardware solutions. Use Use MakeCode.
the MakeCode editor to create a program 1. Start a new file. ‘on start’ and ‘forever’
46
:make A Little light music

blocks are automatically created.


2. Drag the ‘on start’ block onto the menu; it
becomes a bin; let go and delete it.
3. Click on Music menu; select ‘ringtone
(Hz)’; drag it into the ‘forever’ block.
4. Select Input menu; scroll to the bottom
and select ‘light level’ block; place this
block in ‘ringtone (Hz)’ block in the slot
that currently reads ‘Middle C’.
5. Save the project, open the save folder,
An early prototype using a food tie.
copy the file to the micro:bit.
The large pin sockets are slightly larger than a
Hardware: headphone plug: so use a thin strip of paper, the
One of the prime features of the micro:bit is its 5 width of the socket, and fold it back on itself two
x 5 array of light emitting diodes. This allows or three times. Use this strip to wedge the plug
low resolution but effective visual firmly into the GND socket. The paper will
communication to be delivered without insulate part of the plug but there will still be
additional hardware. The designers have taken enough contact for the circuit.
advantage of an interesting property of the LED;
it will generate an electric current if a light is Connect a thin wire from Pin 0 to the tip of the
shone on it. It is the LED array that provides headphone plug. If you do not have thin wire, try
MakeCode’ ‘light level’ reading: there is no need using a coated food tie. This is actually a good
for an additional light sensor. option; the wire is just the right gauge for the
job. Strip 15mm of insulation from each end of
With the code in place, the virtual micro:bit on the wire to allow a good connection.
the MakeCode editor page shows Pin 0 and GND
connected to the jack plug of a headphone. If
you have crocodile clip leads then this is the
quickest way to test the circuit but it would be a
shame to miss out on hardware projects due to a
lack of crocodile clips. A quick headphone socket
can easily be improvised: indeed, it could be seen
as a better option.
Twist the wire tightly to the edge
of Pin 0.
47
A little light music :make
Start by attaching the wire to Pin 0. Put the wire
through the hole to the side and twist it tightly:
it should sit safely just above the small Pin 3 but
you could cover that with tape if you wanted to
be extra careful.

Finally, wrap the wire around the tip of the headphone plug.

Wrap the other end of the wire around the tip of Placeholder
the headphone plug: the tip has a notch that
makes this task easy.

Action:
Power up the micro:bit and expose it to light to
generate sound. The stronger the light, the
higher the pitch. Use your hand over the LEDs
to play the instrument. Torches with strobe
effects are great fun. If you want louder noise
then you can use the same method to connect
the micro:bit to an amplifier using a suitable
phono cable.

To experiment further, you could


replace the MakeCode ‘light level’
input with ‘rotation’ or ‘magnetic
force’.
48
Pradeeka Seneviratne
:make Pradeeka is a technical
writer, avid maker, and loves
to design wireless projects,
just like this Eddystone
beacon.

@pradeeka7

Managing the micro:bit


Eddystone Beacon
Advertising URLs Remotely

Learn how to use Rebrandly Dashboard


(third-party service) to update the advertising
URL of an Eddystone beacon.
Update the advertising URL of your Eddystone beacon without re-programming the micro:bit.

In this article, you will learn how to update the


advertising URL of your Eddystone beacon
You Will Need: easily with the Rebrandly Dashboard
(third-party service) without re-flashing a new
- BBC micro:bit
- micro USB cable code onto the micro:bit.
- Smartphone or tablet (with
Getting Started
Bluetooth enabled) running
Prepare a list of URLs you want to advertise with
Android OS
- Internet connection your Eddystone beacon. For example, use the
three URLs listed below;
49
:make Eddystone Beacon

● [Link] NOTE: An Eddystone advertising URL can have a


es/GDNGTpkHJrDJSYMQJbH9f1/tackle-ti maximum of 17 characters after the two forward
me-and-space-with-doctor-who-and-the-b slashes.
bc-micro-bit E.g. [Link]
● [Link] This includes the domain name, first forward
● [Link] slash (/), and Slash-tag.
es/49tjW0qR05wXrdpK7ZbGTbs/strictly-
micro-bit-live-lesson 3. The notification will say Link rebranded.
4. Meanwhile, you will get another modal
Creating a Short URL
1. Create a free account with Rebrandly box (window). Click on the Copy button to

([Link] copy the shortened URL to the clipboard of

2. In the Rebrandly Dashboard, click on the your computer.

New link button. In the Rebrand, a new


link modal box (window), paste the first
URL from your advertising URL list. Once
pasted, Rebrandly will automatically
convert it to a short URL with the default Copying the short URL to the clipboard.

domain, [Link]. The Slash-tag can


The Code
have a maximum of 6 characters. If you 1. Go to the MakeCode editor for micro:bit
have got more than 6 characters for the ([Link]
Slash-tag, keep the first 6 characters and 2. Under My Projects, click on the New
delete the rest of the characters in the Project.
Slash-tag text box. Then click on the Create 3. In the Toolbox, click Advanced followed by
link button to shorten the link. Extensions.
4. In the Extensions page, click on the
Bluetooth (Bluetooth services).
5. In the Some extensions will be removed
modal box (window), click on the Remove
extension(s) and add Bluetooth button. The
Bluetooth (Bluetooth services) extension
will add to the Toolbox.
6. In the Toolbox, click on the Bluetooth
Taking the project further: category. Then click and drag the
Creating the short URL. Advertise URL block over and place it
inside of the on start block.
44 50
:make Eddystone
CO2 monitoring Beacon
and visualization :make
7. Click on the default Bluetooth advertise Eddystone beacons.
URL ([Link] and paste the Warning: Turn the Internet on your Android
new URL you copied in the Step 5. Keep the device.
default values as it is for power and
connectable parameters.
8. In the Toolbox, click on the Basic category.
Then click and drag the show LEDs block
over and place it inside of the forever
block. In the show LEDs block, click on the
Installing BeaconSage app on Android
centre LED to select.
9. Once finished, your code should look Warning: Turn Bluetooth on your Android
something like this. device.

2. After installing, open the BeaconSage app.


It will show the page title and the
description belongs to the advertising URL
of your Eddystone beacon. You can visit
the web page by tapping on the left
The code built with MakeCode for micro:bit.
navigation menu under nearby.
10. Save your project with the name
Eddystone-1. Once saved, a hex file will
download to your computer.
11. Connect the micro:bit to your computer
using the micro USB cable.
12. Drag and drop the hex file from your
Downloads folder to the micro:bit drive. If
you’re using Google Chrome, drag it Notification on the BeaconSage app.

directly from the Download bar.


Updating the Advertising URL
13. The micro:bit gets flashed with the hex
1. Now you’re going to update the advertising
file. After flash finishes, the centre LED of
URL. Choose the second URL from the
the micro:bit display will turn on.
above URL list (Step 1).
Using BeaconSage App 2. In your Rebrandly dashboard, click on the
1. Install the BeaconSage app on your
Links ([Link]
Android smartphone or tablet. It scans and
Then click on the Edit icon.
shows details about every nearby
51
44 51
:make Eddystone
CO2 monitoring
Eddystone Beacon :make
Beacon
and visualization

6. Now your Eddystone beacon will


advertise the updated URL.

Edit button for editing the link.

3. In the modal box (window), click on the Notification on BeaconSage app with updated URL.
Destination URL.
7. With the Rebrandly Dashboard, you can
update the Destination URL unlimited
number of times.

Do It Yourself
Update the destination URL with the third URL
Editing the Destination URL – Step 1.
from the above URL list (Step 1).
4. In the Destination URL box, paste the new
URL. Then click on the Save button.

Editing the Destination URL – Step 2.

5. The notification says, ‘Destination URL


Updated’. Meanwhile, the modal box
(window) reflects the details of the updated
URL. [Link]/contribute

Updated Destination URL with the new link.


52
Tanya Fish
:make Tanya was formerly in
schools, teaching maths,
physics, & shouting loudly at
paperwork. Pirate crew
How to make member since 2016 - making
learning materials for
schools, running workshops,
@tanurai
your own & doing talks.

add-on boards First, cut a piece of card about the size of a


playing card.

with household Cut a strip of tinfoil the length of the card.


Bend the legs outwards on the LEDs and give

materials them a bit of a bend.

You Will Need:


- Piece of cardboard
- Silver foil
- Glue stick
- 3 x LEDs (red, orange, green)
- Sellotape

You may think that if you’re starting out running


a code club, you need a huge budget to buy a load
of materials - the truth is, the hardware is, well,
hardwearing and almost guaranteed to work, but
sometimes a quick-and-easy homemade solution
can work as a stopgap. I’d like to share some Card, foil and LEDs prepared for the next step

boards I have successfully made with Year 5’s in Glue the left third of the card as in the diagram,
my code club, and examples of what you can do and smooth the foil down on it. Bend the foil
with them. I have assumed you have micro:bits around the back of the card and glue that down
and crocodile clips. too.
Traffic Lights
Take some more of foil and glue three patches
around the right-hand third of the card. Make
sure they don’t touch. Make sure they go round
the back too.
53 53
:make Make
Make your own your own
add-on add-on:make
boards boards

Finally, wire up to your micro:bit as in the


diagram:

Use crocodile clips to attach your board to the micro:bit.

I used the following code to cycle through the


Front and back of the card with foil glued on
pattern a real set of lights does. You might want
Now we’re going to attach the LEDs. It is very to change the timings, or try to make different
important that the flat side of the LED (negative) light patterns like running lights or a Knight
is on the strip side, and the rounded side Rider style Larsson scanner.
(positive) is on the patch side. Tape the LEDs
down with one leg on the long strip of foil, and
the other leg on a single patch, as shown in the
diagram.

Taking the project further:


The red light is connected to pin 0, the yellow to pin 1, and the
Tape down the LEDs, taking care to put them the
green to pin 2. Connect the ground strip with one crocodile clip.
right way around.
54
Eun Jung (EJ) Park
:make EJ works on the Computer
Science for All team in the NYC
Department of Education. She
loves making silly robots.

[Link]
[Link]

A High Five for Mr Boppy!


How to add unique user interactions to your
project using micro:bit inputs.

Introducing Mr. Boppy. High five him, then he will open his candy vault! See him alive: [Link]

Mr Boppy is a little cardboard robot who offers


You Will Need: candy from a secure vault when you give him a
- Cardboard/ Cereal box
- 1x Micro:bit go bundle kit
solid high five. The high five should be strong
[Link] enough to make his head bop back and forth,
- 1x Micro Servo Motor
[Link] which is his way of saying “I like your high five!”
- 3 x Alligator clips
Using Mr Boppy as an example, I will challenge
- 3x Jumper wires
- 1x AA battery pack/ 4x AA batteries you to think of how you can use the
- Masking Tape
55
A High Five for Mr Boppy! :make
given micro:bit input options such as “shake”, Construction: Arm with a micro:bit
“Tilt”, “Screen up” etc. to create a unique I started brainstorming the gestures that we

interface in your project. In this tutorial, you will observe in our daily lives and tried to recreate

also learn how to get started with a micro servo those gestures with a micro:bit. The high five

motor with a micro:bit. was the clear winner as it is universally


understood and fun! When you analyze the high
How was Mr Boppy born?
I began this project by asking myself how I can five, you’ll see that involves slapping your hand

create a micro:bit-powered robot that invites against another person’s hand to make an

physical interaction. The micro:bits sensors impact before snapping it back again. I designed

allow it to detect different forms of inputs from the arm in such a way that a micro:bit can

its surroundings, such as shaking, tilting, button interpret the impact from the high five as a

pressing, and changes in light. So how could I shake. Think of it as a vertical seesaw: the higher

use these sensors to allow for unique human part of the arm above the pivot point is where

interaction? I found the answer by focusing on you high five and the part below is to where I

the project’s physical interface design. attached the micro:bit. When a high five
happens, the bottom part of the arm will make

For example, if you wanted the physical short swings back and forth and shake the

interface of your project to capture the action of micro:bit.

opening or closing a box, the tilting input that I


described earlier can be used if the micro:bit is
mounted on the lid. Similarly, tilting could also
detect the act of “bowing your head” if a
micro:bit is attached on your hat, which would
make the way the hat attaches to your head the
unique physical interface The “shaking” input
can be applied in various creative ways, such as
kicking, clapping, and jumping. In my design,
it’s used to detect a high five.

Mr. Boppy has two parts: The body part with his arm and head and Divided by the pivot point, the top part of the arm is where you
the candy vault with a lid that opens and closes. high five and the bottom part is where the micro:bit is attached.
56
:make A High Five for Mr Boppy!

Construction: Head For additional instructions on how to do that,


The impact from the high five will also make Mr check my tutorial, Servo Motor with micro:bit.
Boppy’s head slightly bounce and nod back and ([Link]
forth. This has nothing to do with a micro:bit or
Programming
programming, it’s purely for fun and character. Programming for this project is very simple.
His head is mounted on two springs and the Basically, when the micro:bit is shaken, it needs
physical force from the high five puts his head to 1) move the micro servo motor to a certain
in motion. degree (opening the lid), 2) pause for 5 seconds
Construction: Candy vault with a (holding the lid open) 3) move the servo motor
micro servo motor back to its original position (closing the lid).
I wanted the action of a high five to trigger a
positive reaction for the user. That’s how Mr.
Boppy came to incorporate a candy vault. I used
a micro servo motor to make a lid of the
compartment rotate open and close.

This is the code that makes the lid of the compartment open and
close when the micro:bit is shaken.

When I tested my code, it was hard to tell if the


micro:bit registered my high five as “shaking” or
not, so I added a “show image” block to indicate
that the micro:bit was shaken. In this way, I can
easily pinpoint potential trouble. For example, if
The micro servo motor is placed on the body of the compartment
and the lid is attached to the servo motor. the icon is shown but the servo motor is not
moving, then I need to troubleshoot my program
Most micro servo motors require 3v to 6v to
and servo motor connection.
operate. You may be tempted to have a micro:bit
and servo motor share the same battery pack More to think about..
Hope you enjoy Mr. Boppy! It’s now your turn to
power source as it contains two AAA batteries
think about a unique interface design for your
(3V). The problem with splitting the battery pack
micro:bit project! How would you detect air
between the two is that the motor may have
currents with a micro:bit? How would you use a
enough power to move, but will be unstable and
micro:bit to count the number of pinwheels you
imprecise. For this reason, I connected an
make? Think of fun and unique way with that
additional battery pack to the micro servo motor.
people can interact with your micro:bit project!
57
:make Michael Rimicans
Michael has been
tinkering with the
micro:bit since it was
released and using it for
Nerf and @heeedt
cool things. He is a STEM
ambassador and Code Club
volunteer
[Link]
micro:bits
This type of transducer is normally built from a
disc of ceramic material mounted on a brass
You Will Need: disc. When this disc is deformed slightly a small
- micro:bit
electrical charge will be generated and,
- Piezo transducer
- Mu Python editor conversely, when a voltage is applied the disc
- Nerf Gun will deform. When the voltage is removed the
disc will revert to its normal shape whilst
Nerf guns come in many sizes and playing with generating a slight sound.
them is lots of fun. What would be even more fun
though is having a set of targets to fire at and The micro:bit is capable of sensing this small
have a micro:bit keep track of the scores. voltage generated by the transducer. The signal
is then converted to a digital value by the
By itself a micro:bit is not able to sense being hit Analogue to Digital converter (ADC for short).
by a nerf bullet and requires a sensor to sense the
impact. Whilst there are many types of sensor, a The micro:bit's ADC has a resolution of 10 bits
simple and cheap choice is a piezo transducer. meaning a 0v signal will be represented by
0000000000 and that a 3.3v will be represented
by 1111111111. This means that it’s possible to
sense 1024 different voltage steps with each
step being around 32mV which is the result of
dividing the device's power, 3.3v, by the number
of steps the ADC can count.

Putting this all together means that a


transducer can be mounted on a target and any
A transducer is a component that changes hits will be sensed by the micro:bit allowing a
one form of energy into another, such as a score to be counted.
microphone, which changes sound waves
into electrical signals.
44 58
:make Nerf and
Formula Onemicro:bits
In Schools :make
Construction Writing the code
For this project, an old DVD case has been To sense the hits with the micro:bit, a simple
recycled to act as a target board with a bullseye microPython script, listed below, monitors pin 0
type target printed onto paper and inserted and when it breaks a threshold value it will
behind the sleeve. On the inside of the case, the display a smiling face on the micro:bit.
transducer has been taped in place with the brass
##beginning of code
side facing the target. from microbit import *

[Link]("hello")
The transducer is then connected to the micro:bit
hitSenseLevel = 100
using the following schematic.
while True:
hitSense = pin0.read_analog()
print(hitSense)
sleep(80)
if hitSense > hitSenseLevel:
[Link]([Link])
sleep(1000)
else:
[Link]([Link])

Install mu-editor from here and enter the code.


hitSenseLevel can be changed to adjust the
The resistor in the circuit will keep the voltage at sensitivity to the hits from the nerf bullets and
pin 0 at a steady level and allow the voltage from when the transducer is hit with enough force to
the transducer to be sensed more easily. This build reach this level a sad face will be displayed and
uses a prototyping board with a built-in micro:bit the script will pause for a second before
socket but the circuit also be built using crocodile resuming. If you switch to the REPL view in
clips or a breadboard. mu-editor and reset the micro:bit you will be
able to see the actual values being read at pin 0
and the values achieved when the target is hit.

This script is quite simple so as a project you


could do at home you could modify it to keep
track of the number of hits.
59
:make Jackie Pease
Jackie is a maker who likes to
have a go at everything. I’m
especially interested in LEDs
and wearable technology.

Beat-Reactive [Link]

Twitter: @jackie_pease @doesliverpool


Instagram: @jackiesees @doesliverpool
Drum Lights
for Liverpool
Light Night
Visualising the beats of different drums used by
a Samba Reggae drum band, using micro:bits
and WS2812 addressable LEDs.
Batala Mersey drummers performing at Liverpool Light Night

You Will Need:


Per drummer:
- Carnival backpack
- 2 × micro:bits per drummer
- 2 × AAA double battery packs for micro:bits
- 2m “NeoPixel” (WS2812B) RGB LED strip, 30 LEDs per metre
- 3 × D-cell battery
- 1 x battery case for 3 D-cell batteries
- 1 × multi-wire connector of your choice – we used Valcon 5.08mm PCB power connectors, because they had
space for all 3 wires (Ground, Live, and Signal), they can be constructed with just a crimping tool, they’re very
sturdy, and, once in place, they’re easy to connect and disconnect by hand.
- 3 × 40cm insulated multi-strand electrical wire (which we connected to one of the terminals of the battery
box, and to the Pin 0 and Ground terminals of the micro:bit)
- 1 × 33cm insulated multi-strand electrical wire (connected to the other terminal of the battery box – it’s
shorter so that, when the wires are taped down, it’ll be the same length as the 40cm one on the other side of
the box)
- 3 × 100cm insulated multi-strand electrical wire (connected to the “NeoPixel” LED strip)
- Heavy duty sticky tape (fibreglass tape is ideal)
Assorted tools, including:
- Wire cutter
- Wire sheath/insulation removal tool
- Solder and a soldering iron
44 60
:make Beat-Reactive
Formula :make
Drum Lights
One In Schools

For anyone who hasn’t heard one, Brazilian-style


Samba Reggae bands can be extremely loud, and it
can be difficult to work out what the different
drums are adding to the mix.

Batala Mersey, a Liverpool-based drum band, and


Brouhaha International, who organise Carnival
events and make costumes, came up with a plan
to use coloured LED lights to show which drums
were playing at any one time. They came to our
Makerspace at DoES Liverpool for help to bring the
project to life in time for Liverpool Light Night on
Mandy and Uma from Brouhaha International measuring
18th May 2018. out LED strips

There were 2 groups of Surdos as they play


Uma from Brouhaha International got in touch alternate beats, so that meant 5 different groups
with me in early 2018 to ask if DoES Liverpool altogether. We decided that each group’s
could help with a project to create light-up backpacks would light up in a different colour. I
backpacks for the Batala Mersey drum band who returned to DoES Liverpool with one large Surdo
were taking part in Liverpool Light Night, a free and a smaller Repinique for us to experiment
one-night arts & culture evening when museums, with.
art galleries and other venues stay open late and
there are lots of indoor and outdoor Another member of DoES Liverpool, Zarino, and
performances. I had been using micro:bits and WS2812 LEDs at
Liverpool Code Club. Zarino quickly realised that
We met up with Dave and Ilsa from Batala Mersey. the micro:bit’s inbuilt accelerometer would be a
The band has 4 different types of drums (they use great way to tell when the drum was being hit.
the Brazilian names for the different types). 12 of We attached a micro:bit to the side of the drum
the drummers would have backpacks: and wrote a simple MakeCode program to read
2 x Repinique in the values and display them on the micro:bit’s
2 x Caixa (snare) LED display. We found that the two different
4 x Dobra (medium size drums) drums we had output different ranges, so all
4 x Surdo (large bass drums) looked good.

Denise from Liverpool Libraries was happy for


us to borrow the library’s micro:bits so we were
61
44 61
:makeBeat-Reactive
Beat-Reactive
Formula OneDrum
In Schools
Lights :make
Drum Lights

able to use two per drummer, one attached to the could make the skin of another vibrate, even if it
back of the drum with duct tape and one in a was at the other end of the room.
pouch attached to the backpack to control the
lights. We used micro:bit radio (Bluetooth) to Separately, we worked with Uma and Mandy
communicate between the two, with each pair of from Brouhaha on the carnival backpacks. Ilsa
micro:bits being assigned a separate channel. The had come up with an idea to have a flat disk
drummers move around a lot when they’re behind each drummer’s head, with the LEDs
performing, so it was good not to have wires forming a spiral on the disk. The backpacks are
between the drum and backpack. made from light aluminium tubing and
normally decorated with lightweight elements
like sequins and feathers. Although the LEDs
weren’t heavy, Mandy had to find a thicker than
usual fabric for the disks to make sure that they
didn’t rip out of the fabric – it also needed to be
reflective to make the most of the light. She had
to source pouches that could be attached to the
back of the backpacks to carry the micro:bits
and batteries too – she ended up using insulated
lunch bags!

Mandy sewing LED strip onto one of the disks. The disk consists
of a wire ring with reflective fabric hot-glued onto it. These were
then attached to the backpacks.

Dave invited us to one of Batala Mersey’s practice


nights. Everyone has to wear earplugs to protect
their ears as the drums are really loud. We
couldn’t hear each other talking, and we had to
type stuff in on our phones to communicate. We
had changed the drum program so that we could
use the micro:bits buttons to adjust the range for Paula and Zarino taping together battery holders for the
D-cell batteries
each drum, and were able to get some good
results, although there was some interaction We ordered all the parts we needed to connect

between the different drums – beating one drum the micro:bits, batteries and lights and were
44 62
:make Beat-Reactive
Formula :make
Drum Lights
One In Schools

able to draw on a team of volunteers at DoES them temporarily with crocodile clip test leads.
Liverpool to help us with the electronics,
including Mike, Adrian, Paula, Paul H, and Chris T. The band’s performance in front of a large
Then it was up to Mandy to sew on the LEDs and crowd outside the library was fantastic and the
decorate the backpacks. lights flashing in time to the rhythm of the
different drums really added to the effect.
Soon it was dress rehearsal night. We attached the
electronics to the newly decorated backpacks and
then attached the backpacks to the drummers! It
took some of them a bit of time to get used to
drumming while wearing a backpack. One thing
we hadn’t taken account of was that some of the
signals we were getting were caused by sound
reflecting off the walls of the practice hall. Zarino
ended up going along to one of Batala Mersey’s
micro:bits waiting to be attached to
outside performances and taking measurements drums at the dress rehearsal. They were
given names so that we could easily
to make sure that there wouldn’t be any issues.
match them up with the correct
backpacks.

We enjoyed the project and learnt a lot. There


are some things we wouldn’t do again, like using
heavy D-cell batteries – phone power banks are
getting really cheap, are lighter and
rechargeable, so we’d use those, and we would
look again at the connectors we used. If you do
want more information on what we did, then
Collars and belts that form part of there’s a Git repository here:
the drummers’ outfits. Mandy uses
hot glue to attach the braid to the [Link]
fabric.
hts (it also contains some useful work by Zarino
On Light Night, Batala Mersey had 3 sets. Our
on developing and deploying MakeCode to a
lights were only involved in the third, at 10pm (as
large number of micro:bits).
it was late May, it wasn’t dark enough until then).
We did have a few problems with some of the
We’re hoping to work with Batala Mersey, Uma
connections between the batteries and lights, but
and Mandy again in 2019, and to develop new
fortunately, we’d brought along extra supplies for
projects that combine light and sound.
any emergencies, and we were able to replace
63
:make justaboutfine
Justaboutfine has been helping run
a Code Club in Australia and blogs
about it at various times, he’s done
some technical review for a couple
of No Starch Press books, and has

Two-way radio written projects for Code Club


Australia. He likes open source,
hacking things, and is involved in
various communities and
@justaboutfine conferences, and does things for
emoticon [Link] [Link]

communicator

Here’s a simple MicroPython script that lets


multiple micro:bits wirelessly send emoticons to
each other!
modules. Add the following to a new file in your
You Will Need: editor.
- 2 or more micro:bits each with power, from microbit import *
and a cable for programming import radio
- Access to a suitable MicroPython editor,
e.g. the online micro:bit Python editor, Put the emoticons into a dictionary
Mu editor, or Chrome plugin editor. The micro:bits image class has built-in images
that we can associate with numerical keys in a
This fun MicroPython script uses a dictionary to
dictionary structure. We'll create a dictionary
map a number to each emoticon image, and sets
called images.
a wireless channel, to broadcast and listen on.
images =
The main loop lets you use the A and B buttons to
{1:[Link],2:Image.HEART_SMALL,3:[Link]
select an emoticon, and pressing both at once PY,4:[Link],5:[Link],6:[Link],

sends it on the selected wireless channel. Every 7:[Link],8:[Link],9:[Link]


ND,10:[Link],11:[Link],12:[Link]
other micro:bit in range, running the same
CMAN}
script, will then receive the emoticon!
Create an index
Let’s get coding! We'll use a variable to keep track of which
In our editor, let’s begin writing the script and
emoticon image we have 'selected' and set this to
import the required micro:bit and radio
44 64
Two-way radio emoticon
:make Formula One In Schools :make
communicator
index_num = 1 decrease the index_num value. Since the if
statements are inside the while loop, we need to
Configure and enable the radio
To set up the radio functionality we need to set the make sure they are indented (moved right using
radio channel to 10 and turn the radio on. spaces) so they line up with the incoming line
above.
[Link](channel=10)
[Link]() if button_b.is_pressed():
index_num += 1
Main loop and receive radio data if button_a.is_pressed():
Now we come to the main loop that keeps
index_num -= 1
repeating while the script is running. Received
Send the current index_num value, and display
radio communications will be captured in the
'sending...', if button A and B are pressed
incoming variable. To keep things simple, we
together. The str() function converts the
haven't done any validation on the incoming
number into a character to send. We could
radio data - you should be aware that this is
really send raw bytes here let’s keep it simple
reading unchecked radio data into a variable, and
for now.
a rogue radio transmission could potentially
if button_a.is_pressed() and
exploit this. However, for the sake of this exercise,
button_b.is_pressed():
let’s assume you're well away from such [Link](str(index_num))
transmissions and possibly in a Faraday cage or [Link]('sending...')
bunker of your choice ;)

while True: If we have an incoming radio broadcast, display


incoming = [Link]() the TARGET image, wait for half a second, then

Do things when events occur convert the incoming data back to a number.
The rest of the script is essentially saying "if if incoming:
something happens, do this" followed by [Link]([Link])
sleep(500)
displaying the select image and a delay. Without
[Link](images[int(incoming)])
the delay, the micro:bit was checking the buttons
sleep(2000)
too often, making it hard to read a single press. If
you find that you have to hold down the buttons Make sure that index_num stays within the key

too long, you can reduce the sleep() delay value to values for the images dictionary. In this case, if

make it a little quicker. If it flickers between index_num is too high, we set it back to the first

different images when you press buttons, image; and if it gets too low, we set it to the

increase the delay. highest image index.


if index_num > 12:
index_num = 1
Check for single button presses, and increase or
elif index_num < 1:
65
Two Way radio emoticon
communicator
:make
index_num = 12 # If there's incoming data, show the emoticon that's
been received
Finally, display the currently selected image from
if incoming:
images and wait for half a second. [Link]([Link])
[Link](images[index_num]) sleep(500)

sleep(500) [Link](images[int(incoming)])
sleep(2000)
The entire script
So, the whole script should look like (I've added # Keep the index_num within the valid dictionary
key range
comments, so don't worry about any lines starting
if index_num > 12:
with #: index_num = 1
# A micro:bit emoticon chat script elif index_num < 1:
# By @justaboutfine index_num = 12
from microbit import *
import radio # Show the current image
[Link](images[index_num])
# Create a dictonary of our emoticon images sleep(500)
images =
Now flash this to two or more micro:bits and
{1:[Link],2:Image.HEART_SMALL,3:[Link]
Y,4:[Link],5:[Link],6:[Link],7: you should be able to use the controls listed
[Link],8:[Link],9:[Link], above, to select and send emoticons from one
10:[Link],11:[Link],12:[Link]
micro:bit to another. On the Mu editor and
N}
index_num = 1 Chrome plugin, you can just click on 'flash', with
other editors you can compile your project to a
# Set the radio channel to 10
.hex file and drag or copy it to your micro:bit
[Link](channel=10)
[Link]() once it is plugged in. At the time of writing,
flashing via BLE doesn't work if you're using
while True:
Python. Also, using the radio in other languages
# Capture received radio data
incoming = [Link]() can interfere with BLE functionality. If you have
a group, you can send to more than one
if button_b.is_pressed():
micro:bit. You can set separate radio channels
index_num += 1
if button_a.is_pressed():
on different pairs of micro:bits to have separate
index_num -= 1 teams or emoticon conversations. From here,
you could even use this to send text messages to
# Send the current emoticon if both buttons pressed
one another as well, or use speech() to 'say' a
together
if button_a.is_pressed() and button_b.is_pressed(): message on another micro:bit equipped with a
[Link](str(index_num)) speaker. The possibilities are fairly broad, so go
[Link]('sending...')
and experiment!
66
:make Chris Penn
Chris is a teacher from
Warwickshire who teaches
Computer Science and IT. He
also runs the Coventry and
Warwickshire Raspberry Jam.

@ChrisPenn84

A scalable cube of TNT controlled by the micro:bit that you should see by pressing ‘b’ and using ‘s’ on the keyboard to walk back so
you can see the cube you have created.

‘For Scalable blocks press b’


In this simple tutorial, you will use the BitIO python
library to create a scalable block of your choice in
Minecraft. 1. Turn on your Raspberry Pi and make sure
that you are connected to the internet.
You Will Need: 2. Download the BitIO library as a zip file
- 1 x micro:bit
- 1 x USB cable to power the micro:bit from here: link
- 1 x Raspberry Pi / Java edition version of 3. Right click on the zip file and extract it.
Minecraft
4. Open Minecraft and create a new world,
- 1 x copy of the BitIO library which you
can download from here: link then minimise this for later. Tip, use the
tab key to allow your mouse to minimise
the Minecraft window.
You will create code that allows you to create a
5. Click on the Raspberry Pi logo top left.
scalable cube of a block of your choice. Press ‘a’
6. Then select ‘programming’ from the menu
to increase the size of the cube and ‘b’ to build it.
and then Python 3.
Press ‘s’ on the keyboard to walk back and
7. Click on ‘file’ > ‘new file’.
admire your creation then watch it disappear a
8. Type out the following code:
few seconds later.
67
‘For Scalable blocks press b’ :make
""" 9. Click ‘file’ > ‘save as’…. Then find the
Inspiration Taken from the original idea by Craig
location of your folder that you extracted
Richardson in his 'Learning to program with Minecraft'
available from Amazon. earlier. Name the file ‘[Link]’
book.

10. Save this file in the ‘src’ folder inside the


"""
BitIO folder.
import microbit
from mcpi import minecraft as minecraft
11. Next in idle press f5 to try and execute
from mcpi import block as block your code.
from datetime import datetime
import time
12. If you have any errors check through your
import serial
import random code and see if you can spot any mistakes
mc = [Link]() and repeat step 11.

def bigBlock(Increase,block):
pos = [Link]() 13. Once your code is working, here is the
[Link]("Build") process you will need to go through to get
[Link](pos.x, pos.y, pos.z,pos.x+Increase,
it working with the micro:bit:
pos.y+Increase, pos.z+Increase, block)
[Link]("Wait")
[Link](5) 14. Plug in your micro:bit.
[Link]("Clear")
[Link](pos.x, pos.y, pos.z,pos.x+Increase,
pos.y+Increase, pos.z+Increase, 0) 15. First of all, it will display this message:
No micro:bit has previously been detected
Scanning for serial ports remove the
Increase = 0
pos = [Link]() device, then press ENTER
while True:

16. So unplug the micro:bit and press enter.


if microbit.button_a.was_pressed():
Increase = Increase+1
msg = "Size = 1 block+"+str(Increase) 17. Next, the following text will display:
[Link](msg) Scanning… found xx device(s) plug in the device,
then press ENTER
if microbit.button_b.was_pressed():
bigBlock(Increase,46) 18. Now press enter and the following text
will display Scanning… found xx device(s)
[Link](1)
found 1 new device
selected:/dev/ttyACM0
44 68
:make ‘For Scalable
Formula :make
blocks press
One In Schools b’

Do you want this device to be Extensions:


remembered? (Y/N) 1. Try and change the block type.
19. Press 'y' and enter to confirm and the 2. Try changing the size of the
following text will display: Your micro:bit cube created
has been detected. 3. Try changing the position of the
20. Now your program should be working. player when the block is placed.
If you put Minecraft back on-screen and 4. Try making the TNT active by
press the ‘a’ button on the micro:bit, you adding a ‘1’ at the end of the
should see the image below. following line of code

[Link](pos.x, pos.y, pos.z,pos.x+Increase,


pos.y+Increase, pos.z+Increase, block, 1)

If your program is running correctly, in Minecraft, you should


see the following.

21. The block starts at 1 x 1 so by adding one it


will be a 2 x 2 cube.
22. To see the 2 x 2 cube press ‘b’ on the
micro:bit.
23. On the keyboard press ‘s’ to walk back to
[Link]/contribute
be able to see cube you have created.
24. It will be there for 5 seconds and then will
disappear.
25. It should appear as shown in the image at
the beginning of this article.
Well done, you are a successful coder :)
69
:make Mr. Zbit
Is a micro:bit enthusiast
who writes code and
invents accessories for the
micro:bit designed to help
everyone ‘Have fun while
you learn!’
@ZbitConnect
[Link]

Speech Recognition on a
micro:bit
Part 1 - The Challenge of Speech Recognition and
Building the Electronics
You Will Need: communicate with other people. We’ve not
- 1 x Adafruit ADA1713 Electret
Microphone Board spoken to them! Now that is changing. Early
- 1 x Schottky Diode – e.g. 1N5817 attempts at speech recognition included
- 1 x 47uF Aluminium Electrolytic
Capacitor telephone systems where you could ask for a
- 1 x 10k Resistor ticket to the cinema in Carlisle and it would
- 1 x Breakout & Prototyping Board – e.g.
respond by saying "Did you say Wolverhampton?"
zbit:breadboard
But more recently the technology has improved
For years we've communicated with computers to give us speech control of our mobile phones
by typing on a keyboard and clicking a mouse. with features such as “Siri” and digital assistants
Then we started communicating with them in that sit in the room with us that we talk to such as
other ways such as touching them, tilting them “Alexa”. And it could be that in the future
and shaking them. But until recently we’ve not speaking to computers becomes the main way we
communicated with them in the main way we
44 70
:make Speech
Formula In Schoolson:make
Recognition
One a micro:bit

communicate with them! So why has it taken so to be sampled, according to the 'Nyquist Rule*',
long for us to be able to speak to computers? The at twice the maximum frequency of the sound.
answer is that speech recognition is very difficult This would mean making over 20,000 samples a
for a computer! But why is speech recognition so second, or one sample every 50 microseconds!
difficult? What are the challenges that a speech Theses sample must then be processed in 'Real
recognition ‘algorithm’ must deal with? And, can Time*' by algorithms such as the 'Fast Fourier
we do speech recognition on a micro:bit? Transform*'. This normally requires specialist
'Digital Signal Processor*' chips which have
The micro:bit has limited processing power and
built-in hardware blocks such as 'Multiply
limited memory so doing “Alexa” levels of speech
Accumulate Units*' and 'Neural Networks*' to
recognition is not going to be possible! But just as
speed up the processing. “Alexa” may have such
the micro:bit’s limited display of just 25 LED’s
chips but the micro:bit does not! So, what can a
forces us to be creative as to how we display text
micro:bit capture? Let's see!
and images, by being equally creative there is a
way to do speech recognition on a micro:bit and [*An explanation of the meanings of 'Nyquist
this article shows you how! Rule', 'Real Time', 'Fast Fourier Transform',
'Digital Signal Processor', 'Multiply
The article is in two parts...
Accumulate Units' and 'Neural Networks*' is
Part 1 describes the Challenge of Speech
beyond the scope of this article, but look them
Recognition and shows you how to Build the
up on Wikipedia if you'd like to know more!]
Electronics and test it works as a micro:bit
Volume Meter! Elements of the Spoken Word
Spoken words contain 3 basic elements.
Part 2 describes the Challenges faced by Speech
Volume, Duration and Frequency Content.
Recognition Software and shows you how Code
you own Speech Recognition Algorithm in Volume is how loud each word sounds
MicroPython to turn your micro:bit Volume Duration is how long each word lasts
Meter into a micro:bit Speech Recognition Frequency Content is what combination
Device! of audio 'pitches' each word contains

The Challenge of Speech Recognition By adding just 3 electronic components to the


output of the Adafruit Microphone board it is
Speech, when captured by a microphone, is
possible to create an analog waveform
converted into a complicated analog waveform
representing the Volume of the speech. Since
containing a jumble of frequencies ranging from
this volume waveform changes more slowly it
below 100Hz to over 10kHz. To accurately capture
can be sampled by code at a rate of about one
such a waveform and convert it to digital
sample every 50 milliseconds, or 20 samples per
'samples' ready for a Speech Recognition
71
44 71
:make Speech
Speech Recognition
Formula One
on Schoolson:make
Recognition
aInmicro:bit a micro:bit

second, which is possible on a micro:bit running Understanding the Electronics


Micro-Python! So, we'll be able to capture samples
When you speak into the microphone the analog
of the Volume of each word on the micro:bit, and
output of the microphone board (Out) will have
by counting the samples we'll be able to calculate
an alternating voltage with a jumble of
the Duration of each word. We will, however, have
frequencies representing your speech with
'lost' the Frequency Content of the words! But this
voltages that swing between 0 Volts and 3.0
is the compromise we must make!
Volts as shown by the Oscilloscope waveform

The Electronic Circuit below.

The circuit diagram below shows how the


Schottky Diode, Capacitor and Resistor are
connected to the Adafruit Microphone Board and
how they connect to the micro:bit.

When the voltage waveform (Out) is at its peak


the Schottky diode will be ‘forward biased’
which means the current will flow through the
diode and charge up the voltage on the
Wiring up the Breadboard capacitor. When the voltage waveform is at its

The diagram below shows how to wire up the trough, the Schottky diode will be ‘reverse

microphone and other components using biased’ and since current can't flow back

zbit:breadboard. The Capacitor and the Schottky through a diode, the capacitor will maintain its
voltage. When there is silence however there
Diode must be
will be no output from the microphone to keep
plugged in
the capacitor charged so the capacitor will
orientated as
slowly discharge through the 10k resistor.
shown. The
Typically, it will take about 50 milliseconds to
Resistor can be
charge up the capacitor when you start
plugged in either
speaking into the microphone and about 150
way round. There
milliseconds for the capacitor to discharge
are no connections
when you stop speaking.
to the 'AR' and
'Gain' pins of the
Adafruit board.
44 72
:make Speech
Formula In Schoolson:make
Recognition
One a micro:bit

This results in the capacitor's voltage looking like To test your electronics, download the program
the Oscilloscope waveform below. [Link] from:-

[Link]/SpeechRecognition

and load it onto your micro:bit using the


micro:bit's online Python editor or using the
'Mu' Python editor.
This waveform represents the volume of the
spoken word. The micro:bit can now sample this If everything is working you should see your

voltage. Since it is an analog voltage it must be speech volume represented by a triangle of

connected to one of the analog GPIO pins on the LED's on the micro:bit's display from one LED

micro:bit (P0, P1 or P2). In Part 2 we will be using when there is silence, up to 15 LED's when you

P0 to output sound effects, so we will connect it talk loudly into the microphone.

to P1.

The volume can be read using the Micro Python


command:-

volume = pin1.read_analog()

This will read the analog voltage and store it in a


variable called ‘volume’ Since your circuit may have slightly different
voltages, read the comments in the code to help
Testing the Electronics you make the necessary adjustments.

The Micro Python command 'volume =


You now have a working micro:bit
pin1.read_analog()' measures the voltage on
Volume Meter!
GPIO P1 and returns a value between 0
In Part 2 we will look at the challenges faced by
(representing 0 Volts) and 1023 (representing 3.3
the Speech Recognition Software and show you
Volts) into the variable 'volume'. The output
how to code your own Speech Recognition
voltage will be about 1.2 Volts when there is
Algorithm in MicroPython to turn your
silence up to about 2.4 Volts when it detects a
micro:bit Volume Meter into a micro:bit
loud sound, hence the value loaded into the
Speech Recognition Device and in doing so you
variable 'volume' should be about 400 when
will have to deal with many of the challenges
there is silence up to about 750 when you talk
that all speech recognition algorithms must
loudly into the microphone.
overcome!
Advertise in
micro:mag!
micro:ma
magazine g is the co
for micro m munity
want to r :bit lover
each an a s - if you
students, udience o
teachers f
reasonab and hobb
le cost, m yists at
place to d icro:mag
o it! We’v is the
pages ava e got full
ilable, at and half
and you’l reasonab
l help cov le rates,
producin er the cos
g the mag ts of
azine.

Get in touch for more


info - email us on
hello@[Link]
74
micro:hit Create your own flood detector!

Create your own Les Pounder


Les is a maker and trainer
flood detector! who has worked with the
Raspberry Pi Foundation
and the BBC to deliver
Make your very own computing training.

micro:bit flood detector in @biglesp [Link]


9 easy steps 1000ms, which is 1 second. This enables us to see
The risk of flooding has increased in places the tick before the main code runs.
across the world. But what if we need to alert
Step 3: Forever,,,and ever..and ever!
people to an oncoming flood? How can we detect
when water reaches a certain level? Well, we can
and all we need are a micro:bit, two crocodile
clips and some aluminium foil. This simple
project uses the conductivity of water to close a
circuit when water touches the two foil sensors.
For this, we read analog values, ranging from 0 Inside our forever loop we need to place an “if

to 1023 which relate to 0V to 3V. Anything over true then..else” block found in Logic. This block

1000 will trigger our project to life. handles decisions. Such as if the water is
touching the foil.
Step 1: Startup Screen
Step 4: Greater than?

When our micro:bit starts up, we need to see


that it is ready to go and we use the “Show Icon”
block from Basic. In this case, we chose to use a From Logic, we need to grab the “0 < 0”

tick to indicate readiness. comparison block and place that over the True of
the if block. Then change the < to a >.
Step 2: Slow down!
Step 5: Checking values

We need to slow down the code, using “pause”


from the Basic menu we set the delay to
75
Create your own flood detector! micro:hit
From the Pin section, found in Advanced. Drag Again from Basic, we use “Show Icon” but this
“analog read pin P0” and place it in the first time we have a small square, and another
zero. In the second change the value to 1000 “pause” when the loop runs it will look
which is the trigger for our sensor. animated!

Step 6: Repeat after me... Step 9: Standby Mode

So if the sensor is triggered, we need to alert the


user, and using the “repeat 4 times” block from
Loops we can start an animation loop.

Step 7: Big Square

Inside the else part of our condition, we add


another “Show Icon” with a chess board design.
This is the default that shows when the water

These blocks from Basic are “Show Icon”, which level is low.

we use to display a large square. Then we delay


for 100 ms using “pause.” That’s it, now download the code to your
micro:bit and when it has finished, drop the foil
Step 8: Small Square
sensors into a cup or bowl and slowly fill it up
with water. When the water touches the sensors,
the LED matrix on the micro:bit will change and
alert you to high water.

Well done you have made your own flood


sensor! Can you change the code to make a
buzzer sound for a blind person? Or perhaps
send a radio message to a remote micro:bit?
Product
Reviews
If you ma
ke cool pr
micro:bit oducts fo
, then mic r the
place to g ro:mag is
e t i t r e t h e
thousand v iewed! W
s of comm ith
issue, it’s unity rea
also a gre ders per
your prod at place t
uct/addo o get
n noticed
.

Get in touch for more


info - email us on
hello@[Link]
77
:foundation Technical Team

Meet the Foundation:


Technical Team

Meet the people who keep the


techy side of micro:bit going!
If you’ve ever wondered who looks after the zeros and ones at micro:bit headquarters, then
wonder no more: come and meet the micro:bit technical team! As well as hardware projects, like
making sure that the micro:bit motion sensor revision went smoothly, the team keeps the
website up and running, troubleshoots user problems and helps find, file and fix bugs in the
micro:bit editors and software layers. They’re always busy behind the scenes, smoothing your
path to digital creativity. Here’s who they are and what they get up to…

Jonny Austin, CTO


Jonny first got involved with micro:bit at Arm, who was one of the 30 partners that supported the
BBC to deliver the micro:bit. As the project rolled on, he got increasingly involved and is now
seconded from Arm, to lead the Tech Team and help support the ecosystem of fantastic partners and
community members around the micro:bit. He previously worked on Linux before moving to Arm’s
mbed team to focus on Bluetooth Low Energy. Jonny is also a co-founder of Makespace Cambridge,
which has informed and inspired his work at the Foundation … as well as providing him with a lot of
fun!
78
Technical Team :foundation

Matt Hillsdon, Web Technology Lead


As his job title suggests, Matt leads work on the Foundation's websites. He’s an experienced software
developer with a love of programming that dates all the way back to the BBC Micro. Away from the
keyboard, Matt enjoys cycling and playing pool – as well as having fun learning about the hardware
side of micro:bit.

Mark Williams, Tech Support Engineer


As you might have guessed, Mark provides technical support for micro:bit users. He’s done lots of
work with educators and students at all levels and enjoys finding ways to explain complex technical
issues to a non-technical audience. With a background in music education, Mark is often found
tinkering with technology to find new and interesting ways to use it.

Carlos Pereira Atencio, Software Engineer


Carlos first got involved in STEM education initiatives as a STEM ambassador … and when he met the
micro:bit at a Python User Group three years ago he got completely hooked! Within the Foundation
he concentrates on embedded software, but also enjoys collaborating on other software projects.
Carlos recently moved to Oxford to join the tech team in their new office.

Ross Lowe, Junior Software Engineer


Ross has been involved with the micro:bit for many years in a variety of ways – from contributing to
the official documentation to presenting it on BBC Radio 4’s Today Show and BBC TV’s The One Show.
Ross is currently using his gap year to work on the [Link] website and to help run the
micro:bit Global Challenge competition.

Joe Finney, Device Software Lead


Joe developed and maintains the micro:bit Device Abstract Layer (DAL) – a bit like a
tiny operating system for the micro:bit that’s used by user-friendly languages, such
as MakeCode and Micropython, to gain easy access to all the features on the micro:bit.
By night, Joe is also a senior lecturer at the School of Computing and Communications
at Lancaster University and plays bass guitar in a local rock band.

Sam Kent, Graduate Software Engineer


Sam also works on developing features and improvements for the micro:bit DAL, along with various
other bits of software within the ecosystem. He has an engineering background, and in his free
time, there’s nothing he enjoys more than building and fixing things.
Feedback
We’d love to get your feedback on this
issue of micro:mag. It helps us improve
the magazine. If you have anything
you’d like to share with us, please do get
in touch with us, we really appreciate it

Get in touch!
[Link]/contact
hello@[Link]
@micro_mag
80
:review Pimoroni touch:bit

Pimoroni
touch:bit
Six handy touch-sensitive
buttons and LEDs for your micro:bit.
automation:bit was.

The provided block library allows you to


independently control the LEDs beneath the
touch pads (providing you set them to manual
mode first), as well as sensing the input from the

Another useful device


for the micro:bit is 6/10 touch pads themselves, both as event triggers
and logic blocks (which is nice).

Pimoroni’s touch:bit. This has 6 capacitive touch


pads - these work a bit like the touchscreen of
your phone, and allow you to provide more
buttons to use to provide inputs to the micro:bit.
For a full explanation of how capacitive touch
works, you can check out Tanya Fish’s Pimoroni
blog post all about it at here. The board also has
LEDs mounted to allow you to give some basic
feedback when buttons are pressed. Back of the touch:bit, we love the handy
instructions and project ideas.

The install and set up of the touch:bit is really


easy, with a plug and play connector to connect to Maker Quote
the micro:bit and the software install a cinch.
“Use touch:bit as a controller for
Again though, there is no support for games on micro:bit's LED matrix, or
micropython - although this is less of an issue combine it with the radio
here because the board is far more geared to functionality and use it as a
beginners than advanced users, as the controller for your robot.“
81
Pimoroni touch:bit :review

The touch:bit provides a nice little touch interface for your micro:bit projects. Photo: Pimoroni

A major issue in our eyes though, is that there is


no bare copper on the capacitive touch pads like
on other competing boards (and even some of
Overall thoughts:
Pimoroni’s own), and even the micro:bit itself.
After playing with this addon board for a
Whilst this probably helps the aesthetics, it while now, we think this is a really nice
means you can’t connect the pads to other “first add-on board” for beginners, but a
sensors with alligator clips - sadly this means no couple of improvements we’ve
highlighted in this review would make this
fruit pianos, foil sensor-stairs or human chains.
perfect.
This is quite disappointing - as these types of
projects are amazing for engaging kids, and it
would’ve been an easy inclusion as far as we can
see. Combined with the fact that you lose the 3 Buy the Pimoroni Touch:Bit:
capacitive touch pads built in to the edge [Link]/touchbit
connector, this really takes away from the Also visit Pimoroni’s learn
potential uses for touch:bit in our eyes. site for some tutorials.
82
:review Pimoroni automation:bit

Pimoroni
automation:bit
Control and monitor your world
with automation:bit!
of electronic switch. This means that the
electronics from whatever you’re turning on
don’t come into contact with the micro:bit. This
is good for switching anything up to 24v - note
this means not mains devices, and unless you
have the relevant knowledge you shouldn’t put

One of Pimoroni’s newer


add-ons for the micro:bit is 7/10 them anywhere near your micro:bit! Low-voltage
things are all good to go though.

the automation:bit. Slightly confusingly named


(the automation comes from your code rather The ADC converts analogue signals (from

than the hardware), this neat little circuit board sensors - light sensors, dimmer switches, knobs

packs a relay, some 24V-tolerant inputs and or dials…) to digital number signals that you can

24V-sinking outputs and a 24V-tolerant use in your code. The extra special thing about

3-channel ADC (don’t worry, we’ll explain all that the ADC on the automation:bit though, is that

later!) you can again use it with anything up to 24v.


This means it’s useful for experimenting with

Put simply, this board allows you to control things like cars and boats (again, not unless you

electronics that have a higher voltage than the know what you're doing), which use 12v power

micro:bit is normally capable of using. This systems.

means that you could use things like water


pumps, USB devices, door locks and LED strips There are also 24V tolerant inputs and outputs,

with a micro:bit - neat! but they’re sinking rather than sourcing. This
means that you need to connect the positive
terminal of whatever needs turning on to your
In’s & Out’s
power source, but the negative terminal can be
Relays switch external loads - they’re like a sort
83
Pimoroni automation:bit :review

The automation:bit connects straight to the edge connector on the micro:bit. Plug and Play!
Photos: Pimoroni

attached to the output on the automation:bit. addition especially as it’s the language of choice
for most advanced projects.
The automation:bit is well designed, although
the screw terminals can be a little hard to use for We tried using the MakeCode library to switch a
fiddly fingers (we’d have preferred the set of USB (5v) fairy lights on and off depending
push-connector type which are easier to use). on the position of the compass - and it worked
The design is nice and clean, with some helpful fantastically. What could you control based on
hints for where to find out more info as well as the micro:bit’s inputs?
project examples and ideas.
Overall thoughts:
The support for MakeCode is plentiful, with clear
A really versatile piece of kit, but needs
instructions available on the github page,
micropython support to be truly useful for
although not in a particularly child-friendly more advanced projects and some more
format. Some more example project tutorials (a project ideas would be welcome.
la adafruit) would be great, but Pimoroni’s new
kits will partially cover that need.
Buy the automation:bit:
However, the lack of support for python is a little [Link]/autobit
disappointing - this would be a great
84
:review Adafruit Crickit for micro:bit

Adafruit
Crickit for micro:bit
The ultimate platform for building DIY
robots with micro:bit.
- Servo connectors
- Some I/O headers
We think that this is a pretty amazing range of
functionality that gets added to the micro:bit
when using Crickit, this definitely sets it apart
from other add-ons on the market, it’s ability to

Maker giant Adafruit have


entered the micro:bit game 9/10 do so much. All of this is powered by a 5V 2A DC
barrel jack, we find this as a weak point of this
board as we’d prefer the onboard USB to be it’s
with their first add-on board, but is it any good?
Adafruit have brought their Crickit robot way of power delivery as it’s a more common

platform to the micro:bit, joining their existing connector, sourcing a reputable DC power supply

line up of add-ons for the Feather, Circuit here in the UK can be quite expensive for some

Playground Express and the Raspberry Pi. This people. We have tested the Crickit with some

board aims to make building DIY robots as easy servos, motors and neopixels and we’re safe to

and simple as possible, basically the ultimate say this board makes it so easy for beginners to

driver board. start building robots with the micro:bit or even


those who just want to drive things like servos
and neopixels but want an easy way to wire them
Features
up to the micro:bit rather than having the hassle
The board boasts all the things you could ask for
of croc-clips.
when building a robot:
- Neopixel drivers
- Speaker output
Programming
- 2 DC motor outputs As with most add-on boards, you’d expect a

- 4 Stepper motor outputs MakeCode extension, this isn’t any different for

- Capacitive touch the Crickit. Adafruit have created a


85
Adafruit Crickit for micro:bit :review

The Crickit is easy to connect to your micro:bit, it’s simply plug + play! Photo: Adafruit

comprehensive MakeCode Extension that allows Resources


you to control all the onboard features with easy
If you’re familiar with Adafruit, you’ll have no
to use blocks. We like the fact that whilst it’s
doubt heard about their amazing learning site.
easy to use, it doesn’t compromise on
They’ve created a few guides which should be
expandability for more advanced users. Adafruit
enough to get you started and there are always
also claim that the Crickit works with Arduino
lots being added, you’ll find it hard to run out of
on the micro:bit, however we haven’t tested this.
things to do with this board!
One thing that did disappoint us about the
Crickit is the lack of MicroPython support. This is Overall thoughts:
a common occurrence with many add-on boards
for the micro:bit due to the size limitations of The crickit is an amazing add-on board
for those who want to tinker with robotics
the micro:bit’s memory but we hope in the
on the micro:bit, be that a beginner or
future than MicroPython is something that expert. However, the lack of Python
Adafruit will add support for and according to support prevents us giving this full marks.
their website this is something that they plan on
adding, we think that this would be a huge
Buy the Crickit:
improvement for those who want to use a more
[Link]/crickit
advanced language like Python to use the Crickit
86
:review Bit:Commander

4Tronix
Bit:Commander
Control your next micro:bit project
with Bit:Commander!
● Analog dial input
● Analog Joystick
● Powered miniature speaker
This add-on has a really impressive range of
inputs to make the perfect controller for your
micro:bit projects. The Bit:Commander priced at

Lots of projects out there


use 2 micro:bit’s in their 10/10 £16.90, which we think is just right for the
amount of features it has. One of the things we
like the most about this board is the onboard
projects, one of them is typically a controller for
the other micro:bit which will be the master for battery pack, this is connected to the PCB itself

the main project. Most people use all sorts of ways and allows you to add batteries to make the
to control the other micro:bit, the A+B buttons, micro:bit completely portable. This saves you

different gestures and sometimes this can be from having a battery pack plugged into the JST

hard to remember or isn’t really practical. connector with no way to hold it in place or

This is where Bit:Commander comes in. This neat having your micro:bit powered via USB all the

little add-on aims to be the perfect board for time, however, do note that when you are

adding to your controller. It boasts a variety of programming and testing over USB, for the

different inputs as well as some programmable features to work, you need batteries plugged in

lights, let’s take a look at some of the features. and the On/Off power switch on. Like with most
add-on boards, the micro:bit slots into the
Bit:Commander via an Edge Connector, this
Features
makes it easy to use because it’s simply plug and
● 6 multi-colour RGB LEDs (aka neopixels)
play. The overall design feels really nice and
● 4 push buttons with coloured caps (Red.
works well as a handheld controller and one
Yellow, Green, Blue)
thing that we’d like to see in a future revision of
87
Bit:Commander :review

The Bit:Commander plugs into the micro:bit by it’s edge connector. Photo: Josh

this board is something like a Vibration motor to written by the community and there are
add to the controller experience, we really liked resources for both MakeCode & MicroPython.
this about another controller type board we They’re great for beginners and make it really
reviewed last Issue, the :GAME Bit 64. easy to get started.

Programming Overall thoughts:


The Bit:Commander is really easy to program
We think this is the perfect add-on board
and it supports MakeCode & MicroPython. for those who want to create a controller
4Tronix have built a custom MakeCode library to for their micro:bit project, or even those
who just want to play around with
make it really easy to get started with coding the
joysticks, buttons and NeoPixels!
Bit:Commander. Whilst there is no bespoke
MicroPython library, it’s really easy to code the
Bit:Commander with MicroPythons existing
commands. Buy the 4Tronix Bit:Commander:
[Link]/bitcommand
Resources Resources:
The Bit:Commander has a variety of resources [Link]/commandres
that are linked to on the 4Tronix Blog, these are
Published by

[Link]
@micro_mag

Issue 3
January 2019
micromag.cc
@micro_mag (https://twitter.com/micro_mag?lang=en) (https://micromag.cc)
In This
Issue
The u
Welcome to Issue 3
Hi
Welcome to issue 3 of 
micro:mag! We have 
another fun packed 
issue for you today!
We have been overwh
4
Cover Feature:
10 Amazing
Projects
Page 22
Python Editor
BETA
Page 36
Make your own
add-on
Page 52
Page 6
:news
EduBlocks B
4
:feature
Projects 4-6
Mega:bit, VR & hovercraft
26
Projects 7-10
Display, Bike sim, Guitar & Pong
29
Scratch to micro:bit
L
Win a zbit:speaker!
Competition
With zbit:connect, we are giving our readers the chance to win a 
zbit:speaker add-on board!
(https://www.kitronik.co.uk/microbit.html)EduBlocks micro:bit
BETA
A refresh of the EduBlocks for 
micro:bit editor is here
Global Challenge
Winners!
If you cast your mind 
back to Issue 2, we 
advertised the 
micro:bit Global 
Challenge. After 
hun
Looking for a job?
Micro:bit are Hiring!
The awesome 
Micro:bit Educational 
Foundation are hiring 
for developers! There 
ar
Announcing 
BittyWeb from 
Bitty Software
Create the most inclusive and immersive STEM 
lessons for the whole class with Bitt

You might also like