RoadTest: We’re giving away 5 BBC micro:bits!
Author: dougw
Creation date:
Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: N/A
What were the biggest problems encountered?: The only problem was the micro:bit introduction was delayed by months, so the road test device was not available for months.
Detailed Review:
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, JavaScript, Block Editor |
Display | Monochrome - 25 lines x 80 char External monitor 11.5" screen, (17 lbs. 2,310 cubic inches) | 640 x 256 x 8 colours External monitor/TV | 25 LEDs, external terminal |
Sensors | External IBM 83 key keyboard | 74 key keyboard | 3 buttons, 3 axis accelerometer, 3D magnetometer |
Non-volatile memory | 5¼" diskette drive 160KByte/disk, 20Kbits/s | 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) (£2644 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.
Top Comments
I really enjoyed the review, very informative.
Dale
In my opinion of user and road tester, in some cases of the same product, the reviews of Douglas remain a masterpiece.
Enrico
It doesn't help much to put the dark material under the white material although it does make it a bit harder to see the "off" LEDs. The purpose of dark material is to provide high contrast to the LED light…