|Product Performed to Expectations:||10|
|Specifications were sufficient to design with:||10|
|Demo Software was of good quality:||10|
|Product was easy to use:||10|
|Support materials were available:||10|
|The price to performance ratio was good:||10|
|TotalScore:||60 / 60|
After about a nine month suspenseful wait for a micro:bit to arrive, I finally get to test one for myself.
The BBC micro:bit is a phenomenal initiative to introduce youngsters to the world of electronics and computing. I would love to see the initiative spread to other countries, like Canada, where I live.
In this road test / review I would like to do a little engineering analysis and explain how to interface the micro:bit to other electronics.
But first a few comments on the significance of this platform as a free give-away to students.
Back in 1981 the BBC commissioned development of the BBC Micro for the BBC Computer Literacy Project and it eventually made its way into about 80% of schools in the UK due to a 50% procurement subsidy from the government. This initiative was a phenomenal success in launching UK students into the computer era. It even has a fairly direct connection to development of ARM technology which is so ubiquitous today.
The BBC micro:bit launching this year, with the goal of providing a free micro:bit to every 7th grade student in the UK, is intended to help address the expected severe shortage of technical expertise in the near to medium future. It is a spectacularly forward thinking initiative that is sure to have far reaching and positive consequences.
The table below compares the capabilities of the BBC micro:bit to the original IBM PC and the original BBC Micro.
|Category||IBM PC (1981)||BBC Micro (1981)||BBC micro:bit (2015)|
|Size||1,760 cubic inches, 25 lbs.||439 cubic inches||0.5 cubic inches, 0.018 lbs.|
|Power||120 v. AC, 63 Watts||220VAC < 50Watts||3V DC, 0.1 W|
|CPU||8/16 bit, 8088, 4.77 MHz||8 bit, 6502A, 2 MHz||32 bit ARM CortexM0, 16 MHz|
|Memory||40K ROM, 16K RAM||32K ROM, 16K RAM||128 K FLASH, 16 K RAM|
|Software||BIOS, DOS, BASIC||BBC Basic||TouchDevelop, uPython,|
- 25 lines x 80 char
External monitor 11.5" screen, (17 lbs. 2,310 cubic inches)
|640 x 256 x 8 colours|
|25 LEDs, external terminal|
|Sensors||External IBM 83 key keyboard||74 key keyboard||3 buttons, 3 axis accelerometer,|
|Non-volatile memory|| 5¼" diskette drive|
|300 Baud cassette|
Tape ~ 100 Kbytes
|128 Kbyte Flash, 256 Mbits/s|
|Communications||RS-232C, 115.2 Kbaud||RS423, 19.2Kbaud||USB, Bluetooth, > 2 Mbaud|
|Price||$1565 ($4100 today)|
|£235 (£764 today)||Free|
Clearly the micro:bit is a platform with extensive computing potential and the shear number of them will ensure many great applications get developed for it.
I think it would be interesting to port BBC Basic to the micro:bit to perform a more direct comparison.
I had designed some interfaces for the micro:bit 8 months ago based on information available at the time. Some of the documentation has changed since then, so be careful when using old information on this product.
Here is an unboxing video to get started with the road test:
The micro:bit is a nice pocket sized computer, but perhaps a little fragile for pocket transport. Maybe your first project should be to make a protective case for it.
Next just a quick note about making the LEDs a bit more legible for some applications:
The next video shows the demo firmware that comes installed on the micro:bit:
Before getting into programming, I want to show how to create a low cost breadboard interface:
Here is a demonstration of the breadboard interface in action:
Now lets try programming. I am using microPython for micro:bit because it looks like it provides better support for SPI and I2C.
The microPython development environment is nice and simple - type in some code and click on the Flash button and the code automatically compiles, downloads and runs.
Here is my first program:
And here it is running:
For my second program I wanted to show the magnetometer sensor in action so I loaded a compass program:
And here it is running:
Back to more applications - programming with the breadboard:
Here is a program to toggle a pin on the micro:bit connector:
And here is the program running:
The micro:bit is a lot of fun to play with, the simple development environment and built-in hardware allow interesting programs to be tried out without a huge learning curve.
It may take some time before I get a Bluetooth 4 app running as none of my Bluetooth devices have BLE, but I intend to explore this capability.
There is a lot of power under the hood and I expect some of these modules will end up in amazing applications.
Thanks to element14 for the opportunity to explore the technology behind this bold educational experiment.