STEM: micro:bit Inventor's Kit - Review

Table of contents

RoadTest: STEM: micro:bit Inventor's Kit

Author: shwetankv007

Creation date:

Evaluation Type: Development Boards & Tools

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?: CodeBug: I had some tinkering around the microchip codebug with some young students under the STEM program, with a similar LED matrix as in the microbit, however Microbit gets a clean sweep in terms of processing power and functionalities Arduino Experiment kit: They don't give as friendly environments but are used for STEM education purpose heavily, and have a lot of functionalities in form of shields.

What were the biggest problems encountered?: The kit is easy to go with, moreover the documentation was good along with the experiment booklet that arrived with the module.

Detailed Review:

INTRODUCTION

As the tagline goes Microbit is a tiny programmable computer, designed to make learning and programming easy. Microbit actually stood up to their tagline giving excellent processing power and easy programming tools on the same package.

I had some experience with the microchip code bug and used it with one of my friend to promote STEM education in young enthusiasts. They loved the drag and drop programming functionalities and the LED matrix. Though codebug was an 8-bit controller based module but the experience was great while working with it. So I decided to jump on the opportunity to get the BBC Microbit.

image

Microbit has a 32bit ARM cortex M0 at its heart and onboard accelerometer and magnetometer, moreover the BLE functionality is again a big edge over other boards. With an easy to use programming environment and the pick and place feature, it was really an experience. I was more intrigued by the fact that the GPIOs and expansion are really easy to connect to and we get all of this with the ARM core.

I found this interesting comparison between the codebug and microbit while surfing for the same:

image

More information can be found by following this link:

https://www.impulselabs.io/blogs/the-edutech-blog/100601926-comparison-codebug-vs-the-bbc-micro-bit

The whole idea of helping children in school to get aquainted with the technological platforms is really facinating and has a lot of potential. Kids have really good creativity and they accelarate the module to another level. However I was not quite able to get this board to kids since I got hung up in some work and the winter holidays have started. But I will surely be posting updates.

Anyway I myself tested the product and let my younger little sister to tinker with the module. So I divided the review in few parts:-

1. Unboxing and Overview

2. Hardware Walkthrough

3. Software Walkthrough

 

Unboxing and Overview

The product was intact and in its best state when arrived, the packaging was really good with bubble wraps and antistatic packing. Once I opened the box it had two separate boxes one with all the required components for the experiments and other with the Microbit itself. I powered the board and took a look at the out of the box example already installed in it. The example featured the use of two general purpose buttons and the LED matrix along with its accelerometer.

 

{gallery} My Gallery Title

image

The inventor's kit

image

image

image

image

image

image

 

 

The following items are included in the kit:

1 x Base Plate with 4 columns

1 x Potentiometer & Finger Adjust Spindle.

1 x Sticky Fixer for Battery Pack.

1 x Small Prototype Breadboard.

1 x Terminal Connector.

4 x Push Switch.

1 x Motor.

1 x Transistor.

2 x Red 5mm LED.

2 x Orange 5mm LED.

2 x Yellow 5mm LED.

2 x Green 5mm LED.

1 x RGB 5mm LED.

1 x Fan Blade.

5 x 2.2KΩ Resistor.

5 x 10KΩ Resistor.

5 x 47Ω Resistor.

1 x Edge Connector Breakout Board for BBC micro:bit.

1 x Miniature LDR.

10 x Male to Male Jumper Wires.

10 x Male to Female Jumper Wires.

1 x 470uF Electrolytic Capacitor.

1 x Piezo Element Buzzer.

2 x Pan Head M3 Machine Screw.

 

The kit is a complete package for anybody who wants to get started with electronics with a little knowledge and understanding about the basic principles. The example booklet is also really thorough with all the required information to assemble and power the board. It has 10 examples that start from hello project up to the advanced projects that involve interfacing and using the peripherals for practical uses. I was really intrigued and I am looking forward to propose this kit as a part of school lab for secondary students.

 

Hardware Walk-Through

So apart from the general components that come along with the kit for carrying on the experiments, the centre point of attention is the BBC Microbit. All the components were great as a combo for carrying out all the projects and the theory included in the booklet is really good to go on with these projects.

I would be focusing mainly on exploring the hardware design and layout of the Microbit board since it holds the major electronics portion.

The hardware mainly isn’t much to define since the NRF51822 chip is a combined ARM cortex core M0 based CPU with an onboard Bluetooth low energy (BLE). Below are the introduction image of the nrf controller.

 

image

 

The sheet also says that it has on air compatibility with the nrf24l series and I do have a lot of those laying around so I am thinking of a sensor network with mircobit as the central gateway. However I still need to dig deeper for the same about the existing support of libraries and/or documentation for communication. Again some of the peripherals that we get along with this are:-

  • Serial I2C communication
  • Internal RTC
  • 8-channel 10 Bit ADC
  • Up to 31 GPIOs
  • Temperature sensor
  • SPI master/Slave
  • UART

 

NRF51822 Controller

 

So, the central controller features a lot of functionalities and I am really thinking of using the same in one of my projects in near future. But the use of such powerful board for educating is a really good thought.

I found the schematics for the microbit as well and it is a fairly simple design with required protections considered.

I will try to discuss all the components and cover as much as I can. The first part that I am going to discus is the controller itself, Nrf51822 is the heart of the system and is basically wired to all the input output pin including the two user buttons and the LED matrix. It is also connected with the USB controller about which we will discuss in more detail.

 

image

It has a 16MHz crystal with the two startup capacitors. A power on reset circuit is included along with a parallel reset switch conecting reset pin to ground.

Then there is an antenna matching circuit along with a balun that feeds the antenna. There are a bunch of capacitors placed in order to filter out the power circuit noises, all the decoupling and filtering are done here. Overall the design is quite good and reliable. All the other connections are also populated on the board itself that gives clause to connect to external devices.

Also the magnetometer and accelero are also connected via I2C lines.

 

LED Matrix, User Buttons & Expansion

So the board takes the use of its 31 GPIOs and a 9*3 matrix led is connected out of which only 25 are populated. There are two user buttons namely ‘A’ and ‘B’ that can be easily configured by the input panel functions in the Microsoft MakeCode.

Apart from this there is an expansion pinout for connections with other peripherals as required.

 

{gallery} My Gallery Title

image

Expansion connector

image

LED Matrix

image

User Buttons A & B

 

Power Supply

To be very honest, there is not much in the power circuit since the board uses a USB controller IC which regulates the 5Volt usb supply to low power 3.3Volts for powering up the peripherals including the main controller. However there is a separate JST connector which can be used to give input power from a small battery or a batter pack with two AAA cells.

We have two schotky diodes for reverse polarity protection. Note that both the diodes are low dropout voltage and high operating power devices for better stability and lower power loss.

image

 

Accelerometer & Magnetometer

So the module has an onboard accelerometer and magnetometer that can be used in numerous applications. The central controller does not have internal accelero so the board consist of MAG3110 as the magnetometer and MMA8653FC as accelerometer. Both the components work pretty much out of the box with very limited discrete external components. A couple of bypass and filter capacitors have been used to pull down the noises.

Since both the devices work on I2C communication, we have the much needed pull up resistors to communicate with the open drain mode.

imageimage

USB Control Unit

Moving on we have on board functionality to communicate directly with the PC and this is done using a usb controller. The circuit consists of MKL26z128VFM4 chip, this is a single ARM cortex M0 based controller which is responsible for conversion from 5Volt to 3.3v for other peripherals. It features a small power voltage regulator which was a very interesting feature for me.

We have a 16MHz crystal with startup capacitors for the clock however, the internal clocks are pulled to 48MHz by internall PLLs.

Di ode_PRTR5V0U2F, 115 are used for the ESD protection in USB inputs and the differential pair is fed to the controller. USB power line goes to the power input of controller via parallel filter capacitors to filter out power noises.

imageimage

The overall hardware is built really well and the component selection had been really well in order to minimize the overall BOM.

 

Software Walk-Through

Microbit comes with a lot of programming options including the drag and drop environment, JavaScript, micropython etc. However I have explored the later two very little so I would be talking about the drag and drop environment.

I do have experience with drag and drop sratch environment by using the code bug module and using MIT app inventor for my projects. But to be very honest the environment is really simple and interactive thus makes it simpler for a beginner to get things going.

As one opens a new project we have a simulation running on the left side that is really helpful for a real time analysis of your project changes.

Now we are provided with two blocks namely ‘On Start’ and ‘forever’. By default they means what do we want to do on the start and what is required to be run forever in an infinite loop. They are pretty much similar to the setup and loop functions in the Arduino programming environment. Note that one can use these blocks or simply add their own.

Apart from that we have other groups that have their respective blocks.

Note that in order to use the Bluetooth functionality of microbit module one should add the Bluetooth extension and allow pairing in the settings.

image

I tried all the experiments and worked fine in my case, so I went on to combine them and work on a single code.

So I made a code for myself and added a video for demonstrating the accelerometer functionality, music playback using a small piezo buzzer and the user buttons to select the tone. We also have a small animation running on the LED matrix.

 

Connecting Microbit To Smartphone Via Bluetooth

The module has an onboard Bluetooth functionality which makes this board super cool for a lot of projects. So I found an application that can connect to the microbit and can be used to control and monitor the device. Moreover it can be used to upload the code to device remotely over the Bluetooth communication. It is the Micro:bit application which is powered by Samsung. I was able to find both the Android version and IOS versions of the app and tried to communicate using both devices however it was not able to connect on my own android device but I was able to connect using my mothers android smartphone. The device faced no problem while connecting with the IOS.

The application is again really simple to use, it also gives steps to go into the pairing mode. You need to push and hold the A and B buttons and press the reset button once. The module displays Bluetooth symbol and hence you can connect it to the smartphone by simply following the steps.

{gallery} My Gallery Title

image

image

image

image

image

image

I have also attached a video that shows how to connect to the device using your smartphone.

The steps are really simple to follow and once connected we can use the Bluetooth services such as the GPIO service and compass and accelero service to get the data and display it on the phone.

I tried the monitor flash code from the IOS app and the camera control code. It was really easy flashing and monitoring all the data.

Moreover I really liked the feature of camera control where I can capture the photos from my microbit device. This can turn out to be a very good feature for a trigger based intrusion alert where we can capture the image from a remote device once the sensor trigger is received. I have also attached the video of my test captures using the application.

 

The camera capture application:

 

I also wanted to add a demo of an application that I made using the MIT app Inventor that uses the Bluetooth services of microbit and displays the accelero values and GPIO buttons. I was planning to make a custom application for the same and I was able to find an extension for MIT app inventor. However I was not able to run the application on my smartphone I would be making changes and upating the same.

{gallery} My Gallery Title

image

image

image

 

CONCLUSION

My overall experience with the BBC Microbit had proved to be really great. I was able to come up with a lot of new ideas for my future projects and ideas for enhancements in my existing projects using the microbit module. I was a bit disappointed that I was not able to cater the students with this experience as with the codebug. However I really want this kit to be used by students and use the components to make the projects.

I am really thankful to microbit for making such an elaborate experiment guide and assembly guide that can be used by beginners. Combining the power of ARM cortex with the ease of programming, the developers of microbit have done a great job.

Anonymous