# UPduino v3.1

> A low-cost, fully open source FPGA development board built on the Lattice ICE40UP5K with 5.3K LUTs, on-board FTDI FT232H USB programmer, 4MB qSPI flash, and 39 GPIO pins on PMOD-compatible headers.

## Quick Facts

- **Brand:** tinyVision.ai
- **Board Type:** FPGA
- **Price:** ~$36
- **Product Readiness:** developer
- **CPU:** Lattice ICE40UP5K (5.3K LUT FPGA)
- **CPU Architecture:** FPGA (Lattice iCE40)
- **CPU Cores:** N/A (programmable logic)
- **RAM:** 1Mbit SPRAM + 120Kbit DPRAM
- **Flash:** 4MB
- **USB:** Micro-USB
- **Power:** 5V
- **Operating Voltage:** 3.3V
- **Antenna:** N/A

## Connectivity

- **Wifi:** No
- **Bluetooth:** No
- **Zigbee:** No
- **Ethernet:** No

## Open Source

- **Firmware:** No
- **Schematics:** Yes
- **PCB Layout:** Yes
- **License:** MIT

## Compatible Firmware

icestorm, apio, yosys

## Use Cases

- fpga-development
- digital-logic-education
- risc-v-soft-core
- prototyping

## Components

- **ICE40UP5K** (fpga): Lattice iCE40 UltraPlus 5K FPGA with 5280 LUTs, 1Mbit SPRAM, 120Kbit DPRAM, and 8 DSP multiplier blocks. Ultra-low-power programmable logic supporting open source IceStorm toolchain. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.latticesemi.com%2Fview_document%3Fdocument_id%3D51968&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- **FT232H** (usb-bridge): FTDI FT232H Hi-Speed USB 2.0 to multipurpose UART/FIFO/SPI/I2C/JTAG bridge IC with Multi-Protocol Synchronous Serial Engine (MPSSE). Used for FPGA programming and debug. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fftdichip.com%2Fwp-content%2Fuploads%2F2025%2F11%2FDS_FT232H.pdf&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- **W25Q32JV** (flash-memory): Winbond 4MB (32Mbit) serial NOR flash memory with quad SPI (qSPI) interface for FPGA bitstream storage and configuration. Supports up to 133MHz clock speed. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.winbond.com%2Fresource-files%2Fw25q32jv%2520revj%252005302016.pdf&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- **12MHz Oscillator** (tcxo): Dedicated 12MHz on-board oscillator providing stable clock source for FPGA designs. Accessible via jumper R16 for optional disconnection. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fabracon.com%2FOscillators%2FASV.pdf&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- **RGB LED** (led-driver): On-board RGB LED driven by the ICE40UP5K's internal LED driver IP for status indication and visual output. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.latticesemi.com%2Fview_document%3Fdocument_id%3D51968&ref=openhardware.directory&product=upduino-v3-1&source=md-export)

## Protocols

- **SPI**
- **JTAG**
- **QSPI**
- **PMOD**
- **USB**

## Description

The UPduino v3.1 is a compact, affordable FPGA development board from tinyVision.ai designed around the Lattice iCE40 UltraPlus ICE40UP5K. With 5280 logic cells, 1Mbit of single-port RAM, 120Kbit of dual-port RAM, and 8 DSP multiplier blocks, it provides enough resources for meaningful FPGA projects including RISC-V soft processor implementations, custom peripheral controllers, and digital signal processing experiments. The board exposes all 32 FPGA GPIO pins plus additional signals across two 24-pin 0.1-inch headers, giving makers direct access to every I/O the chip offers.

Programming is handled by an on-board FTDI FT232H Hi-Speed USB bridge connected via Micro-USB, eliminating the need for an external programmer. The FT232H's Multi-Protocol Synchronous Serial Engine (MPSSE) supports SPI and JTAG modes, making it compatible with both the open source IceStorm toolchain and Lattice's proprietary tools. A 4MB Winbond qSPI flash chip stores FPGA bitstreams with support for quad-SPI mode for faster configuration loading, while a dedicated 12MHz oscillator (accessible via jumper R16) provides a stable clock source for designs that need precise timing.

The v3.1 revision improves on earlier versions with a more durable USB connector and PTC fuse protection replacing the original ferrite bead. The four-layer PCB features a solid ground plane and proper decoupling for clean signal integrity. Power comes from on-board 3.3V and 1.2V regulators that can also supply external circuits with up to 200mA at 3.3V. The entire board design is open source, created in KiCAD with schematics and layout files published on GitHub under the MIT license, making it a genuinely open hardware platform from silicon to PCB.

The UPduino v3.1 is fully compatible with the open source FPGA ecosystem including Yosys for synthesis, nextpnr for place-and-route, and APIO for project management. Its PMOD-compatible header layout allows direct connection of standard PMOD peripheral modules. The board ships with a blinking LED demo pre-loaded and includes two 24-pin header strips for soldering. At $36, it is one of the most accessible entry points into open source FPGA development.

## Where to Buy

- [Tindie](https://openhardware.directory/r?to=https%3A%2F%2Fwww.tindie.com%2Fproducts%2Ftinyvision_ai%2Fupduino-v31-low-cost-lattice-ice40-fpga-board%2F&ref=openhardware.directory&product=upduino-v3-1&source=md-export) — $36.00

## Resources

- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.tindie.com%2Fproducts%2Ftinyvision_ai%2Fupduino-v31-low-cost-lattice-ice40-fpga-board%2F&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- [github](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Ftinyvision-ai-inc%2FUPduino-v3.0&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- [wiki](https://openhardware.directory/r?to=https%3A%2F%2Fupduino.readthedocs.io&ref=openhardware.directory&product=upduino-v3-1&source=md-export)
- [schematics](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Ftinyvision-ai-inc%2FUPduino-v3.0%2Fblob%2Fmaster%2FBoard%2Fv3.0%2FUPduino_v3.0.pdf&ref=openhardware.directory&product=upduino-v3-1&source=md-export)

## Tags

`fpga`, `ice40`, `lattice`, `open-source-hardware`, `kicad`, `icestorm`, `yosys`, `risc-v`, `pmod`, `usb-programmer`, `dev-board`

## Images

![UPduino v3.1](https://nbg1.your-objectstorage.com/openhardware-directory/entities/upduino-v3-1/36956a5a1d83.jpg)
![UPduino v3.1](https://nbg1.your-objectstorage.com/openhardware-directory/entities/upduino-v3-1/1dc2fd4b4ec4.jpg)
![UPduino v3.1](https://nbg1.your-objectstorage.com/openhardware-directory/entities/upduino-v3-1/ecce4f74b29c.jpg)
![UPduino v3.1](https://nbg1.your-objectstorage.com/openhardware-directory/entities/upduino-v3-1/261c00d56797.jpg)
![UPduino v3.1](https://nbg1.your-objectstorage.com/openhardware-directory/entities/upduino-v3-1/87dc3b757de0.jpg)
![UPduino v3.1](https://nbg1.your-objectstorage.com/openhardware-directory/entities/upduino-v3-1/392c56ee1a7e.jpg)

---
[View full device page](https://openhardware.directory/devices/upduino-v3-1)