Merry Christmas from Elmwood !
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.
A new regular Blog series.
Featuring quick overviews of the various platforms Elmwood offers.
BBC Micro Bit Wikipedia
Micro Bit v1
A tiny ARM chip with integrated motion sensor, bluetooth, two buttons & LED grid.
Installed user base :
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:
Intended Use :
Home or Classroom fun and enjoyment learning basics of programming.
If you want to code without access to the internet, the Mu editor is a great way to program MicroPython devices including the MicroBit.
More of a conveniently packaged chip with controls for learning computing than a barn burning processor.
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.
Next week :
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— http://www.bittysoftware.com/downloads.html#bitty_blue — 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 disconnect exit
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', device_addr='D5:9F:24:AE:0C:EC') my_text = 'Hello, world' ubit.connect() while my_text is not '': ubit.text = my_text my_text = input('Enter message: ') ubit.disconnect()
(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!
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: pos=pos-85 return (255 - pos*3, 0, pos * 3) else: pos=pos-170 return (0, pos*3, 255 - pos*3) k=0 while True: # endless loop k=k+1 # colour counter if k>255: k=0 # Set whole strip to same colour for pixel_id in range(0, len(np)): np[pixel_id] = wheel(k) # update strip np.show() sleep(5)
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: music.set_tempo(bpm=beats) music.play(music.NYAN) beats = beats + 1
Have fun with your micro:bit!