RoadTest: Klimate Board for the BBC 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?:
What were the biggest problems encountered?: The lack of a fully developed Python library.
Submit a review of the Kitronik Klimate board as part of the element14 Road Test. This board includes a Real-Time Clock (RTC) and environmental sensor (BME280) to detect temperature, barometric pressure and humidity.
The Klimate board provides an interface to the BBC micro:bit along with a coin battery holder to power the RTC, micro-USB socket for powering both the Klimate and micro:bit boards and an additional battery terminal for supplying power. Additional pins can be soldered to the Klimate board for an I2C interface to an OLED display and WS2812 LEDs (aka ZIP or NeoPixels, depending on brand). Programming the micro:bit for this review was done using coding blocks in both a web browser (Chrome) and the MakeCode for Windows 10 app. The objective is to utilize the Klimate board in a series of projects suitable for a class or workshop.
For these projects, a few extensions to MakeCode need to be installed. Click on the gear icon in the upper right corner and select Extensions
In the Search box, type in Kitronik to find the RTC and Klimate extensions
For using the built-in LED in a project, you’ll also need the Neopixel extension:
Depending on the firmware installed on your micro:bit, an update may be required for capturing the serial data for the logging project. See https://microbit.org/guide/firmware/ for more information on how to view the current firmware version and updating.
The package from element14 contained all the needed components for the RoadTest:
The Klimate board with coin cell battery for the RTC, micro:bit with USB cable and battery holder. The kit even included two AA batteries for powering the micro:bit. One thing to note, powering the micro:bit from the included battery pack does not provide voltage to the LED on the Klimate board. For that to work, you need to supply 5 volts via the Klimate board’s micro-USB connector or battery terminal. Plugging the micro:bit into the Klimate board is easy and it holds the board firmly. All the projects were carried out with the micro:bit LED display facing towards the Kitronik logo. There is a row of break-out pads on the top of the board for soldering on a row of pins. The micro:bit needs to be plugged in the other way to utilize those pins. Once assembled, we’re off to the first project.
Set the Date and Time
When initially powered up, the Klimate board will not have anything set for the real-time clock. Using the blocks provided by the RTC extension, you can build a simple program and enter the information needed. Once this is downloaded to the micro:bit, the RTC will hold the date/time from the power provided by the coin-cell battery. I added the extra block to give some feedback to know the program has executed (otherwise, there’s nothing else to see).
Display the Data
Now it’s time to capture the data from the BME280 sensor and display the values on the micro:bit. The Klimate extension provides the blocks needed for reading data from the sensor provided on the board.
Notice that there are some options for two of the blocks. Barometric pressure can be measured in Pascals or millibars and temperature in degrees Celsius or Fahrenheit. Discussion of the different units can be a useful part of the project. Next, we use variables created to hold each measurement in the “forever” loop, with a pause of 5 seconds between each repetition of the program. Putting in some text to display on the “on start” block gives some visual feedback that the program has loaded.
The final part of this program is to use one of the buttons on the micro:bit to trigger the display of each variable. From the “Input” group, use a “on button A/B pressed” block and a series of “show string” blocks. When the designated button is pressed, the values will scroll across the micro:bit’s LED array – include a brief pause between each set of strings to make the display more readable.
In this example, T is for time, P for barometric pressure and H for humidity.
Show Temperature Range with the LED
Building on the previous program, we can use the other button to light up the built-in LED on the Klimate board to glow blue for cool, green for normal room temperature or red for warm. This is where the Neopixel extension comes in.
The first block will define which micro:bit pin is used for the LED. On the Klimate board it is pin P0. Next is the number of LED’s which in this case is only one. The LED can be very, very bright, so value the “set brightness” block at around 100-150. Place both of these inside the “on start” block:
The other blocks needed will be the “show color” to set which color and “clear” to turn the LED off by using clear and show together. Just think of the “show” block as sending a command to the LED.
There needs to be some code in the program to decide which color to show based on the measured temperature. That’s where an If/Then block from the “Logic” group comes in handy.
The sequence will be in this order: when the A button is pressed, check the temperature and if it is greater than 82 (true), turn the LED red. Else, if the temperature is greater than 70 (true), turn the LED green. Finally, if neither of the above are true (temperature is less than 70), then turn the LED blue. There is a pause block to wait one second before clearing the color value on the LED.
Note: after loading this program to the micro:bit, you will need to power the Klimate board directly for the LED to work. The Klimate board will then provide power to the micro:bit and the LED at the same time.
Capturing and Logging Data
One of the useful features of the micro:bit is the ability to log data over the USB cable to the computer. This works with both MakeCode in the web browser or the Windows 10 app. As noted, it does require the micro:bit firmware to be version 490 or higher (see link provided above). Under the “Advanced” section, there is a “Serial” group.
For this example, we’re going to use the Klimate board and the micro:bit to capture temperature and humidity and transfer data over the USB cable using the serial blocks. One block for “Temp” and using the Klimate block for “Read Temperature” and the other block for “Humid” to “Read Humidity” – once this program is ready to be loaded to the micro:bit, there will be an option to “Pair Device” from the web browser:
The “Download” button will then load this program directly to the micro:bit and there will be an option to “Show Console Device”
In this example, the “pause” block is set to wait 10 seconds before taking another measurement. With time, you will see the data being collected and graphically displayed.
This is an “Export Data” button (blue button to the right of the pause button) that will save the data in a file that can be opened in a spreadsheet program for analysis.
With this RoadTest, I found the Kitronik Klimate board to be well designed and built, with the potential for several useful projects that could be used in a classroom or workshop. I liked the option to solder on additional pins for GPIO and I2C connections, including an OLED display (that I am yet still to experiment with). Although the documentation stated that a Python library was available, I was not successful in utilizing it to my satisfaction. So, that’s another possible post in the future as the Python code is better developed.
My only other concern was the two pins on the bottom of the board where the power terminal was soldered in. They extended down enough to scratch the surface of the desk and had the potential to get shorted out. Thus, I added four stick-on “bumpers” to the board which made it more stable sitting on the desk and reduced chances of scratching.
Overall, I would give this board a favorable rating and would recommend it for a hobbyist project or in an educational setting.