Klimate Board for the BBC micro:bit - Review

Table of contents

RoadTest: Klimate Board for the BBC micro:bit

Author: rancell

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?: There's a lot of similar extension boards available from Kitronik (e.g. 16 Servo Driver, RTC Board) and other manufacturers (e.g. micro:pixel, Waveshare Servo Driver).

What were the biggest problems encountered?: Makecode extension has low resolution for temperature. Powering the Klimate board seems to add a few degrees to temperature.

Detailed Review:

The Kitronik Klimate is an expansion board for the micro:bit that allows the micro:bit to measure temperature, pressure and humidity. This board also includes a real time clock and an RGB LED. I'm road testing this product with my focus being on how useful it is for teaching 9-10 year olds at the Code Club I teach at. Here's what I got sent:




Connecting the micro:bit to the Klimate is really easy. You just need to push the micro:bit into the edge connector. This doesn't require a lot of force but also holds the board very tightly. The edge connector is not reversible, so it must be inserted in the correct orientation - this is something that may trip up younger users. If you do insert in the opposite way there is another function - all the pins on the micro:bit are now accessible in a row of pads on the back of the board. This information is printed on the board which is handy. Having two functions on the board is nice in that it would allow more advanced projects to use this hardware.




The Klimate board requires power to be fully operational and two possibilities are available. You can power using a USB cable or provide power using the terminal blocks (e.g. from a battery). The micro:bit is powered from the Klimate board so only one power connection is required. I also own the Kitronik 16 Servo Driver board which is the same size but doesn't have the USB power. Messing around with batteries is a pain when you don't need them and the USB power on the Klimate is a very welcome addition. The board also has a coin cell holder that allows you to optionally have the RTC keep time when the board is not powered.


The reason I said fully operational above is the temperature/pressure/humidity sensor seems to work fine just powered by the micro:bit. So if you don't need the LED or RTC then you don't need to power the Klimate board.




To download software to the micro:bit you need to connect to the USB socket on the micro:bit (the Klimate USB socket is for power only). I found the easiest way to download and test was to connect two USB cables, one to the Klimate board and one to the micro:bit. While it looks a bit odd it works without any issues. If you only have one cable, then you will need to switch it between the micro:bit for downloading and the Klimate for testing.
Hardware ready, time for some software. I'm using the block based makecode website to write software as that is what my students are used to. You can use other programming languages supported on the micro:bit like Python if you like. To use the sensors on the Klimate board you will need a makecode extension. This is just a few clicks away by going to Advanced > Extensions and then searching for the"kitronik-klimate" extension.
This extension adds three new blocks, which read the pressure, temperature and humidity values from the board. To check the board is working I programmed it to show the pressure when button A is pressed and the temperate when button B is pressed.


And it works! I get some large number when I do the pressure (haven't got anything around to check it). When I press the B button it says 26 and my thermostat is showing 25 so looking pretty good. At other times the sensor was nearer 27 degrees, and I suspect this is due to picking up heat from the Klimate board. When the board is unpowered (i.e. just being driven by the micro:bit) it seems to get better temperature measurements. So if accuracy is important consider doing this.


One negative is the the temperate is returned as an integer - I would have hoped for more resolution than that (e.g. to half or tenths of a degree). I suspect this is due to the makecode extension - I expect the sensor measures more accurate values.


Project time. I decided to make use of the temperate sensor (IC1) and the RGB LED (LED1). You can easily touch the sensor which means it is able to read your skin temperature. I decided to show the LED as blue when it was cold and red when it was hot. That way you can see how hot you are! Interestingly there seemed to be very little mention of the RGB LED in the documentation, but based on using the Kitronik Servo:Lite board I assumed it would work with the "neopixel" extension. And it does! You just configure a single LED on pin 0 to control it.


Measuring the temperate with and without my finger on the sensor between showed that a range of 28 to 32 degrees was appropriate. Each degree will increase the red value by 64 and decrease the blue value by the same. That way 28 degrees or less is full blue and 32 degrees or higher is full red. This was when I wished I had more resolution as more steps would look nicer on the LED. image But it's still fun to run the following program and see the LED turn slowly to red when you touch the sensor and fade to blue when you let go.




To use the RTC on the Klimate you need the "kitronik-rtc" extension. This wasn't my focus for this board but the functionality is there if you want it. If you only wanted the RTC functionality you can by the Kitronik RTC board which is identical to the Klimate except it lacks the environment sensor and costs half the price.


In the end the board lived up to my expectations. I was easy to assemble and program and enhanced the basic functionality of the micro:bit. I'm left a little confused as to who the board is targetting - the sensors, RTC and LED are kind of an odd mix. It feels a bit like a case of fitting things on the board because there was space. The plus side of that is I can think of a number of projects you could make with it which makes it a good teaching tool.


While I didn't pay for the board it is reasonably expensive and costs nearly twice the cost of a micro:bit. I wonder if the board could be simplified to reduce the price. In a teaching environment I would expect only one or two boards to be bought for a special project rather than a larger classroom set. There are cheaper sensor boards you can wire to a micro:bit but I couldn't find any other produce that was this easy to use.