JavaScript HTML CSS NSIS Other
Clone or download
Latest commit 69c3a1d Jul 28, 2018

Build Status Version License Documentation Status

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

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

Supported boards

Board name GNU/Linux Windows Mac OS
Alhambra II
IceZUM Alhambra
Kéfir I iCE40-HX4K
Nandland Go board
iCE40-HX8K Breakout Board
iCEstick Evaluation Kit
icoBOARD 1.0    *    *    *
BlackIce II

* Use with Raspberry Pi


Check the Documentation for more information.


Install Python 2.7 and Node.js.

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
Galician Progress
French Progress
Chinese Progress
Catalan Progress
Basque 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.develop: install Apio from the repository 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.



Version Constributors
0.3 Lorea-Aldabaldetreku, Carlos Díaz, Martoni, Xoan Sampaiño, Unai, Francisco Sayas, Pascal Cotret, Juan Jose Luna Espinosa, Salvador E. Tropea, redbeard
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.