This repository hosts the firmware running on the Riotee Probe and the Riotee Board and a command line tool for controlling the probe via USB. The Riotee Board and Riotee Probe have a Raspberry Pi RP2040 that is connected to a PC via USB and controls programming and debugging of the microcontrollers inside the Riotee module.
Features:
- Programming of the MSP430FR5962 on the Riotee Module
- Programming of the nRF52833 on the Riotee Module
- Enabling/disabling a constant power supply
- Forwarding of UART output from the Riotee Module to a PC
- Bypassing of power supply for measuring current consumption on the Riotee Board
- Control of 4 GPIOs on the headers on the Riotee Probe
Download the latest UF2 binaries for the Riotee Board or Riotee Probe from the release page or build them from source.
To upload the firmware to the Riotee probe or Riotee board, connect a jumper wire from one of the ground pins to the pad labeled 'USB_BOOT' on the bottom of the board, while plugging in the USB cable. A removable storage drive should appear on your PC. Drop the UF2 binary into the drive.
Install the command line tool with
pip install riotee-probe
To access the Riotee board and Riotee probe without root privileges, copy the 52-riotee.rules to /etc/udev/rules.d
on your machine.
Make sure your user is in the plugdev group and reload udev rules with:
sudo udevadm control --reload-rules
sudo udevadm trigger
To list all available commands run
riotee-probe --help
To upload a hex file to the MSP430 on the Riotee Module:
riotee-probe program -d msp430 -f build.hex
To upload a hex file to the nRF52 on the Riotee Module:
riotee-probe program -d nrf52 -f build.hex
To enable and disable the constant power supply:
riotee-probe target-power --on
riotee-probe target-power --off
Follow the official instructions to install and setup the Pico SDK.
Clone this repository and install the submodules:
git clone --recursive [email protected]:NessieCircuits/Riotee_ProbeSoftware.git
Create the build
directory, configure cmake and build:
cd Riotee_ProbeSoftware
mkdir firmware/build
cd firmware/build
cmake ..
make
By default, cmake will build the firmware for the Riotee probe hardware. If you want to build for the Riotee board hardware instead, set the environment variable PICO_BOARD
to riotee_board
before configuring cmake:
export PICO_BOARD=riotee_board
cmake ..
To upload the firmware to the Riotee probe or Riotee board, connect a wire from one of the ground pins to the pad labeled 'USB_BOOT' on the bottom of the board, while plugging in the USB cable. A removable storage drive should appear on your PC. Drop a UF2 compatible binary into the drive.
Thanks to the fantastic pidcodes project we got two USB product IDs for the Riotee board and the Riotee probe. If you plan to use this software on any other hardware you must obtain a USB Vendor ID and Product ID first and assign it in src/usb_descriptor.c
.
The software in this repository is heavily based on Raspberry Pi's Picoprobe and uses an implementation of TI's SBW based on the infamous SLAU320 application note.