A bugswarm connector for Renesas 8- and 16-bit microcontrollers. This code turns a compatible evaluation board into a real-time internet enabled device. Once the connector is deployed to a device, the device will automatically connect to the bugswarm platform and share it's peripherals using a standardized API. This enables developers to create applications for the evaluation board in a wide variety of languages, without needing to download an SDK or physical access to the device.
- RL78/G13 Demonstration Kit (YRDKRL78G13)
- Redpine companion WiFi Card (RS-RL78G13-2200CC)
How to use an RL78/G13 board that has already been programmed
- Set up a wireless access point, or Mifi tether with the SSID
renesaspsk. The wireless security can be WPA1 or WPA2 Personal. See the deployment instructions below to connect to a different ESSID.
- (Optional) Connect a laptop or cellphone to this wireless access point, verify it can connect and verify that it has internet connectivity.
Make sure that Switch 2 of SW5 is set to the up or 'On' position. See the quick start guide for more details.
Using a USB Micro cable, connect the RL78 board to a USB power source. This can be a PC, Laptop, or USB wall charger.
- The demo board will take several seconds to connect to the wireless access point. When it has successfully connected, LED6 (the green led to the left of the LCD screen) will blink.
- Navigate to buglabs.github.com/bugswarm-renesas/
- Wait a few seconds and then click on the
Select an RL78/G13 board to view" dropdown menu
- Select the entry that matches the MAC address printed on the Wifi Companion card, and hit
- The graphs should update with data as it is sent by the RL78 board.
See the troubleshooting section below if board does not appear in the list, or data is not produced.
How to Deploy the connector to an RL78/G13 demo board
- Download and install the newest version of CubeSuite+ from the following link
- Open CubeSuite
- Download the newest version of the bugswarm connecter from this repository link
- Extract the zip file to a reasonable location, like My Documents/CubeSuite/bugswarm-renesas/
- Within CubeSuite, select
File -> Openand navigate to
bugswarm-renesas.Buglabs.mtudwithin the directory from the previous step.
In the pane on the left hand side of the application, double click on the file
The board is configured to connect to ESSID
renesaspsk. If you would like to change these settings, modify the variables
Log in to demo.bugswarm.com
- Click on the New Resource button
- Fill out the "Name" field with a unique value, such as the MAC address printed on the redpine companion card
- Fill out the "Description" field with "RL78/G13 Demonstration Board"
Click on "Create"
Click on the "My Swarms" tab.
- Select the "rl78_web_portal" swarm.
Click the "Edit" button.
Find the resource that was created previously in the right hand side of the screen, and click on the grey "producer" button (do NOT select the "consumer" button).
Click on the "Update" button.
In the next screen, find the resource we just created and copy the text next to the
In the CubeSuite IDE, double click on the file
Replace the text immediately following
const char resource_id =with the ID copied from the bugswarm webpage, similarly in quotes.
Connect the Redpine Wifi Card to the App header slot on the RL78/G13 board (See this Diagram). The components on the wifi card should be facing inwards.
On the RL78G13 demo board, make sure that switch 2 on SW5 is in the downward (or 'Off') position. See the quick start guide for more details.
- Connect the RL78G13 demo board to the PC using a USB cable
- Within CubeSuite, press the
<F6>button. The project should compile and deploy to the demo board.
When the download has completed, the screen should change and should highlight a single line in
r_main.cin yellow. When this happens, press the
The application should start running.
This bugswarm connector works by opening a socket to api.bugswarm.net, creating a new production session, and continually publishing sensor data (See the swarm API documentation). This application currently requires the following credentials to be acquired and inserted into the source code before use:
- Wireless ESSID (rsi_global.h)
- Wireless password (if applicable) (rsi_global.h)
- Swarm Producer API Key (r_main.c)
- A valid Swarm ID (r_main.c)
- A valid Resource ID, having already been added to the supplied swarm. (r_main.c)
All Renesas devices will share the same producer API Key - this is linked to the Renesas account. In order for all of the Renesas RL78/G13 demo boards to be listed together, they all need to be added to the same swarm. Devices should use the default swarm ID above, unless they are being configured for a custom application. Resource IDs, on the other hand, MUST be unique for each demo board. When provisioning a new demo board, a new resource ID will need to be generated. We suggest that the resource ID have a unique name, such as the MAC address of the wireless module, but the resource ID will always be a unique 40 character string.
- The Redpine device cannot send data at the same time that data is being recieved. Data reception is fully asynchronous, and could occur at any time. The current libraries do not successfully detect that data reception is in progress while sending. When this occurs, depending on the timing, it may cause the redpine device to abruptly close the socket. The current code will automatically attempt to reconnect. In the future, we should aggressively check that the UART is not in the middle of reading a line before sending any new AT commands. This needs to occur at the UART API level of the redpine libraries.
- The current Redpine libraries cannot reliably read a multi-line response from an open socket. The first line of a repsonse is prefixed with
AT+RSI_READand is successfully detected. However, since the response is not byte-stuffed, subsequent lines within the same packet are detected as junk data (since they are not prefixed with
AT+RSI_READ). This requires a larger overhaul of the
- Even with a modified
rsi_read()function, no mechanism exists to ensure that an entire packet-worth of data has been successfully read. The total packet size is returned in the initial
AT+RSI_READcommand, but very often data is either lost or read twice while reading. Data is being read successfully by the
rsi_receive()function, but a valid state machine has not been created for the
rsi_read()function with multi-line packets.
If the RL78 demonstration board does not appear or remain online, you will need to connect to a serial console on the demo board.
- Obtain an RS232 to USB converter
- Connect the RS232 adapter to the RS232 port on the RL78 demontration board, and into a computer or laptop.
- Open a serial terminal emulator like HyperTerm or Putty and connect to the USB-Serial port. Use Baud rate 115200, 8 bits, no parity, 1 stop bit, and no hardware flow control. Here is an example tutorial
- Press the
Resetbutton on the RL78 demo board, and observe the serial output
- Reproduce the error, and copy/paste all of the relevant serial output into pastebin.com. press "Submit".
- Contact buglabs support, and provide the URL of the pastebin website.
- bugswarm API documentation
- bugswarm preliminary configuration interface
- Redpine Signals Companion Card resources
- Renesas RL78G13 Demo Kit resources
- YRDKRL78G13 Quick Start Guide (how to install the SDK)
- YRDKRL78G13 Getting Started DVD
- RL78G13 CPU Hardware Manual
- Further redpine documenation only available by contacting redpine suppport.