Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
ICEZUM Alhambra board
OpenFPGA development made easy. If your are interested in getting one board, please go to AlhambraBits
- FPGA development board (iCE40HX1K-TQ144 from lattice)
- Open hardware
- Compatible with the opensource icestorm toolchain, by Clifford Wolf
- Multiplatform: Linux / Mac / Windows
- Arduino like board: similar pinout than Arduino one / BQ zum.
- You can Reuse most of available Arduino / Zum shields
- Control your robots / printbots from an FPGA
- 12 MHZ MEMS oscillator
- ON/OFF switch (turn off your mobile robot easily)
- Input power voltage: 6 - 17v
- Max input current: 3A (Perfect for powering your robots)
- 20 Input/output 5v pins
- 8 Input/Output 3.3V pins
- USB micro-B connector for programming the FPGA from the PC (same than zum board)
- FTDI 2232H USB device allows FPGA programming and UART interface to a PC
- Reset pushbutton
- 8 general purpose leds (user leds)
- 2 general purpose pushbuttons
- TX/RX leds
- Configuration in process led
- 4 analogue inputs though I2C bus
- Hardware protection against short-circuits, reverse polarity and so on
This board is about exploring the opensource side of the FPGAs. We know that there are more powerful FPGAs. We know that the are very very very amazing software tools that can do a lot of stuff... but they are not opensource. So, if you like the freedom too, this board is for you
|First prototype built|
|Easy connection of sensors/actuators. Example: a servo, a led, a pushbutton and a buzzer|
|Connecting a 3D printed servo gripper|
|IceZUM Alhambra controlling a path follower robot|
|Render 3D view|
|Render Top view|
|Render Bottom view|
Examples of use of the IceZUM Alhambra board. All of them are hardware: there is no cpu, no software, no libraries, just plain hardware on the FPGA :-)
|Playing the imperial march :-) (VIDEO)|
|Opening and closing a 3D printer gripper with a pushbutton (VIDEO)|
|Testing an IR sensor (VIDEO)|
|A 3D-printed robot following a black path (VIDEO)|
|Locomotion of a 3D-printed caterpillar-like robot (VIDEO)|
|Verilog-to-Bitstream Flow for iCE40 FPGAs in an ubuntu phone (VIDEO)|
|Rasty! 8 3D-printable Alhambra-led boards connected to the Icezum Alhambra V1.1 (VIDEO)|
Shields and Peripherals
- Alhambra-led Github Repo
- Description: Board with a led for connecting directly to the male 3-pins headers. The PCB is 3D printed
|The Alhambra-led board|
|One Alhambra-led connected to the Icezum Alhambra|
|Rasty: 8 Alhambra-leds connected to the board :-)|
Design source files
All the design files are locate in the github repo: schematics, PCB, BOM and GERBER files for manufacturing
Footprints and 3D models
All the 3D models have been designed using the opensource tool Freecad. In this table you can see the 3D components, the step files and their sources in Freecad. All the sources are located in the Freecad Parts library
I am new to FPGAs. Is this board ok for me?
Absolutely. This board is intended for people that never has designed a digital circuit and want to learn the basics. Learn how to create simple combinational circuits for controlling robots. Learn how the counters, pwm units, uarts and other devices works, using easy to plug sensors and actuators. Learn to think in a "hardware way" instead of software way. Synthesize your own small processors. This board is about learning digital electronics easily, using only opensource tools.
Why are you using Lattice ICE40 FPGA instead of the very well known ones from Xilinx or Altera?
Because the ICE40 family from Lattice is (currently) the only one that has a fully opensource toolchain. Have a look at the Icestorm project by Clifford Wolf. We really believe that this project is going to change everything. This is like the gcc toolchain for the hardware world
Why are you using the horrible arduino pinout?
Just for reusing some already made shields. This board is about learning, not creating a new "standard". There are hundreds of already working arduino shields. Why not reusing them? Designing hardware for using these shields would be fun. In addition, the IceZUM Alhambra has three-pin connectors to attach directly servos or sensors easily, without having to plug shields.
Where are the rest of the FPGA I/O pins?
They are gone. For teaching digital electronics and learning with small projects we think that 20 I/O pins are more than enough
I know nothing about HDL languages. Is there any software I can use for uploading hardware into the board?
Yes. We are working on the Icestudio tool. It is an opensource multiplatform tool (releases under the GPL license). Currently is very limited but we are improving it so that people can learn the basis of digital design. And the community can modify it.
I want to develop some cores, but using HDL languages. Is it possible? Of course. You can directly write your programs in Verilog and use the Icestorm toolchain for synthesizing and uploading the hardware. If you are not a beginner, you can choose the tools you want
I know VHDL language and do not want to use Verilog
Currently, the Icestorm toolchain only supports verilog. But as these is an opensource project, we are sure that the community will support it in the future
But for learning and making simple circuits is better to use an CPLD. Why using an FPGA?
Because we do not know of any CPLD with an fully opensource toolchain. For educational purposes, we think that the software should be opensource
Why should I prefer the IceZUM board instead of Papilio, that is much more powerful? Because the Papilio boards are based on Xilinx FPGAs, that do NOT have opensource tools for generating the bitstreams. You need the propietary tools from Xilinx. IceZUM board is about freedom
2016/09/26: The Icezum Alhambra v1.1 design is sent to Surtel (Located in Jaen, Spain) for manufacturing a batch of 110 boards!. The boards should be ready (pcb + smd mounting) by Nov-11th.
2016/09/22: Three Icezum Alhambra V1.1-RC1 are hand mounted and tested. They work ok!
- 2016/09/14: The 10 PCBs (V1.1-RC1) from PCBway has arrived to Pinos del valle (Granada, Spain)!
2016/09/02: V1.1-RC1 is ready. It is sent to pcbway for manufactoring 10 PCBs for testing
2016/07/28: Icezum V10K is Released! Technological Heritage Edition. This version belongs to our Technological Heritage. Anyone in the world can study this board, modify it and create derived work. The board has been created from the scratch using only Opensource tools:
- PCB, esquematics: Migrated to Kicad (4.0.2)
- 3D Models: Freecad (0.16)
- Pinout: Inkscape (0.91)
- BOM: LibreOffice (184.108.40.206)
2016/03/08: The first 5 prototypes are ready! :-)
2016/03/05: First bitstream downloaded into the IceZUM Alhambra! The test has been done with the iceprog cross-compiled for windows
2016/03/04: Soldering and initial tests
2016/03/03: ¡The first PCBs have arrived! :-) (Image)
2016/02/28: This flavour of icezum will be called Icezum Alhambra. The name was suggested by Sebastián Gallardo in this post in the FPGA-war spanish google group. The Author (Eladio Delagado) is from a small town in Granada, called Pinos del Valle
2016/02/27: The PCBs have been already manufactured by pcbway and they are sending them. The estimated delivery date is March 03 2016. Can't wait to have then in our hands!
2016/02/22: Components from Farnell has arrived!
2016/02/19: Initial components for mounting the prototypes has arrived! :-)
|Lattice ice40HX1K FPGAs|
|Components in their bags|
- 2016/02/18: PCB Initial version (rev 1.0-1607) is sent for manufactoring. 5 units for testing. Manufacturer: pcbway
History of the project
Icezum Alhambra releases and EDA tools used over time
2015-12-20: The icezum board was conceived in the BQlabs, the robotics and innovation department at BQ. The idea was to have a very easy to use FPGA board, fully openhardware, similar to Arduino/ZUM boards, so that anyone can connect sensors and create robots or small projects using an FPGA instead of a processor. We wanted to extend the educational approach of BQ to the digital circuits design. At that time, Juan Gonzalez (Obijuan) was the head of the department. Eladio Delgado, a very-skilled senior external engineer was assigned the task of designing the board. He was already involve in other projects with BQ
2016-02-18: The icezum board bqlabs repo at github is created and all the V1.0 files released
2016-02-29: The board was renamed to Icezum Alhambra because Eladio lives in a small town in Granada. The name was suggested by Sebastián Gallardo in this post in the FPGAwars community (In Spanish)
2016-03-05: The first prototype is built and a bitstream is successfully upload into the board! Images 10 PCBs were manufactured in total. 5 Prototypes were mounted (by hand) by Eladio and his sister María. 5 more were mounted one mounth later
2016-04-14: BQlabs was disolved and this proyect was stopped. Many thanks to BQ for all its help during this period. Thanks for sponsoring the Icezum board
2016-04-20: The project is continued by the FPGAwars community, lead by Obijuan. The FPGAwars github organization) is created and all the repositories related to openfpgas are moved there
2016-05-01: A Small local crowdfunding is organized in the FPGAwars community (Original message, in spanish). Only 100 V1.1 boards will be manufactured if an amount of 6500€ is raised
2016/05/18: After two weeks, we already have the commitment of the people for paying the money for building the boards (Board funded!)
2016/05/30: The icezum Alhambra is being migrated to Kicad by Juan Gonzalez (Obijuan). Also the 3D models were designed with FreeCAD, so that the Icezum Alhambra is not only an openhardware board, but also a board designed with opensource tools. This way, anyone in the world can easily have access to all the designs, to study them, modify them and creating new boards from them. This version will be called V1.0K (K stands for kicad). It is not going to be manufactured, but rather a starting point for the future versions
2016/07/03: All the money (6500€ in total) is received from the backers! Thanks a lot!!! (Backers list)
2016/07/28: V1.0K is released!
2016/04/20: In paralell with the V1.0K version, Eladio started to work on the V1.1, which is the one that will be manufactured for the backers. As there were still no Kicad version when Eladio started, It is being designed in Altium and will be migrated later to Kicad as the V1.1K version
2016/09/22: Three Icezum Alhambra V1.1-RC1 are hand mounted and tested. They work ok!. The PCBs were manufactured in pcbway. The design is validated
2016/010/03: Icezum Alhambra v1.1-RC1 is released
- V1.0: Eladio Delgado Mingorance, from Pinos del Valle, Granada, Spain. Sponsored by BQ
- V1.0K: Migrated to Kicad by Juan González (Obijuan). 3D models designed with FreeCAD. Everything is generated using only opensource tools (schematics, pcb, 3D models, pinout, BOM...). This version belongs to our Technological Heritage
- V1.1: Eladio Delgado Mingorance, from Pinos del Valle, Granada, Spain
- BQ. Thanks for funding this project from 2015-12-20 to 2016-04-14. During this period, the icezum V1.0 was born and 10 prototypes were manufactured.
- María Delgado Mingorance, for helping in the manufacturing and design of the V1.0
- V1.0 was derived from the Arduino Uno board
- V1.0 was derived from the zum core board by BQ
- V1.0 was derived from the Icestick by Lattice
- V1.0K was derived from Icezum Alhambra V1.0 by BQ
- V1.1 was derived from Icezum Alhambra V1.0 by BQ
- Icestorm project, by Clifford Wolf and Mathias Lasser
- Icezum Pinout, by Alberto Piganti
- Jairo Zerberos. Migration of the FT2232H schematic symbol from altium to kicad. Thanks!
- altium2kicad. Tool used for the migration from Altium to Kicad. Many thanks to the developers!
- Kicadstepup. Tool for exporting the board to FreeCAD
- Juan González (Obijuan): V1.0 specifications. Migration to Kicad (V1.0K)
- Alhambra festival picture, by Cristina Urdiales. Thanks for this beautiful paiting!
- Many thanks to BQ, for funding the initial prototype V1.0, during the period 2015-12-20 to 2016-04-14. Thanks a lot for increasing our technological heritage by sponsoring openhardware boards.