Tag Archives: Lattice iCE40HX-4K

BeagleWire is an Open Source FPGA Board With BeagleBone Compatibility

Beaglebone boards are low power open source single board computers created to teach open source hardware and software to makers. However, BeagleWire is a development platform designed for use with Beaglebone board. BeagleWire is a Beaglebone compatible shield based on the Lattice iCE40HX FPGA and is also an open source FPGA development board, a rare feature for FPGA boards. The BeagleWire’s hardware, software, and FPGA toolchain are completely open source.


At the heart of BeagleWire is the Lattice Semiconductor Lattice iCE40Hx FPGA which affords individuals the opportunity to make changes and reprogram. BeagleWire does not require external tools (JTAG), and the whole software stack is Open Source. BeagleWire can be easily expanded by adding external modules such as, modules for high-speed data acquisition, software-defined radio, or advanced control applications. Using common connectors like Pmod and Grove makes it possible to connect various interesting external modules which are widely available in stores. This makes prototyping new imaginative digital designs easier.

Lattice iCEv40Hx is from the Lattice iCE40 family. The latter is simply a family of FPGAs which have a regular structure, and are created to support cheap, high volume system and consumer applications. iCE40 is an energy saving device that enables work with small batteries.

BeagleWire has special features and advantages which are FPGA: Lattice iCE40HX4K – TQFP 144 Package, GPMC port access from the BeagleBone, SPI programming port from the BeagleBone, does not require external tools (JTAG), minimalistic architecture and very regular structure, has an energy saving device which allows it to work with small batteries, it is cheap and easy to use for application development, fully open-source toolchain and many more.

BeagleWire software support is still developing. Some of the useful examples and ready to use answers can be found there. For communication between FPGA and ARM, GPMC can be used. Programming is done by SPI interface. BeagleWire uses second BeagleBone SPI port. SPI frequency should be between 1Mhz and 25Mhz. Also, BeagleWire software repository contains a simple SDRAM controller written in Verilog which supports communication between SDRAM and iCE40.

The following are the specifications of BeagleWire:

  • FPGA: Lattice iCE40HX4K – TQFP 144 Package
  • Memory:
    • 32 MB SDRAM
    • 4 MB SPI Flash for FPGA self-configuration
  • Clock: 100 MHz onboard external clock
  • Extensibility:
    • 4 x Pmod connector
    • 4 x Grove connector
    • GPIO
  • User Interfaces:
    • 4 x LED
    • 2 x push button(with hardware noise debouncing)
    • 2 x DIP switch
  • Compatibility: access via GPMC port and SPI
    • BeagleBone Black
    • BeagleBone Black Wireless
    • element14 BeagleBone Black Industrial
  • Operating Voltage: 3.3 V
  • Input Voltage: 5 V from BeagleBone
  • Fully Open Source:
  • Dimensions: 90 mm x 68 mm x 18 mm
  • Weight: 42.5 g

The BeagleWire puts up a strong comparison with similar FPGA-like boards.


Communication between BeagleWire and BeagleBone Black is over the GPMC port. This is a simple and efficient solution. The GPMC port has 16 lines width, and its maximum clock frequency is 100 Mhz. BeagleWire is going to be compatible with BeagleBone Black, BeagleBone Black Wireless, SeeedStudio BeagleBone Green, SeeedStudio BeagleBone Green Wireless, SanCloud BeagleBone Enhanced, and element14 BeagleBone Black Industrial.

BeagleWire is available for pre-order now and is expected to ship by May 31, 2018. BeagleWire goes for $85 for pre-order, and the BeagleWire Deluxe Kit is also available for pre-order for $160 all on CrowdSupply