For this workshop you will need;

  1. The Fomu workshop files - see Required Files section.

  2. The Fomu toolchain - see Required Software section.

  3. A Fomu board - see Required Hardware section.


If you are at a workshop, please install the tools first and then get the hardware from your presenter.


Your Fomu should be running Foboot v2.0.3 or newer.

You can see what version you are running by typing dfu-util -l like so;

dfu-util -l

If your Fomu is running an version older than v2.0.3 follow the Updating the Fomu Bootloader section.

Required Files

You will need the Workshop files. They are located in the fomu-workshop Github repository. You can download or clone it from git:

git clone --recurse-submodules

If you’re attending a workshop that provides USB drives, these files may be available on the USB drive under the Workshop directory.

Required Software

Fomu requires specialized software. This software is provided for Linux x86/64, macOS, and Windows, via Fomu Toolchain.

Debian packages are also available for Raspberry Pi.

If you’re taking this workshop as a class, the toolchains are provided on the USB disk.

To install the software, extract it somewhere on your computer, then open up a terminal window and add that directory to your PATH:

$ export PATH=[path-to-toolchain]/bin:$PATH
export PATH=[path-to-toolchain]/bin:$PATH

If you use PowerShell as your terminal;

If you use cmd.exe as your terminal;


To confirm installation, run the yosys command and confirm you get the following output;

Ensure it says (Fomu build). Type exit to quit yosys.


The Fomu Toolchain consists of the following tools;




Verilog synthesis


FPGA place-and-route


FPGA bitstream packing

riscv toolchain

Compile code for a RISC-V softcore


Load a bitstream or code onto Fomu


Convert Migen/Litex code to Verilog


Interact with Fomu over USB

serial console

Interact with Python over a virtual console

Required Hardware

For this workshop, you will need a Fomu board.

Aside from that, you need a computer with a USB port that can run the Required Software.

You should not need any special drivers, though on Linux you may need sudo access, or special udev rules to grant permission to use the USB device from a non-privileged account.

This workshop may be competed with any model of Fomu, though there are some parts that require you to identify which model you have. See the Which Fomu do I have? section.

Which Fomu do I have?






Bash Command

export FOMU_REV=hacker

export FOMU_REV=pvt


Hacker Hardware Front without case

Production Hardware Front without case


Hacker Hardware Back without case

Production Hardware Back without case

In Case

Hacker Hardware Back with case

Production Hardware Back with case


Hacker Hardware Annotated Diagram

Production Hardware Annotated Diagram


dark blue

cyan / light blue


Fomu Hacker running DFU Bootloader vX.X.X

Fomu PVT running DFU Bootloader vX.X.X


These are the original design and cut corners to make it easier to manufacture. If you received one directly from Tim before 36C3, you probably have one of these. Hacker boards have white silkscreen on the back.

If you ordered a Fomu from Crowd Supply, this is the model you’ll receive. It is small, and fits in a USB port. There is no silkscreen on it. This model of Fomu has a large silver crystal oscillator that is the tallest component on the board.

Received at

From Tim at 35C3, CCCamp19, HackADay Supercon 2019

At RISC-V Summit 2019, 36C3, Crowdsupply, Mouser

Buy more

End of Life



There are also Fomu EVT boards which were shipped to early backers of the Fomu crowd funding campaign. This model of Fomu is about the size of a credit card. It should have the text “Fomu EVT3” written across it in white silkscreen. If you have a different EVT board such as EVT2 or EVT1, they should work also.