You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sean Cross c0df98f66e hw: correct crystal pin for Hacker board
Signed-off-by: Sean Cross <>
4 years ago
hw hw: correct crystal pin for Hacker board 4 years ago
sw sw: spi-gpio: remove unused files 4 years ago
.gitignore gitmodules: add hw deps 4 years ago
.gitmodules gitmodules: add hw deps 4 years ago
LICENSE initial commit 4 years ago README: add information about sw and hw and building 4 years ago

Foboot: The Bootloader for Fomu

Foboot is a failsafe bootloader for Fomu. It exposes a DFU interface to the host. Foboot comes in two halves: A Software half and a Hardware half.

Building the Hardware

The hardware half is written in LiteX, and uses lxbuildenv to handle Python dependencies. Hardware is contained within the hw/ directory. You must install software dependencies yourself:

  • Python 3.5+
  • Nextpnr
  • Icestorm
  • Yosys
  • Git

Subproject dependencies will be taken care of with lxbuildenv.


To build, run

python3 .\

There are multiple build options available. Use --help to list them.

Build files will be generated in the build/ directory. You will probably be most interested in build/gateware/top.bin and build/software/include/generated/.


You can run tests by using the unittest command:

python .\ -r -m unittest -v valentyusb.usbcore.cpu.epfifo_test.TestPerEndpointFifoInterface

Building the Software

Software is contained in the sw/ directory.