RoadTest: All-in-one Robotics Board + micro:bit
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?: Together with other BBC micro:bit dedicated products by Kitronik, this board controller is unique in terms of compatibility with a large number of possible application fields. In his family, this board is almost unique; trying to compare the micro:bit to the Arduino board you need at least a couple – maybe three – extra Arduino shield to reach the same potential range of applications available with the robotic board.
What were the biggest problems encountered?: By when I started using this robotic board in my micro:bit projects (I provide a new original project every two months on a magazine column) I have been able to drastically reduce the number of extra components and boards (e.g. motor controller) when using this versatile tool.
It is not the first time I put my hands on the Kitronik's all in one robotics board and based on my personal experience I should say that instead of presenting issues this board already saved me a lot of time just because it works perfectly without problems.
As you can see in the above images, the unpacking procedure is extremely simple: just a small antistatic bag (in the images shown a BBC micro:bit together gently provided by Element14 for roadtesting, not part of the product). The first interesting aspect is that the micro:bit can fit in both sides like shown in the images below. The only acceptable limitation is that the external pins of the micro:bit – exposed on the robotic board on a pad available for any purpose – works only if the main board is plugged on the Kitronic's with the 5x5 LED matrix display toward the pins connector (second image below)
The availability of all the documentation and links on the board are easily accessible from the product page ( https://www.kitronik.co.uk/5641-all-in-one-robotics-board-for-bbc-microbit.html ). From that link, it is possible to download the data-sheet and access to the GitHub repository specifically dedicated to the control software.
Accordingly with the BBC micro:bit philosophy also this Kitronik board seems to have the same robustness and consistency, ideal for kids projects but also sophisticated and well documented for the more advanced makers. Another interesting plus of the documentation are the detailed measures and the components position and description. following the same approach of the documentation-style of the micro:bit.
Below: from the data-sheet, the board detailed description and the mechanical sizes extremely useful for designing cases and integrating the board inside
From the site we can read the electrical characteristics of the board; it is worth to write down some consideration
Plugging the micro:bit on the board we are almost ready to start for wiring and programming. It is appreciated the support of two different power methods. In robotic projects it is extremely useful the possibility to connect the peripherals (typically, the moving parts but not only) via Terminal Block connectors making the assembly very easy and efficient. The single power supply with a regulator can be used both to power the board and the connected devices. Optimal voltage should be in the range 6–10V; anyway, I had some stuff working for days continuously powering the board with a wall mount power supply set to nominal 12Vcc corresponding to about 11V. the power line to the devices is protected from interferences respect the micro:bit power that will receive its 3.3 VCC from an independent regulated power line on the robotic board.
The board can support a total load of 10A, a sufficient power to supply al the ports to control complex robotic devices (with four motors and eight servos).
takin a look to the board circuit it is relatively easy to understand. A 16 channels, 12 bit PWM I2C controller PCA9685PW (data-sheet in attach) is the core component of the circuit, connected to the micro:bit. Thanks to the I2C protocol all the micro:bit pins are free for any use also when the microcontroller is plugged in the board. 8 of the 16 bits of the PWM controller directly control the 8 servo outputs while the remaining 8 bits control four DRV8833 half-bridges by TI (data-sheet in attach).
Above: from the data-sheet, the jumper pads to set up the I2C address of the board.
Another detail I am sure it will be appreciated by those makers that consider designing their own circuit based on the micro:bit and this robotic board is the possibility to chose the I2C address the board between four different addresses between 0x6C (the default) and 0x6F just setting the jumper pads on the board, well documented in the data-sheet (in attach). Nothing is left undocumented and also changing the I2C address (hardwired) is explained on how to modify it in the software package accordingly.
Below: the Kitronik Integrated Robotics Board extension accessible from the extensions list.
From the documentation page. it is possible to fork the corresponding GitHub repository (sources are licensed as Open Source under the MIT license) The possibility to create your own version of the extension may be useful to change some parts of the source, add custom functions, change the I2C address or also to explore the software architecture to learn how the external hardware is controlled by the micro:bit.
For advanced developers the micro:bit can also be programmed with micro Python as well. I found the availability of the Python library on GitHub as a very good plus: the robotic board can be programmed using easy or advanced development environments with clean and well-documented software. I should admit that they made easier the life of the Makers.
A short description of some micro:bit projects that were possible to develop better using the Kitronik Robotic Board.
Here the robotic board is used to control two micro geared DC motors. In this project, as the drawing result is related to the different speeds of the motors the stability of the PWM to control the single motors speed has been a key factor for the good results. For more details on this project, see The Drawing Machine Part 1. The micro:cycloid
In this project available on GitHub, I have experimented an interesting mix of features. The micro:bit read the low current generated by a DC motor through one of its analog inputs and control with a digital output the behavior of an Arduino UNO R3 board (acting as an mp3 player). Through the Kitronik robotic board instead, using one of the motor output I power on/off a 5V Finder relay setting the speed of the motor to a value corresponding to 4.8 Vcc. The relay control a 220 AC lamp bulb.
The project Birds (part of the Art-a-Tronic PiCasso Design Challenge) uses all the eight servo output of the Kitronik board to control five micro servos and three continuous rotation servos. The servos should follow a sequence that is not automated but is controlled every movement step by the program while the three continuous rotation servos should move at a different speed. The servo control of the Kitronik board demonstrated reliable, creating a motion smooth as expected.
This past year project also demonstrated the versatility of the Kitronik board. The micro:bit controls a small NeoPixel ring while through the board, I rotate synchronized the four micro servos moving the light spots and the continuous rotation servo that rotates the wheel (should move very slow). Using the four motor outputs – corresponding to the four half-bridges on the circuit – instead, I power and variate the light intensity of the sour rotating light sports. More details on the project can be found here: The Christmas Joy Spreading Machine
Those are great demonstrations of how this can be used. I am particularly fond of the Birds.