Meet Qomu, the latest in the *omu family of devices that fit inside you USB port. What’s different about Qomu? It’s not just an MCU, it’s not just an FPGA — it’s a complete SoC that fits inside a USB port. Qomu is differentiated by its vendor-supported open source tooling -– even the FPGA tools. The Qomu dev kit is the most capable tiny USB device, featuring QuickLogic’s EOS S3 multicore MCU + eFPGA SoC and its suite of 100% open source tools, including Zephyr, FreeRTOS, nMigen, SymbiFlow, and Renode.
The QuickLogic EOS S3 SoC on Qomu integrates an Arm® Cortex®-M4F MCU and an embedded FPGA (eFPGA), which means you can seamlessly blend firmware with gateware. Whether you need an accelerated machine learning classifier or glue logic for a new peripheral, the EOS S3 SoC puts you in control of making fine-grained design tradeoffs. Qomu is the perfect EOS S3 dev kit to get started — slot it into any USB Type-A port and take your project development with you everywhere you go.
Target Qomu’s eFPGA with SymbiFlow 100% open source tools for synthesis, place and route, and bitstream generation. Many example applications and gateware are available to try out completely free. And you don’t need to be a Verilog expert to use the eFPGA; in addition to standard Verilog support with SymbiFlow, Qomu supports nMigen for a Python-to-FPGA design flow. Both Zephyr and FreeRTOS real-time embedded operating systems support Qomu, and full device simulation is available with Renode.
Each Qomu comes with an injection-molded case to hold the board in the correct position for excellent USB contact and port fit. The Qomu case is derived from the exact same mold that was used on Tomu and Fomu. The Qomu case was developed and managed by Sean Cross (xobs) with Sutajio Kosagi, as has been done for all other *omu devices thus far. The photo below shows both sides of a Qomu installed in its case.
|FPGA Tooling||SymbiFlow||nexpnr, SymbiFlow||n/a||SymbiFlow|
|Vendor-supported FPGA Tools||SymbiFlow||None||n/a||SymbiFlow|
|RTOS||Zephyr, FreeRTOS||n/a||Zephyr||Zephyr, FreeRTOS|
|Inputs||Four pads||Four pads||Four pads||2 Push buttons (User, Reset)|
|Outputs||Three LEDs (R, G, B)||One RGB LED||Two LEDs||One RGB LED|
|GPIO||None||None||None||20 Feather-defined + 13 additional|
|Fits in USB port||Yes||Yes||Yes||No|
|Other Interfaces||N/A||N/A||N/A||SWD connector, UART, I²C, I²S, SPI|
|Main chip||EOS S3||ICE40UP5K||EFM32HG309||EOS S3|
|CPU||Arm Cortex M4F||N/A||Arm Cortex M0+||Arm Cortex M4F|
|Speed||80 MHz||12 MHz||25 MHz||80 MHz|
|RAM||512 KB + 8 KB eFPGA block RAM||128 kB||8 kB||512 KB + 8 KB eFPGA block RAM|
|Flash||16 Mb||2 MB||64 kB||16 Mb|
|LUTs||891 LC ~ 2400 LUT4||5280||N/A||891 LC ~ 2400 LUT4|
|Clock||32.768 kHz XTAL + programmable clock||48 MHz crystal||N/A||32.768 kHz XTAL + programmable clock|