Just 13mm long, the Fomu truly embodies the 'micro' in microprocessor. It's a fully open-source, programmable FPGA device that fits neatly into a USB Type-A port. This little wonder comes with four buttons, an RGB LED, and an FPGA compatible with a fully open source toolchain, capable of running a RISC-V core. It's housed in a custom plastic case that fits perfectly into a USB port.
**Key Features of Fomu:**
- **Runs Python**: With 128 kilobytes of RAM and ample storage, Fomu can run Python natively. Installation is a breeze as it lives in your USB port. Thanks to the latest Python tools, you can use Fomu without specialized training.
- **Runs RISC-V**: Beneath the Python interpreter, there's a RISC-V softcore running on the FPGA fabric. RISC-V is a rising processor architecture. Fomu's RISC-V softcore is a great way to explore the future of processor architecture.
- **Is an FPGA**: An FPGA is reconfigurable silicon. The default Fomu firmware has a USB bootloader running a RISC-V softcore, but you can load whatever you want. Softcores for LM32 and OpenRISC are also available. You can add instructions to the CPU or new blocks like LED blink patterns.
- **Is Entirely Open**: Developing with Fomu is super easy. Just load code via USB. Whether it's RISC-V, Python, or HDL code, it's all uploaded the same way. The ICE40UP5K FPGA has full open toolchain support, so you can start development without any hassle.
An FPGA is a field-programmable array of gates. Unlike a CPU with fixed logic cells, an FPGA allows you to create custom hardware. For example, it can handle specialized timing signals for LEDs while the CPU does other work. With Fomu, you even have access to the CPU's source code, so you can modify it or create new instructions. Each purchase includes one fully assembled Fomu.




Using Fomu is really easy. First, just plug it into your USB port. If you want to run Python on it, you don't need to do much for installation as it's straightforward due to its USB - based design. The latest Python tools will help you use it without any prior special training. To work with RISC - V, the softcore is already there running on the FPGA fabric, and you can start exploring the future of processor architecture right away.
When it comes to programming the FPGA, you can load your own code via USB. Whether it's RISC - V code, Python code, or HDL, the upload process is the same. You can experiment by adding new instructions to the CPU or creating new blocks like LED blink patterns.
Here are some things to keep in mind. Since it's a small device, handle it gently to avoid any physical damage. When programming, make sure your USB connection is stable. As for maintenance, keep it clean and free from dust. If you're not using it for a long time, store it in a dry place. That's all you need to know to get the most out of your Fomu!