Author Topic: Review: BBC Micro:Bit  (Read 2892 times)

0 Members and 1 Guest are viewing this topic.

Offline hamster_nzTopic starter

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Review: BBC Micro:Bit
« on: January 23, 2018, 10:21:53 am »
TLDR: Just buy one and play with it. You won't regret it.

Today I got a Micro:Bit from https://learningdevelopments.co.nz for 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: [Select]
letPressed = 0
input.onButtonPressed(Button.A, () => {
  Pressed = 1
})
basic.showLeds(`
  . # . # .
  . . . . .
  . . # . .
  # . . . #
  . # # # .
  `)
Pressed = 0
basic.forever(() => {
  basic.pause(100)
  if(Pressed == 1) {
    basic.showLeds(`
    . . # . .
    . . # . .
    . . # . .
    . . . . .
    . . # . .
    `)
  }
})

- In MicroPython (no simulator to test on though). e.g:

Code: [Select]
  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.
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 
The following users thanked this post: cdev

Offline MT

  • Super Contributor
  • ***
  • Posts: 1616
  • Country: aq
Re: Review: BBC Micro:Bit
« Reply #1 on: January 23, 2018, 01:01:53 pm »
Real men use local software, SDK, PC's not Apple apps, STMlinkV2, configurates all day, debugs all day and then
drinks beer in a sauna while nude woman scratches their hairy chest.... Like real men do!


 
 
The following users thanked this post: hamster_nz, stj

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 4228
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: Review: BBC Micro:Bit
« Reply #2 on: January 23, 2018, 03:29:56 pm »
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.

I'm not sure how I feel about this.

The original BBC micro was a fantastic learning tool. You get a built-in BASIC interpreter and a 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, and permits it to run.

This is potentially a hugely damaging shift in mind set, IMHO, and I'm sure it's anything but an accident.

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14476
  • Country: fr
Re: Review: BBC Micro:Bit
« Reply #3 on: January 23, 2018, 03:50:42 pm »
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, and permits it to run.

This is potentially a hugely damaging shift in mind set, IMHO, and I'm sure it's anything but an accident.

I 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.
 

Offline phil from seattle

  • Super Contributor
  • ***
  • Posts: 1029
  • Country: us
Re: Review: BBC Micro:Bit
« Reply #4 on: January 23, 2018, 07:39:39 pm »
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?
 

Offline hamster_nzTopic starter

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Review: BBC Micro:Bit
« Reply #5 on: January 23, 2018, 08:44:32 pm »
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?
(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 background

You 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.


Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 
The following users thanked this post: cdev

Offline TopLoser

  • Supporter
  • ****
  • Posts: 1925
  • Country: fr
Re: Review: BBC Micro:Bit
« Reply #6 on: January 23, 2018, 08:54:01 pm »
I’ve got hundreds of these piled up, if there’s any interest I’ll start sorting good from bad.
 
The following users thanked this post: ralphrmartin

Offline cdev

  • Super Contributor
  • ***
  • !
  • Posts: 7350
  • Country: 00
Re: Review: BBC Micro:Bit
« Reply #7 on: January 23, 2018, 08:56:32 pm »
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)


TLDR: Just buy one and play with it. You won't regret it.

Today I got a Micro:Bit from https://learningdevelopments.co.nz for 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: [Select]
letPressed = 0
input.onButtonPressed(Button.A, () => {
  Pressed = 1
})
basic.showLeds(`
  . # . # .
  . . . . .
  . . # . .
  # . . . #
  . # # # .
  `)
Pressed = 0
basic.forever(() => {
  basic.pause(100)
  if(Pressed == 1) {
    basic.showLeds(`
    . . # . .
    . . # . .
    . . # . .
    . . . . .
    . . # . .
    `)
  }
})

- In MicroPython (no simulator to test on though). e.g:

Code: [Select]
  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.
"What the large print giveth, the small print taketh away."
 

Offline Fred27

  • Supporter
  • ****
  • Posts: 726
  • Country: gb
    • Fred's blog
Re: Review: BBC Micro:Bit
« Reply #8 on: January 23, 2018, 10:08:12 pm »
I’ve got hundreds of these piled up, if there’s any interest I’ll start sorting good from bad.
My 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. I almost got one today. I suspect a TopLoser deal will tip me over the edge.
 

Offline hamster_nzTopic starter

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Review: BBC Micro:Bit
« Reply #9 on: January 23, 2018, 10:57:59 pm »
I’ve got hundreds of these piled up, if there’s any interest I’ll start sorting good from bad.
My 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. I almost got one today. I suspect a TopLoser deal will tip me over the edge.

Do it! Even if they just do:

Code: [Select]
if  temp > (whatever is too hot for you)
  display an up arrow
else
  if  temp < (whatever is too cold)
    display an down arrow
  else
   display 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.
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Review: BBC Micro:Bit
« Reply #10 on: January 23, 2018, 11:07:56 pm »
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 faster  :)

As 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.
 
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Offline hamster_nzTopic starter

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Review: BBC Micro:Bit
« Reply #11 on: January 23, 2018, 11:39:24 pm »
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 faster  :)

Ah... 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.
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Online ralphrmartin

  • Frequent Contributor
  • **
  • Posts: 480
  • Country: gb
    • Me
Re: Review: BBC Micro:Bit
« Reply #12 on: January 25, 2018, 05:03:58 pm »
I’ve got hundreds of these piled up, if there’s any interest I’ll start sorting good from bad.

You know you need more space in that office of yours...  8) ;D
 

Online ralphrmartin

  • Frequent Contributor
  • **
  • Posts: 480
  • Country: gb
    • Me
Re: Review: BBC Micro:Bit
« Reply #13 on: January 25, 2018, 05:05:53 pm »
MicroBits are also programmable using mbed

https://os.mbed.com/platforms/Microbit/
 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 593
Re: Review: BBC Micro:Bit
« Reply #14 on: January 27, 2018, 06:57:24 am »
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.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf