Nessie Circuits’ Riotee board features a Riotee module based on Nordic nRF52833 WiSoC with a 2.4 GHz radio that targets batteryless IoT applications thanks to a stackable design taking a capacitors add-on board and a solar panel.
Batteries introduce maintenance costs and environmental issues with millions of batteries disposed of every day. That’s why companies are trying to provide solutions for batteryless IoT designs such as the Everactive batteryless IoT devkit or Telink energy harvesting wireless module for remote controls. The Riotee module, board, and ecosystem also aim to play their part in reducing the use of batteries in wireless IoT devices.
Riotee board specifications:
- Riotee module
- Wireless MCU – Nordic nRF52833 Arm Cortex-M4F microcontroller @ 64 MHz with 512 kB flash, 128 kB RAM, 2.4 GHz radio
- Memory – 128 kB of non-volatile memory (MSP430FR5962 FRAM) for “automatic checkpointing of application state”
- Castellated holes with 11x GPIOs including two analog inputs, SPI, I2C, UART, PWM, and I2S
- Misc – Onboard LED
- Power management
- Boost converter (Maxim MAX20361) with software-defined maximum power point tracking
- Sensing of capacitor voltage, harvesting voltage, and harvesting current
- Software-defined thresholds to enable and disable capacitor-based power
- 80 uF expandable on-board capacitance
- 2 V regulated output voltage
- Additional capacitor backup powers Ambiq AM1805 RTC in the absence of a power supply (may last for seconds or minutes depending on conditions)
- Dimensions – 15.2 x 27.18 mm
- USB – 1x USB Type-C connector for programming and debugging, CMSIS-DAP compatible for OpenOCD and pyOCD debugging via Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller clocked at up to 133 MHz with 264KB RAM
- Expansion – 2x 12-pin female headers exposing the Riotee module’s signals for the stackable add-on boards.
- Misc – Push button and an LED
- Power Supply – Connector for an external solar panel.
- Dimensions – 56 x 23 mm
Most people will use the add-on boards with Riotee board starting with the optional Sensor shield with a Bosch BMA400 digital accelerometer, a Sensirion SHTC3 digital temperature and humidity sensor
and Vesper VM1010 analog microphone with power switch.
You’d place it directly on top of the Riotee board, and after the Riotee Capacitor Shield on top with a range of capacitors namely three 47uF MLCCs, three 220uF MLCCs, one 10mF EDLC, and one 220mF EDLC, as well as an 8-position DIP switch to enable specific capacitors.
The stack is completed by the Riotee Solar Shield with four AnySolar KXOB25x03F solar panels and a DIP switch for selectively connecting 1, 3, or 4 panels in parallel that enable batteryless operating for the IoT board.
All hardware and software have been released on GitHub with KiCad hardware design files for the main board and all add-ons/shields, and the software is comprised of three parts:
- The Riotee Runtime to enable the execution of user code on the Riotee Module
- The Riotee Arduino Core to make the Riotee Runtime available in the Arduino IDE
- The Riotee Probe firmware to support debugging and programming with the Riotee Board and Riotee Probe, another RP2040 board specifically designed for debugging.
Further documentation can also be found on the project’s website.
Nessie Circuits is currently offering the Riotee module, board, and shields on Crowd Supply crowdfunding platform. The Riotee module only requires a $55 pledge, while the Riotee board goes for $89. If you’d like the Capacitor, Solar, and/or Sensor shields, you’ll need to add $35 for each. Shipping adds $8 to the US, and $18 to the rest of the world with deliveries expected to start by the end of May 2023.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Great to find a post about Riotee here! One minor clarification: The RP2040 is just for programming and is powered from USB. The idea is similar to the J-Link OB controllers that handle SWD programming on many dev-boards.
So.. an mcu is used as a spi flash? Weird and more than $10 more expensive
Not quite. The MCU has FRAM which is non-volatile memory that can be written just like SRAM. We use this to store snapshots of the application state when power is temporarily interrupted (shadow passing over the solar panel).
You can’t use flash for that because 1) erasing costs a lot of energy, more than we can store on the capacitors and 2) it will wear out after a few 10k cycles.
Very clever. But wouldn’t uploading and downloading the program state be fairly inefficient, given that you have to go off chip to do that?
It certainly adds overhead. We write to FRAM with 1Mbps, so writing 1kB takes 1ms and a fair amount of energy. One way to drastically reduce the overhead is to only checkpoint when really necessary: We monitor the capacitor voltage and when we notice say below 3V, we suspend the application and go to deep sleep. If the voltage recovers, we continue executing. But if it falls below another threshold, say 2.8V, we copy application state to FRAM. This way, the device operates on RAM under normal conditions and only does the checkpointing when really necessary.
Sorry another question, this is interesting to me, I used to be a big proponent of FRAM usage, when the MSP first integrated it in some versions, but it didn’t really take off, which is a shame.
Any particular reason for using an MSP430, instead of a “raw/spi” FRAM. Is it just a cost thing? I know FRAM isn’t particularly cheap.
Happy to answer any questions. I agree, it’s a shame that we don’t see more devices like that. I did evaluate the Ambiq Apollo4 which has non-volatile MRAM instead of flash, but the writing speed to this MRAM jitters extremely and Ambiq refused to discuss any details on this matter.
Yes, cost is one big factor as indeed the discrete MRAM and FRAM can be expensive. Also, sleep currents are much higher for many devices, whereas the MSP can be put to extreme low power easily.
Finally, and this is a “soft” reason: We’re part of a scientific community that works on battery-free, intermittent systems and we developed Riotee with the specific needs of researchers in mind. The vast majority of research groups use the MSP430FR for their works, because of the built-in FRAM. These folks can now directly run their existing code on Riotee, as the MSP430 is in fact fully programmable and shares access to all other parts of the system. We don’t discuss this on the campaign page, but here’s a more detailed block diagram of the module: https://www.riotee.nessie-circuits.de/docs/hardware/riotee-module
The title and description are misleading. From what I understand, it’s actually an nRF52833 module, and the RP2040 is just used for programming and debugging that module (probably very similar to the recent RP2040-based Raspberry Pi Debug Probe https://www.cnx-software.com/2023/02/21/raspberry-pi-debug-probe-eases-bare-metal-development/ )
That’s right! The software on the RP2040 is indeed based on the same software that also runs on the Raspberry Pi debug probe.
Everactive is about 4-6 weeks away from bankruptcy.