FPGA Libre
EnglishEspańolS.F. Summary
Hosted by:
Get Free FPGA development tools at SourceForge.net. Fast, secure and Free Open Source software downloads

Kéfir (Kit Educativo con FPGA, Inclusivo y Reciclable => Inclusive and Recyclable Educational FPGA Kit) is an economic development kit based on the Lattice iCE40HX4K-TQ144 FPGA.

What is Kéfir?:

Kéfir is a project to create educational development kits based on FPGAs.

The project is based on the following objetives:

  • Inclusive: low cost, to make it accessible, at least one version must be constructed using simple soldering technologies.
  • Recyclable: the kit, and the configuration cable, must be reusable for purposes other than FPGA development.

The first result of this project is the Kéfir I board. This board is based on the Lattice iCE40HX4K-TQ144 FPGA. The main features of this FPGA family are purposes here.

To reduce the manufacturing costs, and the PCB complexity, we developed a simple board, reducing the BOM as much as possible. At the same time we moved the configuration functionality (and part of the power source) to a separated board. This board can be used to configure other FPGAs, do AVR and ARM debugging and similar tasks. The board containing this functionality is named MILK.

To allow Kéfir I functionality expansions, reusing existing boards, we included Arduino compatible and PMOD connectors. This feature not only allows reusing Arduino shields, but also opens an interesting possibility: reuse Kéfir I as an Arduino compatible board. For more information visit: Lattuino.

Kéfir picture top

Technical features:

  • FPGA:
    • Lattice iCE40HX4K-TQ144 (3520 LUT4s, FFs and carry; 2 PLLs; 80 kib SRAM; 107 GPIOs)
    • Configuration memory: Winbond W25X40CL (SPI, 4 Mib, almost 3 Mib free)
    • Clock: DIP-8/14 socket for oscillator. (avoiding the need to use 1 PLL for most applications)

  • PCB: (FR4 1,6 mm)
    • Layers: 2
    • Minimum clearance: 8 mils
    • Track width: 10 mils
    • Vias diameter: 40 mils
    • Vias hole: 0,51 mm
    • Note I: The FPGA pitch is 0.5 mm
    • Note II: all the components can be easily soldered (no QFN, no BGA, etc.)

  • Connectors: (GPIO 3,3 V)
    • The board has the ChipKit, similar to Arduino UNO, but with the double I/Os. 42 GPIOs.
    • 2 PMOD 12 pins (8 I/Os + 2 GND + 2 Vcc each)
    • 2 x 20 pins connectors for configuration and PC communication. These connectors are designed to match the MILK connectors.

  • User interface:
    • Buttons: none physical, but 4 CapSense.
    • LEDs: 4 general purpose LEDs (+ power + DONE).

  • Analog inputs: (MCP3008)
    • 8 x 10 bits channels
    • Maximum sample rate: 100 ks/s

  • USB:
    • Type B connector
    • TUSB1106 driver (LS/FS)
    • Additionally MILK provides communication with a PC (SPI, I2C, RS-232, etc.)

  • Power:
    • Through the USB from MILK
    • Optionally can be powered using 3.3 V

Pinout de Kéfir

Is it verified?:

The Kéfir I was manufactured in Argentina and manually soldered (using a PACE soldering station and a videoscope). The following hardware descriptions were tested:

  1. LED blinking at 1 Hz from a 24 MHz clock (46 cells)
  2. The 4 CapSense signaling in the LEDs (39/50 cells)
  3. A/D acquisition at 55 ks/s showing the 4 LSB/MSB using the LEDs (45 cells)
  4. AVR ATtiny22 compatible CPU sending "Hello world!" using RS-232 at 115200 b/s (1012 cells)
  5. USB device reported as a joystick, the CapSense are the joystick buttons, Low Speed (978 cells)
  6. USB device reported as a joystick, the CapSense are the joystick buttons, Full Speed (970 cells)
  7. USB device that allows reading the CapSense and controlling the LEDs, using WISHBONE, Full Speed (1046 cells)
  8. Arduino UNO compatible application using a TFT and touchscreen shield (see Lattuino)

All the implementations worked perfectly. We detected unusual noise levels in the applications using the CapSenses. For this reason we created a revised version without this problem (r1.14).

Where can I get Kéfir I?:

Kéfir I is an open hardware project, all its design information can be downloaded from this site.

Currently no supplier offers Kéfir I boards. We want to encourage its fabrication because we understand that asking every user to do it is not efficient. We encourage potential manufacturers to contact us.

Is completely legal for a Universidad, or group of enthusiasts, to join efforts to manufacture a small lot of boards, reducing the cost. We invite people to coordinate such efforts using the lista de correo de Kéfir.

En el caso de voluntarios que puedan comprometerse a colaborar con el proyecto tenemos algunos circuitos impresos y/o componentes disponibles para que puedan armar su propia placa. En el caso de estudiantes universitarios que deban realizar su PPS (Práctica Profesional Supervisada) es posible realizarla en el INTI trabajando en este proyecto. En cualquiera de estos casos por favor contactarse con nosotros.

Allowed I/O levels:

Is very important to understand that the I/O pins use 3.3 V and aren't 5 V tolerant.

We left the pins protection outside the board, because the king and degree of protection depends on the use. If you plan to use the board in a hostile environment we recommend using a 3.3 V Arduino shield including suitable protections. The design of such a shield is very simple.


Kéfir I is an open hardware project, all its design information can be downloaded from this site.

The current licence for this project is Licencia Creative Commons Attribution - Share Alike 4.0 Internacional. This allows commercial use, but if you make changes you must share them under the same license.


Kéfir I was designed using KiCad.

Top layer
Bottom layer
KiCad renders


KiCad is a free software EDA tool. The schematics and PCBs for MILK were designed using KiCad "4.0.5+dfsg1-4", this is the version shipped with Debian GNU/Linux 9.

The manufactured revision (1.12) was made using KiCad "Build: (22-Jun-2014 BZR 4027)-stable", this is the version shipped with Debian GNU/Linux 8.

Which software can be used?:

You have at least two possible tool-chains:

  1. The free (but privative) manufacturer tools, they support VHDL and Verilog (For more information)
  2. Free software tools, they support Verilog and a graphical design environment (For more information)

Kéfir I is supported by both tool-chains.

Usage examples:

This section contains examples on how to use the board features:

  1. Capacitive buttons: this example shows how to use them in VHDL and Verilog. The examples shows the use of various tools (iCEcube2/Diamond Programmer, IceStorm, Xil Tools, APIO, APIO IDE and icestudio). You can navigate them on-line or download.

Related documents:

The following papers are related to Kéfir:


For general questions tou can use the MILK's mailing list.

For specific questions you can contact Salvador E. Tropea.

Supporting institutions:

The following institutions support this project:

  • Universidad Tecnológica Nacional - Facultad Regional Haedo
  • Universidad Tecnológica Nacional - Facultad Regional Córdoba
  • Universidad Nacional de Tierra del Fuego
  • Universidad Nacional de Catamarca


Valid HTML 4.01! Valid CSS! GIMP Any browser! SourceForge.net Logo

Copyright © 2005-2017 proyecto FPGALibre.
Generated using CAL v0.2.1 and ARENA v0.1.0 on mié nov 1 13:16:19 -03 2017