Skip to content
Go to file

Build Status Version License Documentation Status

Visual editor for open FPGA boards. Built on top of the Icestorm project using Apio.

Graphic design -> Verilog, PCF -> Bistream -> FPGA

For more information visit our site

Supported boards


Board name Interface
IceZUM Alhambra FTDI
Nandland Go board FTDI
iCEstick Evaluation Kit FTDI


Board name Interface
Alhambra II FTDI
BlackIce Serial
BlackIce II Serial
Kéfir I iCE40-HX4K FTDI
iCE40-HX8K Breakout Board FTDI
iceFUN Serial


Board name Interface
TinyFPGA B2 Serial
TinyFPGA BX Serial


Board name Interface
iCEBreaker FTDI
iCEBreaker bitsy FTDI
UPDuino v1.0 FTDI
UPDuino v2.0 FTDI
FPGA 101 Workshop Badge Board FTDI
iCE40 UltraPlus Breakout Board FTDI


You can install stable or nightly Icestudio versions.

Because Icestudio is in development proccess, until it rises to 1.0 version, we are recommending to install nightly Icestudio versions, that have the latest features.

Check the Documentation for more information.


Install Python >= 3.5 and Node.js, for windows developers nodejs version should be 10.17.x

Atom editor with linter-jshint is recommended.

If you want to add blocks or examples, please contribute to icestudio-blocks, icestudio-examples or collection-default.


git clone
cd icestudio


npm install


npm start


Language Translated strings
English Progress
Spanish Progress
Italian Progress
French Progress
Dutch Progress
Czech Progress
Greek Progress
German Progress
Russian Progress
Chinese Progress
Galician Progress
Basque Progress
Catalan Progress


Add or update the app translations using Poedit.

Developer note: use npm run gettext to extract the labels from the code.


cd docs
make html
firefox _build/html/index.html


npm run dist
Target OS Development OS Output files
GNU/Linux GNU/Linux (linux32,linux64).zip, (linux32,linux64).AppImage
Windows GNU/Linux (win32,win64).zip, (win32,win64).exe
Mac OS Mac OS (osx32,osx64).zip, osx64.dmg

Apio configuration

Apio backend is configured in the app/package.json file:

  • apio.min: minimum version (>=)
  • apio.max: maximum version (<)
  • apio.extras: list of external Python programmers (blackiceprog, tinyfpgab)
  • apio.external: load an external Apio package instead of the default one (e.g. /path/to/my/apio)
  • apio.branch: install Apio from the repository branch instead of PyPI.

An external Apio package can be also set on runtime using the ICESTUDIO_APIO environment variable.


If you get this error npm ERR! peerinvalid The package grunt@1.0.1 does not satisfy its siblings' peerDependencies requirements!, try to update your nodejs or execute:

npm update -g

More information


There is a Wishlist in the wiki with the features proposed by the Community. If you want to contribute with new features and ideas write in the Google Group.

We use the GitHub issues to track the work and schedule our new features and improvements.

Development Team


Version Contributors
0.5 Carlos Venegas Arrabé, Juan González (Obijuan), Zakary Kamal Ismail, Sam
0.4 Carlos Venegas Arrabé, Elektor.Labs, Piotr Esden-Tempski, Miodrag Milanović, raTmole, Luca Cristaldi
0.3 Luke Valenty, Lorea-Aldabaldetreku, Carlos Díaz, Martoni, Xoan Sampaiño, Unai, Francisco Sayas, Pascal Cotret, Juan Jose Luna Espinosa, Salvador E. Tropea, redbeard, Eladio Delgado, Philipp van Kempen
0.2 Tomás Calvo, Juan González (Obijuan), Carlos Díaz, Xoan Sampaiño, Salvador E. Tropea, Democrito, Martoni, Pascal Cotret
0.1 Miguel Sánchez de León Peque


  • FPGAwars community has developed this project in a voluntary and altruistic way since 02/2017.

  • BQ sponsored this project from 02/2016 to 02/2017. Thanks


Licensed under GPL 2.0 and Creative Commons Attribution-ShareAlike 4.0 International License.

You can’t perform that action at this time.