RED-V RedBoard Hookup Guide
Introduction
SparkFun is pleased to welcome a whole new instruction set architecture (ISA) to its family, the RISC-V ISA (pronounced “risk-five”), and along with it, introduce the RED-V RedBoard (pronounced “red-five”). In this tutorial, we'll be focusing on the hardware.
What sets the RISC-V ISA from the rest is that it is completely open-source; including the instruction set architecture (ISA). That means anyone can make full use the microcontroller without requiring royalties, licenses, or non-disclosure agreements (NDAs). The RED-V comes in the familiar Arduino Uno form factor and includes the SiFive Freedom E310 core, 32MB of QSPI flash, an NXP K22 ARM Cortex-M4 for USB connectivity and operating as a JTAG interface, and a Qwiic connector.
Required Materials
To follow along with this tutorial, you will need the following materials and software. You may not need everything though depending on what you have. Add it to your cart, read through the guide, and adjust the cart as necessary. Here is what you would need to get started:
- RED-V - You'll definitely need this; otherwise, you are probably on the wrong tutorial page (wink).
- USB 3.1 Cable A to C - 3 Foot - The USB interface serves two purposes: it powers the board and allows you to upload programs to it. (You might even have a few of these in you drawer!)
You Will Also Need
To utilize all the features of the development board, you may need the following tools and accessories. If you would like to modify the jumpers on the board, you will need soldering equipment.
Jumper Modification
If you would like to modify the jumpers on the board, you will need soldering equipment.
Qwiic Example
If you would like to follow along with the examples below to interact with the physical world, you will also need the following items:
Segger Programmers
If you would like to debug or flash your processor on your own, here are some of our SEGGER Programmers. We also recommend getting the 1.27mm header pins with some jumper wires to connect. Depending on the programmer that you use, you may need to use a combination of wire wrap and IC hooks to connect.
Suggested Reading
Before continuing on with this tutorial, you may want to familiarize yourself with some of these topics if they’re unfamiliar to you.
How to Solder: Through-Hole Soldering
Hardware Overview
Power & Programming
There are a few different ways to power the SparkFun RED-V RedBoard:
- USB-C
- barrel jack connector
- power pins broken out on the edge of the board
The easiest way (which will also allow you to program your board) is to simply plug it into your computer via USB-C. This will provide 5V to the board and will also allow you access to the super cool USB-to-JTAG interface for programming. Once you've programmed your RED-V however, you may want to have it running off of a different power supply. If you use a wall wart on the USB-C connector, make sure it outputs a regulated 5V DC. You can also use the black barrel jack, in which case you'll need any wall adapter between 7 & 15 Volts DC. Or you can also power the board through the header pins broken out on the edge of the board. If you are using VIN
and GND
, follow the same practice as using a wall adapter and stick to between 7 & 15 Volts. If you are using 5V
and GND
or 3v3
and GND
, make sure that your voltage is regulated when applying power to the 5V or 3.3V pins, respectively.
Always-On Core
The FE310 contains an Always-On (AON) block that allows easy power control of the FE310. It includes its own real-time clock and is also attached to the WAKE button on the board. This allows you to put the FE310 to sleep and wake it up upon a time-generated or user-generated interrupt.
Buttons
The RED-V has two buttons: a RESET
button and a WAKE
button. The RESET
button is pretty self explanatory and is used to reset the FE310. A single tap of the RESET
button will run the code loaded onto the FE310's QSPI flash. A quick double tap will put the FE310 into safe bootloader mode, which will allow you to flash new code to the RED-V if you've managed to really mess things up (i.e. Oops I put the core to sleep and forgot to add a way to wake it up). The pin is also broken out on the edge of the board. Adding a jumper wire from this pin to GND will reset the board as well.
The RED-V is also equipped with an Always-On or AON core (mentioned above) which can be programmed to shut down the main core of the FE310 and wake it up upon a button-generated or user-generated interrupt. The WAKE
button can be configured in software to wake the FE310 from deep sleep. This button is also broken out to the header pin nearest the barrel jack if you'd like to use an external source to wake the FE310. Adding a jumper wire from this pin to GND will wake the board as well.
Jumpers
The FE310 has a few jumpers as well, all of which are open by default. The two jumpers located next to the I2C
label is for the I2C pull-up resistors. These resistors are not attached by default as there are I2C pull-up resistors on all SparkFun Qwiic slaves. If you're using a 3rd party board, you may need to close these jumper by the Qwiic connector to attach the pull-ups to the I2C bus. The jumper by the USB-C connector is for bypassing the 0.5A PTC fuse. This is for special cases where you need a lot current. Most of the time, you can leave this jumper open.
Dimensions
The RED-V RedBoard uses the Arduino Uno footprint. There are four mounting holes on the board.
Hardware Hookup
For the scope of the tutorial, you'll use a USB C cable to power, upload code, and send serial to the board. Simply connect the computer's USB port and the RED-V. The board uses standard Arduino Uno R3 footprint with female headers to stack Arduino shields and easily connect prototyped circuits on breadboards with jumper wires.
Software Development Guide
There are a few environments to get started with the RED-V. For information about programming the RED-V RedBoard, check out the following tutorial.
RED-V Development Guide
November 27, 2019
Resources and Going Further
Now that you've successfully got started with your RED-V RedBoard, it's time to incorporate it into your own project! For more information, check out the resources below: