Getting Started with “Wave One” a small IOT device based off the CC1310 and the BQ25505 energy harvesting chipset. The idea is simple, using a coin cell 2023 3V battery and good firmware you can create wireless sensor nodes that last years in the field transmitting small amounts of data once or twice daily.
The Wave One is based around the CC1310 with the BQ25505 for energy harvesting. The DC connector can accept milliwatt power from a solar panels (2-6V) or a 5V AC/DC source to power the board. The BQ25505 is a low current energy harvesting chipset that can also accept power from a wide range of sources. The back of the board has a place for a 3V 2023-coin cell battery that when used properly can power the board when solar power is not available in the field. TI says this design can last 5-10yrs on this small coin cell battery, SīnWaves is still evaluating this claim. Expect a detailed report at a future date to explain our findings.
The design is basically a copy of the TIDA00488 from TI to help people get up and running with energy harvesting technology and wireless IOT development. You can learn more about the design at TI’s website. here
The CC1310 is a new line of processor in the Simple Link processor family that has a 915MHz radio integrated with an ARM M3 MCU. To learn more about the chipset you can find the complete data sheet here. This chip using Texas Instruments real time operating system (TIROTS) for power management. It’s also capable of communicating wireless with Texas Instruments proprietary wireless link software. If you don’t like TI's protocol; use other standards by simply changing configuration variables or using Smart RF to configure the radios.
This is an evaluation module and is NOT an Arduino project. It requires you know how to write C code and use an IDE.
Setup the IDE
Step One: Download Code Composer Studio 7 (CCS) CSS Download Page Download the latest version of the CCS for your operating system
Installing CCS packages for compatibility with CC1310. CCS is based on Eclipse an open source IDE and therefore TI has created packages to make the IDE work with different TI product lines. During setup you will be prompted to select which packages you want to use, and therefore look at picture and make sure that “SimpleLink CC13XX and CC26XX Wireless” is selected. Note that you ca/ install more latter through preferences. If you think you will use other TI product lines, select what you will be using to install with the IDE. Go to the next page, and then “Finish install. This will take about 10 minutes to install. Go grab some tea or coffee while it loads if you are into those things…
Code Composers first use!
When you lanch CCS for the First time you get the Project Explore landing page! Let's start by
This will load a page that looks like the picture below full of different examples for TI's development kits, we are using the CC13XX so lets download all the examples for these devices. The small gray box on the right side of each device has a computer with an arrow on it. Select the newest software version and download it but clicking that little icon. This can take a few moments and requires you to restart CCS once it finishes, take the moment and enjoy your wait, or if you are like me find a tab you have been meaning to read and read away.
Let's address now to import projects that you just installed from the TI webpage and where you can edit them to work with this board. Take note that once you have installed the example code you need to navigate to it and import it using CCS import tool. This information can be found at
If you are comfortable with using TI's example code and working with CCS then you are basically ready to start debugging. If you are someone more familiar with git and importing code from a git repository, which I recommend for tractability, you can follow this section. First go to this git repo Wave-One Example Projects and clone it to a folder you would like to save these examples into.
Go to File, Import CCS Project and a window will appear like the picture bellow, point the Browse... to the folder you either saved all the TI examples to our the Wave-One Code, they are basally the same at this point so don’t worry about which option you choose. Now Select all, make sure you check both the boxes "Automatically import references project found in same directory" and "Copy project into workspace", Now finish. Wait for the import to take place.
You have now imported a large number of examples into you workspace, on the left side each folder contains a project that demonstrates different setups. Lets start with a PWM example of an LED to demonstrate how to use the pins and also who to change the function of the pins.
Some Example Code
- /* LEDs */
- #define CC1310_LAUNCHXL_PIN_LED_ON 1
- #define CC1310_LAUNCHXL_PIN_LED_OFF 0
- #define CC1310_LAUNCHXL_PIN_RLED IOID_21 //IOID_6 Remap the pinout to the LED
- #define CC1310_LAUNCHXL_PIN_GLED IOID_21 //IOID_7
The above code can be found in CC130_LAUNCHXL.h where the pins are mapped for the TI C1310 Launchpad but we are writing our own headers to remap the pins to match the development board. As you see the RLED and GLED are remapped to IOID_21 the pin that we connected an external LED to. The LED is soldered on to the board for demonstration purposes, you do not need to add it if you don’t want an LED on the board. The ideas is to shows you how to maps pins and use these examples.
Set Up Hardware
Using the XDS110 Debugger
The ideas simple using the debugger you will now load software onto the target for the first time, and this means two things, opening the XDS110 TI debugger and using the adapter board. Please note the there is directionality to the debugger and that you will need to power the board either with a Coin Cell battery on the button or from 5V Dc jack!
Note the direction in the picture and the adapter board you will need is the smallest one that comes with the debugger
Also note that the board needs to be externally powered! You will need to either use a coin cell battery (2023) or a 5V DC power jack.
Once you have the project folder "Active" you can press the little green bug on the top menu bar, this will both build the project and load it to the target device.
That is basically enough to get you started, you are now ready to create you first application using this board. Bellow is more documentation that might help.
Some Useful links
- Useful CC1310 Lanchpad Links
- CC1310 pin-out Document
- CC1310 Technical Reference Manual
- XDS110 Programmer Information
- XDS110 Datasheet
- TIDA-00488 Information
Schematic of Wave One
Above is the basic PCB layout of Wave One, this should help you understand and see where things are placedPDF Schematic
SĪnWaves will try and update this page and add a few more tutorial as we also continue our development with these boards.
We have deviated from these boards and are working on a very cool new design, these boards have a lot of uses still but we are not actively developing with them anymore. We have used the boards for 1-2Km communication base station for sensor networks, and 10 of them have been in the field for over 5 months as of today (Nov 3rd, 2017) without issue.