Giter Club home page Giter Club logo

riotee_probefirmware's Introduction

Riotee Probe Software

Firmware build Python build PyPiVersion

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.

Uploading the firmware

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.

Installing the command line tool

Install the command line tool with

pip install riotee-probe

Udev rules (Linux)

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

Usage

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

Building the firmware

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 ..

Uploading the firmware

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.

USB IDs

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.

References

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.

riotee_probefirmware's People

Contributors

chrysn avatar dependabot[bot] avatar geissdoerfer avatar orgua avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.