Fomu es una pequeña placa de desarrollo basada en una FPGA que cabe dentro de un puerto USB tipo A. Incorpora un chip Lattice ICE40UP5K con 5.280 LUTs, 128 kB de RAM y 2 MB de flash, además de cuatro botones capacitivos en pads de cobre y un LED RGB controlable por el usuario. Su carcasa de plástico a medida permite insertarla directamente en cualquier puerto USB sin necesidad de cables ni alimentación adicional.
El dispositivo se comercializa como una plataforma de aprendizaje para trabajar con FPGAs y con la arquitectura RISC-V. Por defecto, el firmware ejecuta un softcore RISC-V que corre un intérprete de Python, lo que permite programar la placa en lenguajes de alto nivel sin herramientas propietarias. El toolchain es completamente open source, basado en proyectos como Yosys, IceStorm y nextpnr, lo que evita firmar NDA, crear cuentas de fabricante o descargar instaladores de varios gigabytes. Los softcores LM32 y OpenRISC también están disponibles.
Fomu resulta útil como introducción a la programación de hardware y a arquitecturas de CPU, y permite cargar diseños personalizados mediante USB. Frente a alternativas como Tomu, ICEBreaker o TinyFPGA BX, se distingue por ocupar todo el espacio del puerto USB y por integrar un bootloader USB. El proyecto contempla varias iteraciones de hardware: la Hacker Version, de dos capas y difícil de ensamblar; una versión EVT de dos capas apta para cualquier fabricante de PCB; y una variante stretch pensada para acoplarse a una Raspberry Pi y acelerar el desarrollo y la depuración.
El equipo responsable sitúa a Fomu como evolución natural de Tomu, su anterior proyecto, y reitera que el diseño y el firmware son abiertos, de modo que cualquiera puede modificar el hardware para adaptarlo a sus necesidades.
