µLab Kiwi and Kiwi Lite : Beginner Friendly FPGA + ESP32 Development Boards
Learning FPGA development may not be the same anymore. µLab Kiwi and Kiwi Lite are two beginner friendly FPGA development boards created by Omri Raz. It will be soon launched at Crowd Supply. Both board features the Intel/Altera MAX10 FPGA with 8K LEs. The Kiwi has an ESP32-S2-WROVER module for Wi-Fi and Bluetooth connectivity. The Kiwi Lite does not have the ESP32 and its associated peripherals. That’s the difference between the two boards. The goal of the project is to make it easy for beginners or those who are already using microcontrollers for applications, to start exploring the immense capabilities of FPGAs. Let’s look at the features of both boards.
Features of Kiwi
- Altera MAX10 FPGA with 8K LEs (10M08SCU169C8G)
- ESP32-S2-WROVER (Compatible with Arduino IDE)
- Onboard USB Blaster (JTAG Programmer)
- USB-UART Bridge for the ESP32-S2 (CP2104)
- 50 MHz Clock Oscillator
- 8x LEDs
- 4x Slide Switches
- 3x 7 Segment Displays
- 2x Buttons
- 1x 40 pin FPGA GPIO Header (Compatible with Terasic shields)
- 1x 40 pin ESP32 GPIO Header
- 4x GPIO (Between the FPGA and the ESP32) for internal communication (SPI / I2C / UART)
- USB Type-C Connector
Features of Kiwi Lite
- Altera MAX10 FPGA with 8K LEs (10M08SCU169C8G)
- Onboard USB Blaster (JTAG Programmer)
- 50 MHz Clock Oscillator
- 8x LEDs
- 2x Buttons
- 1x 40 pin FPGA GPIO Header (Compatible with Terasic shields)
- 3x 12 pin PMOD connectors
- Type-C USB Connector
Both the boards are powered through a USB Type-C input. The 5V input is regulated to 3.3V for both ESP32 and the FPGA. The ESP32-S2 (single core) has a whooping 43 GPIO pins of which 40 are broken out as a 40-pin header. This is of course will be missing in the Lite version. Another 40-pin header breaks out the IO pins of the FPGA. To make the development and debugging easier, both board integrates some useful peripherals such as an array of LEDs, push-buttons, slide-switches and 7-segment displays.
Programming the FPGA is done through an on-board USB Blaster JTAG programmer. For the ESP32, a CP2104 is provided to program it serially. This makes the Kiwi development boards an excellent choice as they’re fully integrated. You don’t need to worry about buying expensive standalone programmers.
Intel® MAX® 10 10M08 FPGA Specifications
- Launch Date: 2014
- Lithography: 55 nm
- Logic Elements (LE): 8000
- Fabric and I/O Phase-Locked Loops (PLLs): 2
- Maximum Embedded Memory: 378 Kb
- Digital Signal Processing (DSP) Format: Multiply
- Hard Memory Controllers: No
- External Memory Interfaces (EMIF): SRAM
- User-Flashable Memory: Yes
- Internal Configuration Storage: Yes
- Maximum User I/O Count: 250
- I/O Standards Support: 3.0 V to 3.3 V LVTTL, 1.0 V to 3.3 V LVCMOS, PCI, SSTL, HSTL, HSUL, Differential SSTL, Differential HSTL, Differential HSUL, LVDS, Mini-LVDS, RSDS, LVPECL, PPDS, BLVDS, TMDS, Sub-LVDS, SLVS, HiSpi
- Maximum LVDS Pairs: 15
- FPGA Bitstream Security: Yes
- Analog-to-Digital Converter: Yes
- Package Options: V81, F256, U324, F484, E144, M153, U169, U324
Software Development
Software development for the FPGA can be carried out using the Intel® Quartus® Prime FPGA development platform with Verilog. The Lite edition of the software is free to download and requires no licenses. Kiwi boards are compatible with Quartus Prime. To help you with getting started, the authors have provided examples on driving the IOs and implementing various hardware peripherals such as VGA. The examples can be found here at GitHub – Kiwi-Project-Samples. The Wiki page has description on installing and setting up Quartus Prime and building your first project. To help with generating pin mapping and initialization code, uLab-system-builder can be used. It is a GUI software that lets you select the peripherals and configurations you need.
Applications for ESP32 can be developed using Arduino ESP32 core or ESP-IDF. Programming the ESP32 module is the same as any other ESP32 boards. But since the module is also connected to the FPGA, you can transfer data between them and create applications that leverage the capabilities of a high-speed microcontroller and an FPGA.
We are still not sure if the project is fully open source, since the hardware design files were not found in the repository or had any mention of them being released. There is no indication of the price and delivery schedule yet. But if you like the project and want to get your hands on one, then subscribe to the project at Crowd Supply to get notified.
Links
- µLab Kiwi and Kiwi Lite – Crowd Supply
- Kiwi Project Samples
- uLab System Builder
- ESP32-S2-WROVER Datasheet PDF
- ESP32-S2 Product Page
- Intel/Altera MAX10 FPGA Product Page
- Intel Quartus Prime Lite Edition Download
Short Link
- Short URL to this page – https://circuitstate.com/ulkiwif