Klimate Board for the BBC micro:bit - Review

Table of contents

RoadTest: Klimate Board for the BBC micro:bit

Author: andyforeverest

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?:

What were the biggest problems encountered?:

Detailed Review:

I tested this board using Makecode, Micropython and Arduino IDE.

 

Using Microsoft Makecode

 

In order to install the extensions for this board, select "Advanced" -> "Extensions" -> type in "Kitronik". The two extensions are: kitronik-klimate and kitronic-rtc.

 

Kitronik Klimate has only three blocks: read temperature (in C and F), read pressure (in Pa and mBar), read humidity. They are pretty easy to use.

Kitronik RTC has blocks that set and read year, month, day, hour, minute, seconds. Again, very easy to use. The only issue that I had was setting the year: only the last two digits of the year should be used, not all four of them (the slider has values between 0 and 99)

 

A simple code to test the functionality of the board:

 

Conclusion: it is really intuitive to use the Klimate board with Makecode. I highly recommend this approach!

 

Using Micropython

 

I wanted to recreate the same program using Micropython.

 

For the RTC, there is a Micropython library at https://github.com/KitronikLtd/micropython-microbit-kitronik-rtc. I tested the code using the online Python editor for microbit. I had an error at line 56, but  changing the code from tens = decNumber / 10 to tens = decNumber//10 , I was able to run the code.

 

For the BME280 - Initially, when I looked on the Kitronik page for the Klimate board (https://www.kitronik.co.uk/5636-klimate-board-for-the-bbc-microbit.html) at the Questions section, the official answer was that there was not going to be a Python library for the BME280, as the code it is too large for the microbit. However, it seems that Kitronik did post the code at

https://github.com/KitronikLtd/micropython-microbit-kitronik-klimate. I tested it in the online Python editor and it is working, but I doubt some more functionality could be added to it.

 

Conclusion: I was able to set and read the date and time from the MCP7940 RTC and read the BME280 sensor, but not at the same time. There isn't enough space for both programs.

 

 

Using Arduino IDE

 

I connected an OLED display to the Klimate board. Now I have the following connections:

- I2C - BME280 Environmental Sensor (I2C address: 0x76)

- I2C - MCP7940 RTC (I2C address: 0x6F)

- I2C - SSD1306 OLED display (I2C address: 0x3C)

 

I used the following libraries:

 

Adafruit_SSD1306, Adafruit_GFX - for the display

MCP7940 (https://github.com/SV-Zanshin/MCP7940) - for the RTC

I also used the example at Micro:bit and bme280 environmental sensor example | Microbit learning for the BME280.

 

I was able to display the date, time, temperature and relative humidity (I am also reading the barometric pressure, but there was not enough space to display it on the 128x64 display). The whole program fits into 22% of the program memory - plenty of space left for extra functionality!

 

 

Conclusion: all functions of the board can be accessed with Arduino IDE. Moreover, a multitude of options might be added (different outputs etc), as the memory is less than a quarter full.

Anonymous
  • Hi Andy

    That makes sense, although it is worth pointing out that you can use the BME280 plus RTC plus LCD screen, numeric keypad, relays etc., plus lots of other devices just by using MakeCode. Arduino still supports a lot more devices than MakeCode, though.

     

    You're right that there is not enough memory on the micro:bit after micropython has taken up residence for both the BME280 and the RTC.

  • Hello, Steve,

     

    You are right - it is indeed not a plug-and-play solution. At least, not as quick as Makecode or Micropython. However, this is only a one-time deal, because after setting it up, it is a smooth ride!

     

    I tested it with Arduino because I wanted to have a working solution using both functions of the board - the RTC and weather sensor. But, as far as I know, Microbit and Micropython cannot include both in the same program (not to mention adding other components). If someone can correct me on this, I would be happy to learn.

     

    Using Arduino, one is able to include everything (RTC + BME280) on the Microbit with space to spare. So, that's was the first benefit. Aditionally, Arduino has a wealth of libraries, so more hardware can be added to the project - LCDs, relays, keyboards, Web connectivity etc.

     

    It is a little bit more difficult than Python, but not a lot more (in my opinion).

  • Interesting that you used the Arduino IDE with the micro:bit. It seems to involve quite a lot of "faffing" to set it up, compared with MakeCode or Mu which are "plug-in and go". What would you say are the benefits of using the Arduino IDE for the micro:bit? I guess being able to use C++ is one benefit, if that's your thing, although you can also do that with the Mbed online compiler (also after some "faffing").

  • I can't see your images. I think this might be related to a bug on the element14 platform. Can you try editing your review and reposting? Thanks