images

BLEtherm – An Arduino based Bluetooth Low Energy thermometer

Hello everyone,

I was dealing with small embedded systems acting as weather stations for a long time now. I created a simple setup using a Sensirion SHT15 connected to an Arduino board which was posting temperature and humidity values using a Wifi shields some years ago. A great project which has replaced my DIY solution based on Arduino was the Netatmo http://www.netatmo.com weather station I bought some months ago. I really like it. Sharing the measured values is very easy and the hardware and app design is great as well.

But Netatmo is not intended to be a wearable measurement device. It needs to be attached somewhere at home, where a Wifi infrastructure is available. What about attaching a wearable temperature device somewhere, even at your coat’s shroud to measure the temperature and humidity somewhere in the city and share it with others in a cloud system? Well this will be the end goal of the BLEtherm hardware. So far an initial working prototype has been created which I want to show to and share with the BLE / Arduino DIY community.

Maybe someone knows my initial projects where I showed how to create a simple thermometer using an Arduino, my BLE-Shield and a temperature sensor such as an SHT15 or SHT21. Or the even smaller one created with an Arduino FIO, the BLEbee and an SHT15 Breakout board:

ArduinoFIOTherm1 ArduinoFIOTherm2

Both devices are using the generic characteristics of the BLE-Shield of the BLEbee and are more or less a very first prove of concept, that such a thermometer might work. That’s why I started to create a dedicated hardware prototype combining all the know how gained while creating the BLE-Shield and the BLEbee as well as adding an Arduino to a custom design.

The BLEtherm was born with the following hardware features:

  • Arduino Pro Mini running at 3.3V 8MHz
  • BLE112 Module with the BLE-Shield UART firmware (modified a lot so you won’t even see the RX/TX characteristics)
  • A Lipo charge circuit since the BLEtherm is powered by a 400mAh single cell lipo
  • A MAX17043G+U powered Fuel Gage
  • A Sensirion SHT15 temperature and humidity sensor.

and looks like this:

BLEtherm1 BLEtherm2

The currently supported characteristics are shown in the image below:

BLEthermServices BLEThermCharacteristics

Since this is an initial prototype which is still too big (53x33mm) the next iteration will fix the wiring of the temperature sensor and use an SHT25 instead. Furthermore the FTDI header will removed since it occupies too much space. The ICSP header to program the Arduino Bootloader will be replaced by using a TagConnect  header instead and the BLE112 programming header will be removed as well and replaced by a TagConnect one. The ATmega328 package will be changed as well to use a smaller one. I hope to get it as small as 35x35mm for the next prototype, but I think the Lipo will get smaller as well in order to accomplish this goal.

Of course the final product will be open sourced so that the community can modify it as they want.

Thanks for reading! Comments are welcome,

Michael.

10 Responses to BLEtherm – An Arduino based Bluetooth Low Energy thermometer

  1. hongbo zhang March 29, 2013 at 23:11 #

    Dr.Michael:

    I like your BLE board. It helps a lot!! So I got question for you. I am designing an experiment to measure human motion. I need multiple such devices as many as 20. However I read that it could very challenging to send 20 BLE data at the same time to either smart phone or computer.

    Do you have any ideas for how I can do this?

    Thank you!

    Hongbo Zhang

    • hongbo zhang March 29, 2013 at 23:12 #

      My Email hbzhang@vt.edu

      Thank you!!

      Hongbo

    • Michael Kroll March 30, 2013 at 17:13 #

      Hello Hongbo,
      well the solutions with 20 sensors sounds really tricky, since the smartphones or desktop computers will not support that much concurrent connections.
      Maybe you need to attach the sensors to the human body and then write an app which connects to each device, read some sensor data and disconnects afterwards before selecting the next sensor for reading.

      Do you need 20 different sensors with BLE, or can you probably use wires to connect the sensors over a bus and use only ones BLE connection to a Phone or desktop PC?

      What do you think?

      Cheers,
      Michael.

  2. hongbo zhang March 30, 2013 at 22:04 #

    Dr. Michael:

    Thanks for your quick reply!! You are very efficient!

    You are right! I am also worried that 20 connections will saturate the phone or computer.

    I have thought of the wired solution, but it can be quite painful for experimental participants to have so many wires on that body.

    Also, we have to measure the motion simultaneously, which means each sensor data have to be sent to computer at the same time. I know in practice, it is impossible to collect 20 sensor data exact same time, but we have try to minimize the delay for collecting different sensor data.

    Thank you!

    Hongbo

  3. Simon April 15, 2013 at 17:31 #

    Hi Michael,

    I have one of your Arduino BLE shields and it has helped a lot with my understanding of BLE and iOS.

    I am planning a BLE temperature and humidity device, but I have had some feedback that humidity sensors need calibrating after some months of use.

    Have you heard of this?

    • Michael Kroll April 15, 2013 at 17:54 #

      Hello Simon,
      glad that the BLE-Shield was helpful to you.
      Concerning the temperature and humidity sensor I’m using the SHT2x series sensors of Sensirion for my designs.

      I think they are calibrated but I don’t know if you need to recalibrate them. I think you don’t need to. Please let me know what you find out.

      Cheers,
      Michael.

  4. Mac May 3, 2013 at 09:44 #

    Hi Michael,
    is it possible to communicate between the two shield, one as the master and the other as slave?
    Thank you!

    • Michael Kroll May 3, 2013 at 13:17 #

      Hi,
      this is possible using the technology and the hardware itself, but not implemented in the current firmware.
      For this you must have to Shields, and a CC-Debugger to flash the firmware, which has to be developed first.
      Take a look into the techforum at Bluegiga. I think there is a cable replacement sample, which can be used for a start to implement it.

      Cheers,
      Michael.

  5. Sara May 6, 2013 at 17:10 #

    Hi Michael, I bought the shield, I wanted to know if there is a guide and if you can communicate with the module (for example lingaggio AT).
    How do I set it to slave or master?
    Thank you!

  6. lorenzo May 7, 2013 at 13:34 #

    I’m interested to develope with your shield too (I bought 2 Shields). I would like to create a PC low energy application but I’m not able to interface it with the shield (I use windows 7 PC without integrated Bluetooth LE). I bought one USB dongle (CSR 4.0) but it can’t views your BLE shield. Is there anyone who can communicate between BLE112 shild and USB Dongle? If so, what dongle are you used for?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Powered by WordPress. Designed by WooThemes