Programming Resources

Bootloader

The bootloader is a permanent part of the FLASH memory that’s executed before anything else. The bootloader’s main responsibility is to update the other software (Radiocrafts Platform and the ICI Application). it’s also responsible for enforcing encryption and security on the module and the applications. The bootloader is capable of:

  • Load the ICI application onto the module via UART

  • Load the platform image onto the module via UART

  • Lock the module

  • Use encryption keys

  • Load the ICI application onto the module from the internal FLASH (when using OTA)

  • Load the platform image onto the module from the internal FLASH (when using OTA)

  • Print module info

See the RIIM SDK User Manual for more information.

Configuring and Programming the Module

Each module comes pre-programmed with firmware for the network stack, drivers and application framework. Based on this the customer can program the behavior of each device using a simple API. This eliminates the need for an external MCU. For developing the ICI application and programming the module the user is provided with an SDK. This is described in the RIIM SDK User Manual. The ICI application is transferred to the module via UART through the built-in bootloader.

Connecting Peripherals

RIIM modules provide many standard electrical interfaces that the user can connect peripherals to. The API includes drivers for all of them, and they consist of easy-to-use functions implemented in efficient C code. The figure shows the pinout and the available interfaces:

RC1882-IPM module pinout

RC1882-IPM module pinout

GPIO

9 GPIOs are available to the user. They can be configured as input or output, with and without pull resistors. they’re using the voltage level of the module, and care must be taken to not damage them with higher voltage levels. They can connect to any digitally enabled interface.

SPI

The module includes one Serial Peripheral Interface bus. All data and clock signals (SCLK, SI, SO) are common to the controller, while the Chip Select that can be implemented in GPIO, enabling the possibility of connecting several SPI devices to the same bus.

I2C

The Inter-Integrated Circuit (I2C) bus includes internal 4.7 kOhms pull-up resistors and operates at the same voltage level as the module itself. The I2C bus supports both 100 KHz and 400 KHz and supports clock stretching. It operates as master.

ADC

The analog-to-digital converter converts arbitrary voltages to a digital value. Two analog inputs are provided on the module. In addition, internal channels for temperature and supply voltage are supported.

UART

The UART provides the classical serial port protocol used by RS232 and serial-to-USB ICs such as many of the FTDI ICs. This enables the user to easily connect to sensors such as GPS modules, or to computer terminal programs. The UART can also be compatible with RS485 by using the CTS pin as RX/TX-pin.

Internal module resources

EEPROM

The RC18xxCEF-IPM module (note the E) includes an I2C EEPROM. This is the Microchip 24AA32A. This EEPROM has the I2C address of 0x50 (0b1010000x). Please see the EEPROM datasheet for details and use the ICI I2C API for interfacing this EEPROM. The EEPROM is exclusively for user data and isn’t used by any on-board Radiocrafts functions.

OTA (Over the Air Download)

OTA is part of the Radiocrafts Platform firmware. When radio packets containing firmware are received, they’re stored in the FLASH memory. The firmware is updated after a reset if the entire firmware is received and is error-free. Both the Radiocrafts Platform and the ICI application can be updated using OTA. Security can be ensured by using encrypted images.

Border Router Functions

A typical border router is shown below. This is basically how the Radiocrafts RIIM Border Router Concept is designed and is all that’s needed to realize a complete border router. In fact, you can do without the USB connection as well.

Border Router logical layout

Border Router logical layout

The Border Router uses the RC1882CEF-IPM module to realize all the functionality needed for the Border Router and the interface towards the local network or internet. For easy integration and stand-alone operation, this can be connected to an Ethernet MAC/PHY IC via SPI to the Microchip ENC28j60. it’s also possible to use SLIP instead for full IPv6 adressability.

As any other RC18xx-IPM module, it can run arbitrary code as well. This means that the user can implement a custom interface to a custom gateway via for instance the UART if that’s desirable and simultaneously interface sensors.

Radiocrafts Border Router Concept

Radiocrafts Border Router Concept