Using the TI BLE SensorTag

I just received my Bluetooth Low Energy SensorTag from TI and wanted to share my experience with it. Overall it looks like a great sensing device coming at an amazing price (25$ – free shipping- probably it is more of a promotion than an actual product).

SensorTag features 6 sensors in total (temperature, humidity, pressure, accelerometer, gyroscope and magnetometer) and it comes with a single cell coin cell battery (CR2032). Specs mention a  quiescent current consumption of 8uA, allowing years of battery life!

The device itself is quite small allowing it to be carried in your pocket.

 

 

 

 

 

 

 

 

 

 

Setting it up and pairing it with an iPhone device is easy and straightforward.

TI provides a free iOS app (TI BLE Sensor Tag) which visualizes on your phone all the sensor information polled form the device. However connecting some times (or most of the times actually) requires that the device is waken from the sleep mode by clicking on the side button. I find this pretty annoying since you cannot rely on polling data from the device at long intervals (longer than its ‘active connection’ period is set to), but that’s probably a general issue with most Bluetooth devices. On the good side, once you click the wake-up button on SensorTag, the app finds the SensorTag and connects to it right away.

Here are some screenshots form the TI app:

 

 

 

 

 

 

 

 

 

 

An interesting (free) 3rd-party app that utilizes the TI SensorTag is ‘Comfort Guide – SENSiBLE’ by Sensirion AG (btw SenorTag is based on Sensirion SHT21 humidity sensor), that combines humidity and temperature data illustrating environmental conditions to the user in an understandable manner:

 

 

 

 

 

 

 

Wonder how you can write your own iOS app to read sensor data? No problem, the TI app includes also its own code as a sample of how to connect with SensorTag and read data from the available sensors (this one goes beyond open source, it’s integrated open source, or embedded open source!!):

 

20 Comments

  1. John Battle May 11, 2013 4:59 pm Reply

    I must be the only one that doesn’t understand this, but how do I view the “opern source” that is supposedly built into my application? I prefer to use the mac application for the sensortag, shich only reads temperature, but I can’t figure out how to see the source code. Please tell me in detaisl how to do it. I have wasted hours scanning the web and trying to find out how to do this and I am about ready to just give up and kiss off my $25 for the tag but I thought I would give it one more chance.

    http://n4oe.com

    • Charalampos May 12, 2013 4:07 pm Reply

      Hi, the “open source” or “embedded open source” was more of a joke, since code for using the sdk is inside the application itself!
      So, this link and this give you no information on how to use Sensortag with your own iOS app?

      It looks like there are even ways to use Sensortag on Android!

    • Jarle Boe May 15, 2013 8:33 am Reply

      You can find complete iOS source code examples at http://www.ti.com/tool/sensortag-ios

      Since most people are using the SensorTag with iOS devices we have not done any significant work on the MAC OS app yet

      http://www.ti.com/sensortag

      • John Battle May 29, 2013 5:07 pm Reply

        OK I understand, I just want the source code for the OSX application that you HAVE developed, which is just temperature measurements. Why is that such a difficult request? I’m sorry I wasted $25 on this thing.

        http://n4oe.com

        • Charalampos June 5, 2013 9:17 am Reply

          Dear John, there must be some misunderstanding, There is no reference for an OSX application, actually there cannot be, since no mac yet supports BLE!? I am not sure I can understand your requirements, clearly the TI sensortag is for mobile devices only!

  2. John Battle May 29, 2013 5:08 pm Reply

    If you have the NAC project, just EMAIL it tom me instead of all the hocus-pocus with registering and downloading another useless app.

    http://n4oe.com

  3. Song June 23, 2013 10:16 am Reply

    Hello, I have a question about “Connecting bluetooth”.
    I bought SensorTag CC2541 and I pushed side button.
    It blinks but never connect.
    I’ve tried with Macbook and iPad, but those devices didn’t find Sensor.
    Is there anything that should be done BEFORE I push the button?
    If there isn’t, then do you know why this is happening?

    • Charalampos June 24, 2013 1:45 pm Reply

      Hi!

      Most likely your iPad does not feature Bluetooth 4 (Your Macbook does not for sure), so currently there is no way they can communicate with the Sensortag. You will have to use an iPhone.

      Best,
      Charalampos

  4. Klaus June 30, 2013 11:50 am Reply

    Used the SensorTag for a recent project, developed an iPhone that uses the SensorTag to monitor weight training, counts the number of repetitions and breaks it down into the type of movement the individual did, e.g. push, pull or curl here the link https://itunes.apple.com/us/app/weight-training-genie/id650541393?mt=8

    https://sites.google.com/site/weighttraininggenie/home

    • Charalampos July 7, 2013 9:08 pm Reply

      interesting application! Thanks for sharing!

    • Jeffdseattle December 9, 2013 2:19 am Reply

      Hello, I am looking for information on how to make a “simple” change to the smart tag firmware. I want to make the tag stay awake indefinately instead of having to push the button on the side to pair with it. Any ideas on how to do that? I tried to search for days but cannot even find out how to view the tag firmware code and find the timeout setting.

      Thanks

      • Charalampos December 9, 2013 9:06 am Reply

        Hi Jeff,

        I don’t think there is a way t modify the firmware. Indeed this issue is pretty annoying, the only temporary workaround I found was maintaining a connection with the device or querying it every few minutes.
        I would suggest asking TI directly. You might also want to have a look at LightBlue: https://launch.punchthrough.com/ Fully programmable, very low cost too!

      • Chris Innanen December 31, 2013 5:28 pm Reply

        It is possible to edit the SensorTag’s firmware using IAR Embedded Workbench (30-day evaluation license minimum—the 4k-limited license will NOT work) and the firmware source from TI for the CC2541.

        The change you need is just a single enumeration switch. The current enumeration name ends with “_LIMITED” and needs to be switched to “_GENERAL” to enable always-advertising.

        I did all this yesterday. If you don’t have the CC-Debugger unit, you can use over-the-air downloads (OAD) to update the SensorTag with your new firmware. In IAR, just above the file list, you can switch between Hex (for CC-Debugger) or OAD variants A and B. Compile the A and B versions and use iTunes to add them as files to the TI SensorTag app in a Bluetooth 4.0 compliant iOS device. (There may be other ways to do this, but this was my method.)

        Then from inside the app, connect to the SensorTag and edit it’s profile (button at bottom of screen) to turn on OAD. (This turns all other profiles off. You’ll have to reactivate them later.) Now instead of all the live sensor data, you’ll just see an option to update the firmware. Do that and select either your A or B file. (If you choose the wrong one it will warn you and abort. Just pick the other.) Wait three minutes to transmit and then click the button on the side of the SensorTag for the final time (when prompted to).

        You will now have an always-on SensorTag beacon. Invaluable when you want to place it somewhere you can’t easily reach to click it back awake when you want to connect.

        I don’t know offhand what the license restrictions are about sharing modified versions of the firmware with others. There is a variant on TI’s wiki that enables some faster refresh rates for some of the sensors. If it is permitted, I could possibly post the modified A and B files there.

  5. Brian February 3, 2014 4:44 am Reply

    If I develop a product with this hardware can I sell it?

    • Charalampos February 3, 2014 8:53 am Reply

      Hi Brian,

      As far as I know, the SensorTag is a commercial device from TI for promoting their BLE module and allowing developers to easily prototype, like a development board. I am not sure if you can simply take the PCB and install it in your project.

      From their wiki I quote the following:
      “The SensorTag can be used as a reference design and development platform for a variety of smartphone accessories.”
      So I guess that you can use the design to build your own product and add your custom sensors/actuators.
      In any case,it would be safer if you contact TI directly for this matter.

      Best,
      Charalampos

  6. Oliver February 28, 2014 7:00 pm Reply

    Hi Chris,

    can you post the modified firmware with the disabled sleep mode? Would be great!

    Thanks a lot in advance!

    Best regards,
    Oliver

  7. Oliver April 20, 2014 6:06 pm Reply

    Hi guys!

    Meanwhile we created our own firmware which disables the sleep mode. It works pretty well! If you are interested, have a look here – we have written a guide how it can be installed easily:
    http://www.myweathercenter.net/faq/

    We use the firmware for our new App MyWeatherCenter, which was featured by Apple these days :-)

    With MyWeatherCenter you can create a beautiful Weatherstation that shows you the latest weather sensor data from the TI SensorTag. If you want to try it, just download it here:
    https://itunes.apple.com/de/app/my-weather-center/id824900305?ls=1&mt=8

    We would be happy to receive your feedback about it!

    Best regards,
    Oliver

    http://www.myweathercenter.net

    • Charalampos April 21, 2014 8:28 am Reply

      Hi Oliver!

      Thanks for the update! Good work on the new firmware, I am sure there are lots of users who will appreciate it!

      Thanks again,
      Charalampos

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>