Review: BBC Micro:Bit - Page 1
Forum section: electronics / general

author: hamster_nz
author_rank: Super Contributor
timestamp: January 23, 2018, 10:21:53 am
content: TLDR: Just buy one and play with it. You won't regret it.Today I got a Micro:Bit fromhttps://learningdevelopments.co.nzfor NZ$24.95 + p+p, including USB cable, batteries and battery box. It is very, very, very, very slick and accessible. If you ever want to introduce somebody yound to embedded programming this is very hard to beat.To me it seems to be what Arduino promises to be (".. electronics platform based on easy-to-use hardware and software...")Specs are:- Nordic Semiconductor nRF51822, 16 MHz ARM Cortex-M0 microcontroller,- 256 KB Flash, 16 KB RAM.- Connectivity: Bluetooth LE, MicroUSB, edge connector.- Physically it is about half the size of a credit card.- An accelerometer and compass, two buttons, and 25 LEDs in a matrix.No local software is needed on your PC - no drivers, no SDK, no flashing tools, not even Putty. Zero. Zip, Nada.You write on a web page, and then flash it over-the-air via iOS or Android app, or plug it into a PC with USB. It presents as a USB mass storage device onto which you save your downloaded 'hex' files.You can program it in nice, simple, accessible ways:- Blocks. Very similar to MIT's Scratch. It has a simulator built in so you can test your code before flashing it.- JavaScript (yes, I know - WTF?). But what is really neat is that you can switch between Javascript and Blocks, and you can use the simulator too . Here is some code originally written in Blocks converted to Javascript:Code:letPressed = 0input.onButtonPressed(Button.A, () => {Pressed = 1})basic.showLeds(`. # . # .. . . . .. . # . .# . . . #. # # # .`)Pressed = 0basic.forever(() => {basic.pause(100)if(Pressed == 1) {basic.showLeds(`. . # . .. . # . .. . # . .. . . . .. . # . .`)}})- In MicroPython (no simulator to test on though). e.g:Code:from microbit import *while True:display.scroll('Hello, World!')display.show(Image.HEART)sleep(2000)It is so easy it makes Arduino look like rocket surgery.There is also an nice range of inexpensive options like breakouts & 2WD robots, motor drivers and so on.It is super-neat & nifty. Get one.

author: MT
author_rank: Super Contributor
timestamp: January 23, 2018, 01:01:53 pm
content: Real men use local software, SDK, PC's not Apple apps, STMlinkV2, configurates all day, debugs all day and thendrinks beer in a sauna while nude woman scratches their hairy chest.... Like real men do!

author: AndyC_772
author_rank: Super Contributor
timestamp: January 23, 2018, 03:29:56 pm
content: Quote from: hamster_nz on January 23, 2018, 10:21:53 amI'm not sure how I feel about this.The original BBC micro was a fantastic learning tool. You get a built-in BASIC interpreteranda 6502 assembler. It booted up and accepted commands immediately from ROM. There's limited memory, but almost unlimited ability to plug in extra hardware, and drive it by poking registers. As an accessible way to learn the fundamental skills in embedded programming it has yet to be bettered, IMHO.What worries me with the Micro:Bit is that it risks getting the next generation of coders used to the idea that it's OK for a platform to require a manufacturer's support in order to be able to program it. It's exactly as open and flexible as the on-line dev tools happen to allow it to be on any particular day. Ultimately, someone else has access to your code, andpermitsit to run.This is potentially a hugely damaging shift in mind set, IMHO, and I'm sure it's anything but an accident.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 23, 2018, 03:50:42 pm
content: Quote from: AndyC_772 on January 23, 2018, 03:29:56 pmI agree with the points you made. I also think that learning how to use tools is part of the learning process. It looks like this general educational trend where we are switching from "learning how to learn" to "just learning how to do stuff". This can't be good in the long run.Beside that, it just ties people to external institutions and corporations, as you said, which ends up depriving them of their autonomy and ultimately, their freedom. Something to think about.

author: phil from seattle
author_rank: Super Contributor
timestamp: January 23, 2018, 07:39:39 pm
content: Well, I'm not sure I see this a plot to reduce the next generation to mere vassals of a large bureaucracy but I wonder how much one can do with this thing. As a simple learning tool, it looks ok. But does it form the basis for a journey into a deeper understanding of microcontrollers or is it just a couple of semi-canned demos? At least the Arduino encourages a deep dive and can form the basis of a lot more than a couple demos, does the Micro:bit do the same?

author: hamster_nz
author_rank: Super Contributor
timestamp: January 23, 2018, 08:44:32 pm
content: Quote from: phil from seattle on January 23, 2018, 07:39:39 pm(I did teach Code Club for a couple of terms...)Depends on what you mean "deeper understanding". It allows you to do stuff and quite complex stuff. This is what you can do in the web-based "Blocks" editor, without reaching for Python.- Display- Buttons- Music- Send messages over radio (BLE?)- variables (define, set, get)- basic math (+, -, *, /)- make functions (new blocks)- use arrays- manipulate text strings- sprites (not sure how good this is!)- Digital I/O (on edge connector)- Analog IO (on edge connector)- Servo I/O (on edge connector)- Serial I/O to edge connector- run tasks in backgroundYou can then add in additional services from a URL - Camera, remote control, Bluetooth, Adafruit Neopixel drivers are currently available.See the screenshot, with the simulator on the left. If you want to code in text, just click the "JavaScript" button.As a 'gateway drug' to Arduino and then pure C, if this doesn't get them hooked nothing will.

author: TopLoser
author_rank: Unknown
timestamp: January 23, 2018, 08:54:01 pm
content: I’ve got hundreds of these piled up, if there’s any interest I’ll start sorting good from bad.

author: cdev
author_rank: Super Contributor
timestamp: January 23, 2018, 08:56:32 pm
content: It looks a lot like Gnuradio Companion, which Ive always found to be really good. (I really wish that there was something similar that I could use with Arduino-compatible boards, if there was it would be awesome)Quote from: hamster_nz on January 23, 2018, 10:21:53 am

author: Fred27
author_rank: Unknown
timestamp: January 23, 2018, 10:08:12 pm
content: Quote from: TopLoser on January 23, 2018, 08:54:01 pmMy 6 year old and 4 year old are just starting to play with Scratch. I was close to getting them a microbit today to see if a physical device would encourage them further. Ialmostgot one today. I suspect a TopLoser deal will tip me over the edge.

author: hamster_nz
author_rank: Super Contributor
timestamp: January 23, 2018, 10:57:59 pm
content: Quote from: Fred27 on January 23, 2018, 10:08:12 pmDo it! Even if they just do:Code:if temp > (whatever is too hot for you)display an up arrowelseif temp < (whatever is too cold)display an down arrowelsedisplay a tick.end if;end if;... and it then lives on their bedroom wall allowing them to nag their parents, then it will have given them lots of learning/understanding - not only of code, but of things like temperature, and that people build tech things.PS. And maybe get one for yourself. Nothing is worse than when Mum/Dad won't let you play with your toys cause they are using it.

author: igendel
author_rank: Frequent Contributor
timestamp: January 23, 2018, 11:07:56 pm
content: I've been playing a little with a Micro:bit board, even made some videos (hint hint). For MicroPython development I found Mu Editor (https://codewith.mu/) to be very convenient - I don't care much for web-based IDEs. C++ coding (on mbed) was a bit harder to figure out but ran about 100 times fasterAs for its educational value... well the tools for kids do everything possible to hide the hardware, but the hardware is not much, so you end up with a very limited set of capabilities and very little flexibility. To me it seems that overcoming these obstacles, after getting used to things being so easy, is actually harder than starting at the basics, so what's the point.Now if the Micro:bit in schools helps to expose kids to hardware and software, even just a taste, it's obviously better than nothing. But to spark real interest and motivation to dive deeper - that's probably up to the teacher or the mysterious "knack"; neither the Micro:bit nor any other board can do the trick just by existing. That being said, if your kids already show some interest and you can guide them, it's a fun board to have.

author: hamster_nz
author_rank: Super Contributor
timestamp: January 23, 2018, 11:39:24 pm
content: Quote from: igendel on January 23, 2018, 11:07:56 pmAh... I know of the author of Mu, Nicholas Tollervey - I recently ordered his O'Rielly book - "Programming with MicroPython: Embedded Programming with Microcontrollers and Python" for something to idle time away with. Will no doubt come across Mu in that.

author: ralphrmartin
author_rank: Frequent Contributor
timestamp: January 25, 2018, 05:03:58 pm
content: Quote from: TopLoser on January 23, 2018, 08:54:01 pmYou know you need more space in that office of yours...

author: ralphrmartin
author_rank: Frequent Contributor
timestamp: January 25, 2018, 05:05:53 pm
content: MicroBits are also programmable using mbedhttps://os.mbed.com/platforms/Microbit/

author: jnz
author_rank: Frequent Contributor
timestamp: January 27, 2018, 06:57:24 am
content: Oh so the JavaScript is a byte Code compiler, not an on chip interpreter?Because I’m back on the hunt for a great embdedded scripting system.