Notice: we will be closed on Friday April 19. See our blog for notices regarding shipping and local pickup orders.


December 20, 2018


Posted in microbit, rh, xmas

Micro:Bit 2 player Christmas Messenger

Merry Christmas from Elmwood !

Here's a very silly two player game for two Micro:Bits to message each other holiday icons. 

You can

Press A to send a Christmas Tree with a blinking light.

Press B to send a Grinch Face. 

Press A + B to send a heart.  


Shake the Micro:Bit to send a hug. 

To the other Micro:Bit !

You can use this to make a Rock Paper Scissors type guessing game, or make up your own rules ! 


Both Micro:Bits will need to have the same HEX file on them

Enjoy !

June 18, 2018


Posted in microbit, rh

Things We Sell ! BBC Micro Bit

A new regular Blog series.
Featuring quick overviews of the various platforms Elmwood offers.

micro bit

Product :

BBC Micro Bit    Wikipedia

Current model: 

Micro Bit  v1

A tiny ARM chip with integrated motion sensor, bluetooth, two buttons & LED grid. 

Previous models:


Installed user base :

The BBC gave out 1 million units to grade 7 students in 2016, with 90%
reporting it made learning programming easier.

As production ramped up, commercial + educational sales have lead to shortages in the past , so a very popular platform.

Out of the Box :

Basic as long as you have a USB to microUSB cable
and access to a computer with a modern browser like Chrome, good to go!

You'll need a battery pack If you want to use it away from a computer ONCE you have already programmed it. 

MicroBit GO : Battery pack, batteries & usb cable included

Elmwood Bundle : Battery pack, batteries, usb cable & case included

You can also pair with Android or iOS instead of a laptop to program the MicroBit, but haven't tested that here.

Suggested Companions Out of the box:

MiPower is a bit more convenient than the JST battery pack

Inventors Kit a very popular starter kit.

KittenBOT is just adorable

Tank body. nuff said. 

Intended Use :

Home or Classroom fun and enjoyment learning basics of programming.


Programming :

Blocks editor in browser 

Python in browser

If you want to code without access to the internet, the Mu editor is a great way to program MicroPython devices including the MicroBit.

Performance :

More of a conveniently packaged chip with controls for learning computing than a barn burning processor.

Hackery :

Good generic platform for quickly prototyping any simple experiment.
Integrated bluetooth and buttons as well as 5 gator clips provide ample

Or hookup a breakout board to access almost everything.

Or get mobile with your own motor board solution.

Our Full Range of MicroBit Products

Next week :

Arduino !

micro:bit as a Bluetooth Low Energy gestural controller

We're finding more and more to do with the micro:bit. Not merely did Craig upgrade his Christmas Tree decorations to be micro:bit-powered and NeoPixel-driven, but we also discovered how to use a micro:bit as a BLE gestural controller. Best of all, it doesn't need much extra hardware beyond a micro:bit go kit and a BLE-capable computer (like a Raspberry Pi Zero W or Raspberry Pi 3). You can also use the same micro:bit code with Bitty Software's “bitty blue” app for iOS or Android.

The micro:bit has a bunch of sensors built in — accelerometer, compass, temperature, buttons, digital and analogue I/O, plus the 5×5 LED display — and they can be read and set over BLE.

To start, you'll need to download and install the Bitty Blue firmware hex file onto your micro:bit over USB. The download file is here— — and choose the “no pairing required” version. Once the program is on your micro:bit, it will ask you to draw a circle by tilting the micro:bit to calibrate the magnetometer.

Next, you'll need to associate the micro:bit with your Raspberry Pi. Open a terminal and type bluetoothctl, then enter the following commands. I've added some comments following # signs; you don't have to type those:

scan on  # start looking for new devices
  Discovery started
  [CHG] Controller B8:27:EB:0E:C8:6B Discovering: yes  # ← your BLE adapter address
  [NEW] Device D5:9F:24:AE:0C:EC BBC micro:bit [zozug] # ← your micro:bit BLE address
connect D5:9F:24:AE:0C:EC                              # use your micro:bit BLE address
  Attempting to connect to D5:9F:24:AE:0C:EC
  [CHG] Device D5:9F:24:AE:0C:EC Connected: yes
  Connection successful


Now install python-bluezero so you can talk to your micro:bit:

sudo pip3 install bluezero


Then you can run a little program like this to scroll messages on your micro:bit's LEDs:

#!/usr/bin/env python3
# encoding: utf-8

from bluezero import microbit
# important: change adapter_addr and device_addr to the values you got above
ubit = microbit.Microbit(adapter_addr='B8:27:EB:0E:C8:6B',
my_text = 'Hello, world'

while my_text is not '':
    ubit.text = my_text
    my_text = input('Enter message: ')



(For more examples, please see Barry Byford's RPi <-> micro:bit Workshop, from which this blog post is derived.)

I'm working on getting all the buttons on the SparkFun gamer:bit board to work with bluezero. Then it will be a real game controller!

BBC micro:bit

Once upon a time in a faraway land there was a computer called the BBC Micro. And all the children in that faraway land (including your humble scribe) nominally learned to program on those fabled BBC Micros. And, as they say, all lived happily ever after. Or at least learned how to print rude words on a computer screen while the teacher wasn't looking.

The BBC Micro may be consigned to history, but the BBC micro:bit is no fairy tale. It's a tiny microcontroller board developed for UK schools. At its heart is an ARM Cortex-M0 processor with Bluetooth LE, coupled to a motion sensor and electronic compass. It's got a 5*5 array of red LEDs as a display and two buttons for inputs. It can also run from a battery pack via the built-in JST connector, and its edge connector has pads and rings for alligator clips and banana plugs.

We're happy to offer a variety of micro:bit equipment in Canada, including the micro:bit go bundle and many micro:bit accessories. While you can program it in many languages, I especially like MicroPython. It works really well with the Mu editor for easy and quick coding.

Here's an example script that slowly changes the colours of an 8 NeoPixel strip. 


from microbit import *
from random import randint
import neopixel

# Define a NeoPixel Strip of 8 pixels with
#  DATAIN connected to micro_bit pin 0
np = neopixel.NeoPixel(pin0, 8)

# wheel() returns (R, G, B) tuple of colours
#  picked from a colour wheel from input 0..255
# converted from Adafruit example code for Arduino
def wheel(pos):
    if pos<85:
        return (pos * 3, 255 - pos * 3, 0)
    elif pos<170:
        return (255 - pos*3, 0, pos * 3)
        return (0, pos*3, 255 - pos*3)

while True:                     # endless loop
    k=k+1                       # colour counter
    if k>255:
    # Set whole strip to same colour
    for pixel_id in range(0, len(np)):
        np[pixel_id] = wheel(k)
    # update strip

And here's a spectacularly annoying example that plays the NyanCat theme through a small speaker or piezo buzzer forever — but it gets slightly faster every time!

# nyan but it gets faster
import music
beats = 120
while True:
    beats = beats + 1

Have fun with your micro:bit!