"We have had access to open source toolchains for a little while now, but Piotr’s documentation is the clearest and simplest we’ve seen."

"Aimed at teachers and students, the iCEBreaker FPGA is built around the Lattice iCE40UP5k FPGA, capable of hosting CPU soft cores such as picorv32, picosoc, and RISC-V."

"The coolest of these was the iCEBreaker, an FPGA development kit that makes it easy to learn FPGAs with an Open Source toolchain."

Digital Logic Design Made Easy

Are you ready to venture into the brave new world of digital logic design? The iCEBreaker FPGA board is specifically designed for you. It works out of the box with the latest open source FPGA development tools and next-generation open CPU architectures. The iCEBreaker is easily expandable through its Pmod connectors, so you can make use of a large selection of third-party Pmod modules, as well as the several new Pmods we’ve specifically designed for it. There’s ample documentation, including well-tested workshop curricula, video tutorials, and datasheets.

iCEBreaker V1.0b

Features & Specifications

Lattice iCE40UP5k FPGA 5280 logic cells (4-LUT + Carry + FF) 120 Kbit dual-port block RAM 1 Mbit (128 KByte) single-port RAM PLL, 2 x SPI, 2 x I2C hard IPs Two internal oscillators (10 kHz and 48 MHz) for simple designs Eight DSP multiplier blocks for signal processing such as audio synthesis and even software defined radio Low power consumption ideal for battery-powered applications Three 24 mA drive and 3 x hard IP PWM (can drive RGB LEDs and small motors)

Plentiful, fast storage 128 Mbit (16 MB) quad SPI double data rate (QSPI-DDR) flash Example: can stream video to LED matrix

Lots of I/O Three pins (header) for RGB LED Two on-board LEDs One UART, RX pin and TX pin accessible via virtual (USB) serial port One pushbutton Two available Pmod connectors (16 x pins total) One breakaway Pmod (8 x pins)

Pre-wired, breakaway Pmod module Input and output user accessible and usable in your own hardware design Five LEDs in a star pattern Three push buttons

Capable enough to host CPU softcores picorv32 picosoc RISC-V and others

On-board FPGA programmer and USB-to-serial adapter Compatible with IceStorm iceprog tool Easy, driverless connection as a serial device to host computer

USB high speed On-board FT2232 USB chip Up to 480 Mbit/s interface to host computer



Buying Guide

If you’d like to work through, participate or organize an iCEBreaker FPGA workshop, please use this brief buying guide below:

Workshop Items needed WTFpga workshop iCEBreaker, DIP Switch Pmod, iCEBreaker 7-Segment Pmod iCEBreaker workshop iCEBreaker, iCEBreaker 7-Segment Pmod x2

Pmod Connectors & Breakaway Pmod

The iCEBreaker FPGA board has three standard Pmod connectors, which makes for a wide range of expansion options since Pmod is a standard followed by several hardware manufacturers. This gives you access to a massive library of modules — no matter what your project, you’re sure to find a Pmod for it. For examples of existing Pmods, check out the Digilent online store. For several use cases, we have also developed our own Pmods and we keep adding more as they are developed. In this campaign, we are introducing a seven-segment display Pmod, a DIP switch Pmod, an LED panel driver Pmod, and an HDMI output Pmod.

iCEBreaker V1.0b and a selection of Pmod boards

The iCEBreaker FPGA board comes with a tabbed, breakaway Pmod with three pushbuttons and five LEDs. You can use the breakaway Pmod to explore FPGAs right away, without any soldering, or you can break it off and use the Pmod connector for another Pmod.

Each iCEBreaker comes with headers for all its connectors

Open Source Toolchain

The iCEBreaker FPGA prototypes are already supported by the following open FPGA design tools:

Yosys: framework for Verilog RTL synthesis

Arachne-pnr: place and route tool for the iCE40 family of FPGAs

nextpnr: vendor-neutral, timing-driven FPGA place and route tool

IceStorm: tool for analyzing and creating bitstreams for iCE40 FPGAs

icestudio: IceStorm-based visual editor for FPGA boards

Migen: Python-based FPGA hardware design toolkit

Screenshots of icestudio (left) and nextpnr (right)

iCEBreaker Block Diagrams

iCEBreaker V1.0b legend (top)

iCEBreaker V1.0b legend (bottom)

iCEBreaker functional block diagram

WTFpga Workshop

The main motivation for the iCEBreaker is to serve as a good educational board. To validate this, we used early prototypes of the iCEBreaker to teach a new version of Joe Fitz‘s WTFpga workshop at the 2018 Hackaday Superconference in Pasadena, California. Joe had originally developed his WTFpga workshop around a Xilinx development board. We were able to convert his workshop to the iCEbreaker quickly by adding two Pmods to the board: a seven-segment display Pmod and a DIP switch Pmod.

Side-by-side Pmods: seven-segment display (above) and DIP switch (below)

The conversion from a Xilinx target board to the iCEBreaker resulted in much faster synthesis times and simpler workshop instructions. The workshop went well — it sold out early on (and there were many additional walk-ins beyond the initial 30 spots) and workshop participants reported being happy with their experience.

All the WTFpga workshop materials are available on GitHub. The workshop is self-directed, so you can go through it on your own or with friends by buying the "iCEBreaker WTFpga Kit," which includes all the materials you’ll need. We also have a discounted ten-pack, so you can run the workshop at your company or at your hackerspace!

HDMI Output Pmod

HDMI Pmod

The iCE40UP5k FPGA on the iCEBreaker is fast enough to output 720p video! Based on the amazing Pmod design by Kevin Hubbard from Black Mesa Labs, we developed a new HDMI Pmod. The "iCEBreaker HDMI Kit" pledge level of this campaign contains a 12 bits/pixel HDMI output Pmod that plugs into the two spare Pmod connectors on the side of the iCEBreaker board. We have several examples already available for the HDMI Pmod, including the original design by Kevin that outputs a 800 x 600 resolution test pattern, and a 720p pattern generator by Micah Elizabeth Scott aka. Scanlime.

The iCEBreaker + HDMI Ouput Pmod displaying Scanlime’s 720p video pattern generator

Our HDMI output Pmod and accompanying examples are a convenient starting point for exploring HDMI video generation using an interface similar to VGA analog output. The possibilities are endless, from retro computer video output to custom game console design to video art installations.

LED Panel Driver Pmod

iCEBreaker V1.0b with LED panel and driver Pmod

Large video billboards, like those on the sides of buildings in Times Square, are built from small RGB LED tiles. Thanks to recent economies of scale, the tiles are now quite affordable and are a great, fun way to play with animation and video. Our LED panel driver Pmod provides an interface from the iCEBreaker board to an LED panel equipped with a standard HUB75E connector.

LED panel driver Pmod

LED Panel Example 1: kbob’s eye candy

Bob Miller (a.k.a. kbob) has created a collection of small eye candy animations while learning verilog.

iCEBreaker V1.0a running iCEBreaker Candy munch2 (credit: Bob Miller)

LED Panel Example 2: tnt’s on-the-fly and recorded video playback

This impressive flexible design by Sylvain Munaut (a.k.a. tnt) can do all sorts of things, like generate pixel data on the fly in a similar way as a graphics card generates shaders, play video frames from the iCEBreaker’s on-board flash, and display video streamed from a host computer over USB to the FPGA. It is an ideal design if you are planning an LED panel project and want to customize the way the panels are driven.

iCEBreaker V1.0a playing Nyan Cat video from on-board flash (credit: @tnt)

iCEBreaker V1.0a playing a video pattern generated in real time (credit: @tnt)

iCEBreaker V1.0a Rickrolling from a host computer over USB (credit: @tnt)

LED Panel Example 3: Scanlime’s icestudio driver

Micah Elizabeth Scott (a.k.a. Scanlime) created an amazing design in icestudio to drive LED panels.

iCEBreaker V1.0a playing feedback munching square animation (credit @scanlime)

The design is modular and can be visually explored in icestudio. The goal is to create a small, easily modified pixel rendering engine. Micah captured the whole design process on video in multiple eight-hour sessions that are available to watch in their entirety! We highly recommend that you subscribe to Micah’s YouTube channel. She is creating engaging and interesting educational content. With the "iCEBreaker LED Panel Kit," you can follow her adventures from home.

Scanlime’s ledmatrix design in icestudio (left) and screenshot from her live stream (right)

Comparisons

iCEBreaker TinyFPGA BX Tomu FPGA Lattice ICEstick UPDuino v2.0 ICE40UP5K Breakout Alhambra II ICE40HX8K Breakout License OSHW OSHW OSHW Closed Closed Closed OSHW Closed Price $65 $38 $?? ~$25 $13.99 $49 $59.90 $49 Schematics Published? Yes Yes Not Yet Yes Yes Yes Yes Yes Design files Published? Yes Yes Not Yet No Yes No Yes No FPGA Model iCE40UP5K iCE40LP8K iCE40UP5K iCE40HX1K iCE40UP5K iCE40UP5K iCE40HX4K(8K) iCE40HX8K Logic Capacity (LUTs) 5280 7680 5280 1280 5280 5280 3520 (7680) 7680 Internal RAM (bits) 120k + 1024k 128k 120k + 1024k 64k 120k + 1024k 120k + 1024k 80k 128k Multipliers 8 0 8 0 8 8 0 0 Peripherals USB Interface FTDI 2232HQ On FPGA Bootloader On FPGA Bootloader FTDI 2232HL FTDI 232HQ FTDI 2232HL FTDI 2232HQ FTDI 2232HL USB HS FIFO/SPI interface to the FPGA Yes through Jumper Mod No No No No No No No USB Serial (UART) interface to the FPGA Yes No No Yes No Yes Yes Yes GPIO inline termination resistors Yes 33 Ohm No No No No No Yes 300 Ohm No User IOs 27 + 7 41 + 2 4 + 2 18 34 34 + 2 20 90 + 10 Pmod Connectors 3 0 0 1 0 1 0 0 User Buttons 1 Tact + 3 Tact on Breakoff Pmod 1 CRESET 2 Capacitive 0 0 4 DIP 2 Tact 0 User LED 2 + 5 on Breakoff Pmod 1 0 5 1 RGB 1 RGB 8 8 Indicator LED PWR, CDONE PWR CDONE, FTDI-TX/RX PWR, CDONE PWR, CDONE, FTDI-TX/RX PWR, CDONE Onboard Clock 12 MHz MEMS Shared with FTDI 16 MHz MEMS 12 MHz MEMS 12 MHz MEMS? Shared with FTDI 12 MHz MEMS? Shared with FTDI 12 MHz MEMS? Shared with FTDI 12 MHz MEMS Shared with FTDI 12 MHz MEMS? Shared with FTDI Flash 128 Mbit QSPI DDR 8 Mbit SPI 16 Mbit SPI 32 Mbit SPI 32 Mbit SPI 32 Mbit SPI 32 Mbit SPI 32 Mbit SPI FPGA Power Delivery Dedicated GND/Power Planes Yes Yes No Yes No Yes Yes Yes Dedicated FPGA Bypass Capacitors 19 8 9 18 2 19 ? ? IO GND Connections 11 6 1 4 3 8 22 20 Software Open Source Toolchain Yes Yes Yes Yes Yes Yes Yes Yes APIO Yes Yes Yes Yes Yes Yes Yes Yes icestudio Yes Yes Not Yet Yes Yes Yes Yes Yes migen Yes Yes No Yes No Yes No Yes

Manufacturing Plan

1BitSquared has most of its PCBs manufactured in the US. We order our PCB designs through OSH Park, a PCB fabrication company located in Portland, Oregon, USA. We order our parts through a combination of US and Chinese companies, comparing the prices and shipping times to make the most sensible purchasing decision. After all of the parts are ordered, 1BitSquared assembles all of our hardware in house on our pick-and-place machine.

Shipping & Fulfillment

We will be doing most of the manufacturing and fulfillment at 1BitSquared headquarters in Eugene, Oregon, USA. All of the production will be done in-house so that we can fulfill the campaign rewards as they come off the production line and go through testing. This means that as soon as we have all of the components for manufacturing, we will assemble the boards, test the hardware, and start fulfilling your orders.

We are using an automatic fulfillment system that will send you a shipping confirmation email with a tracking number as soon as your package is dropped off at the post office.

For US domestic orders, we will use USPS First Class Mail. Such packages are usually delivered within a few days of being shipped.

For orders outside the US, we will be using USPS First Class Mail International, to keep shipping costs down. The delivery time varies, and often the package tracking stops as soon as the package leaves US soil. Depending on the country and the whim of customs officers, the package can take one to four weeks for delivery. Make sure to contact your local customs and post office if you are concerned about your package. We do not have any special tools that allow us to know more about the status of your package than the official carrier tracking website. The seller and the recipient see the same tracking information.

Additionally, international post and customs offices don’t like to share information with us about your package, they are only interested in talking to the "importer," who is you in this case. You likely will have to go to your local post office, and in some cases even the customs office, to pay your customs fees and pick up your package. Unfortunately, there is no type of paperwork that can make sure this does not happen — we have tried. Customs decide what paperwork is enough and what is not, and this varies from shipment to shipment, even if you’ve never had issues in the past. If you want to upgrade to a faster shipping method via FedEx or DHL please contact us and we can upgrade your shipping method for an additional shipping fee.

For more information, you can refer to this useful guide to ordering, paying, and shipping.

Risks & Challenges

Creating physical objects is always risky and challenging. Parts might not ship on time, or they might arrive later than we planned for us to start manufacturing. Parts might become discontinued or change without a prior announcement from the manufacturer. Our pick-and-place machine or reflow oven might break and need replacement parts and repair. Fortunately, we have been manufacturing hardware for several years now and have enough experience with ordering and assembly to quickly resolve these issues and deliver our products. We will provide updates explaining how we are addressing any delays of this kind. We know that many of you are interested in the manufacturing process, and that includes learning about any problems we might run into and how we solve them. We will do our best to get the iCEBreakers to you as fast as we can. :)

iCEBreaker V1.0b pre-production on the 1BitSquared pick-and-place machine

iCEBreaker V1.0b pre-production batch

Support & Documentation

The iCEBreaker community is already creating interesting Pmods, designs and applications such as iPod nano display Pmods, network interface Pmods, and much more. We welcome you to drop in to the iCEBreaker Gitter channel to talk about your ideas and ask questions!

For more detailed and technical discussion of the hardware features, please visit our GitHub iCEBreaker repository.

We are also in the process of setting up a wiki and forum for the iCEBreaker platform. Everyone, backer or not, is welcome there to collect and share information about open source FPGA development.