Spreedbox hardware include the following features:
- RGB color LEDs. Colors and patterns can be programmed through Serial Peripheral Interface Bus (SPI)
- A reliable, high-speed Random Number Generator (TRNG). The Spreedbox TRNG is connected through SPI
- The Lattice iCE40 programmable FPGA with an awesome open source software design stack
- A monotonic EEPROM counters and 32kbit memory option (you can add yourself)
The original hardware was designed with CADSoft Eagle. Because we have experienced delays in the manufacturing process of the Aluminum cube the time was used to re-design the schematics and PCB with KiCAD (open source).
The current version for volume production is v0.6. The Spreedbox schematics are available as PDF (, ) and SVG (further below). KiCAD eeschema files and libraries will be available after some cleanup of the part libraries.
The PCB was originally developed with CADSoft EAGLE and re-designed with open source KiCAD in December 2015. See rendered images of the Spreedbox printed circuit board:
Soon to be available at GitHub.
iCE40 programmable FPGA board with full open source software stack.
Three open source projects have implemented a complete open source tool-chain for iCE40 FPGAs. The open source iCE40 tool-chain is feature complete. Timing analysis is still work in progress, a first release is available.
Documents the bitstream format for Lattice iCE40 HX1K and HX8K FPGAs provides tools for analyzing and creating bit-stream files: http://www.clifford.at/icestorm/
Verilog synthesis and verification tool Yosys is an open source framework for Verilog RTL synthesis. Yosys has extensive Verilog-2005 support and provides a basic set of synthesis algorithms including Mapping to Lattice iCE40 FPGAs.
Arachne-PNR provides the place and route step of the hardware compilation process for FPGAs. It converts as input the Yosys  synthesis suite (or other Verilog or VHDL synthesis tools) output netlist in BLIF format. Arachne-PNR output is a textual bitstream representation for assembly by the IceStorm icepack command. The output of icepack is a binary bitstream which can be uploaded to the Lattice iCE40HX1K on the Spreedbox board.