Related posts:
Introduction to Bluetooth Low Energy Light Development Kit - CC2540TDK-LIGHT
Android Support for TI's BLE LED Control
MSP430FR4133 Launchpad - Magnetic North Visualisation
Illuminated Tricopter Upgrade - Adding an Addressable LED Ring
MSP430FR4133 BoosterPack for Illuminated Tricopter
Bookshelf Lights Using TI's CC2450 BLE LED Modules
MSP430FR4133 Launchpad with Custom BoosterPack in Action
MSP430FR4133 Launchpad with Custom BoosterPack in Action - appendix
MSP430FR4133 Launchpad with Custom BoosterPack update
Adding Remotely Controlled Headlights to Tricopter
As I mentioned in my initial post, I played a bit with Bluetooth Low Energy Light Development Kit - CC2540TDK-LIGHT - TI Tool Folder from Texas Instruments.
In this post, I will share my initial impressions.
Out of the box experience
After I opened the kit I tried to see if I can pair the provided BLE modules with my Android phone. For a reason unknown, scanning for Bluetooth devices initially failed so I assumed that I have to flash the device with some other firmware to be able to test it like that - but that was wrong. Another attempt with proper power supply (1A, instead of my computer's USB port) succeeded! I was able to pair the device with my phone.
I didn't find any TI's application for Android that would work with these modules, quick reference only mentions the iOS application which is a problem since I don't have access to iPhone. Instead, I tried using the Cypress Android application (https://play.google.com/store/apps/details?id=com.cypress.cysmart I installed while I was working with their BLE Pioneer Kit. Since this application was not designed to work with TI's module it showed some unknown service that I assumed is the one that I need to use to gain control over RGBW LEDs - and this turned out to be right.
This unknown service contains five characteristics - four single byte characteristics for Red, Green, Blue and White LED and one four bytes characteristic that combines them all into a single value for faster control.
During my tests I noticed that minimum value I can set for Red, Green and Blue LED is 0x04, anything lower than that will turn the LED off. White LED, however, will still be turned on with a value of 0x01.
CySmart app also lets software developers make their own application using information that can be obtained from it. I plan to do that later when I get to that point in my project.
The following video shows how anyone can control BLE LED module using Cypress CySmart app (I started with all LEDs turned off because the emitted light is really strong):
Making your own firmware
CC2540 is based on 8051 MC and IAR Workbench is required to program it. More than a dozen example projects are provided in the SDK and that looks very nice.
However, this is where I'm stuck at the moment. I installed the IAR Workbench for 8051 (CC2540 is based on 8051 MC) but code size limited version seems to be insufficient. Every code sample I tried to build failed with code size error displayed (you need the full version or 30 day trial I think). I would like to ask element14Dave for some directions - do we have someone from TI to help us? Maybe there's an alternative to IAR Workbench?
My plan was to make my own program that would turn the LEDs in a couple of modes and doesn't require a connection every time LED is dimmed or turned on or off (connection would be used only to tell the module which mode should it be running).
Thanks,
Dragan
Top Comments