With more and more consumer, medical, and industrial devices communicating wirelessly, the so-called Internet of Things (IoT) is set to explode over the next several years. Many, if not most, of these devices will be sensor-based applications using a low-power MCU running off a battery. Designing such devices is challenging. However, with a sufficiently flexible evaluation board, prototyping and testing your designs need not be.
The Renesas YRDKRL78G13 Demonstration Kit
(RDK) from BNS Solutions (Figure 1) incorporates a wide range of sensors, a built-in Gainspan GS1011MIPS 802.11
Wi-Fi module, LCD display, flexible E Ink paper white module
, and a dozen demo programs (with source code) illustrating how to create applications that take advantage of cloud connectivity.
Figure 1: Renesas RL78G14 Demonstration Kit.
Renesas positions its ultra-low-power RL78/G14 as a general-purpose MCU. As if to prove that, its RL78/G14 Demonstration Kit comes stocked with components from nearly 40 of its ecosystem partners, a three-axis accelerometer; temperature, light, and IR sensors; a complete audio system, from microphone to speaker; plus LEDs, FETs, a TRIAC, and, should that not be enough, expansion headers for add-on cards and a breadboarding area under the E Ink electronic paper display (Figure 2). There is not a lot you cannot do with this board, either directly or over the Internet.
Figure 2: RL78/G14 RDK block diagram (Courtesy of Renesas).
The system on the chip
The RDK is built around Renesas’ 16-bit RL78/G14 CISC MCU. RL78/G14s can provide 44 DMIPS of throughput at 32 MHz while consuming as little as 66 μA/MHz in Run Mode; 0.6 μA in Halt Mode (RTC + LVD); and 0.24 μA in Stop Mode (RAM retention). RL78/G14 MCUs come in various packages with 16 to 256 Kbytes of code Flash; 4 to 8 Kbytes of data Flash; 2.5 to 24 Kbytes of RAM; and a 10-bit/20-channel ADC with a 2.1 μs conversion time. The MCU supplied in the kit is the R5F104PJAFB, a 100-LQFP device with 256 Kbytes of code Flash.
A unique power-saving feature of the RL78/G14 is the Data Transfer Controller (DTC). The DTC is activated using a peripheral function interrupt and transfers data between memories without going through the CPU. In the case of a simple data transfer, for example, transferring the results of an ADC conversion to memory, processing data using the DTC shortens the amount of processing time by eliminating time normally spent pushing an interrupt request onto the stack; processing it (usually waking and utilizing the CPU); popping it off the stack; and executing an RTE instruction to resume execution of the suspended program. The DTC can shorten the time to transfer data from the ADC to RAM from about 22 cycles to 12, leaving the CPU free to attend to other business or stay in sleep mode, reducing power consumption.
If your intended application involves fast data transfers you would do well to look at two Renesas Product Training Modules (PTM): RL78 ADC and RL78 Timer Units.
There’s an app for that!
Right out of the box the YRDKRL78G15 RDK comes preloaded with several programs that can be selected at the press of a button. When you first power it up, the LCD screen displays the current temperature, light intensity in lumens, and the x/y/z coordinates from the accelerometer. The board is acting as a limited access point (AP), so you can connect to it directly from a PC or smartphone. Figure 3 shows how I was able to control the board from a free iPad app that I downloaded from the Apple App Store. When you start the app it finds the Gainspan module and ignores other nearby wireless networks; touch a button and you are connected, it’s that easy. The application opens the web page that is served by the board’s web server and displays temperature, accelerometer, and light sensor data. It also allows on/off control of the LED wheel on the RDK board. An Android application is available from Gainspan.
Figure 3: Sensor reading and lighting control via the iPad app.
A second application (Figure 4) lets you connect the board to a shared Wi-Fi network. Once you provision the board over your local router, you can then control it remotely over the Internet. I brought my laptop to the local Starbucks and was able to monitor and control the board back in my office, verifying its operation over a webcam that I set in front of it. You could easily add a camera module to one of the application headers to be able to monitor your home while you are away for the weekend.
The kit contains other Internet-based applications that enable you to monitor and control the board remotely. The source code for the Factory Demo program is a good place to start building your own programs.
Figure 4: Sensor reading and board control over the Internet.
The kit comes with a complete set of programming tools, including
- IAR’s Embedded Workbench Kick Start Edition (which limits your code to 16 Kbytes)
- Renesas’ Eclipse-based e²studio IDE with GNU compiler and linker
- Renesas Application Leading Tool (Applilet) for generating peripheral I/O drivers
- Renesas Flash Programmer
- TeraTerm 4.5 terminal program
There is also a considerable amount of documentation, including manuals, application notes, and Readme files for the dozens of project files, all with source code. I did not take the time to compile, download, and run all of the example programs, but those that I did worked as expected. The well-commented source code should make it straightforward to incorporate portions into your own applications, with Applilet taking the mystery out of creating drivers for any new I/O, such as adding video cameras to create a home security application.
In short, the RL78G14 RDK is a very complete demonstration platform that enables embedded developers to program, test, and debug a variety of sensor-based applications. While short of being a full development platform, it provides a quick way to move from evaluation to prototype with minimum effort.