myStorm OpenSource FPGA Hardware BlackIce Mx created using BlackEdge

In 2016 we decided to setup up the myStorm project in order to build OpenSource FPGA hardware. Several years later we are building the 5th generation of BlackIce Development boards. BlackIce Mx the latest generation of our hardware has been built using BlackEdge open hardware standard which enables the 'Core' Board IceCore to be separated from it's carrier board which provides MixMod and Pmod hardware add-ons. The separation of Core and Carrier allows much simpler integration of IceCore into other projects.

myStorm BlackIce Mx

BlackIce Mx is an OpenSource Hardware FPGA development board sporting a massive 56 PIOs via Pmods/MixMods in addition to SPI, I2C/CAN and Uart connectivity over a 26 Pin Rpi like header. It has an onboard Arm Cortex M7 216Mhz microcontroller and a 144 pin Ice40 FPGA with 3520 logic cells (7680 cells with Yosys), 80Kb (128K-Yosys) internal block RAM and 16Mb external SDRAM.

Why we made BlackIce?

As makers, we fell in love with IceStorm opensource Verilog toolchain back in 2015 and wanted to create a best of class independent opensource hardware development board to fully use the IceStorm FPGA toolkit including Clifford Wolf's amazing YOSYS. You can read some of the myStorm history and background from it's debut at OSHCAMP 2016 throuugh to it's latest incarnation in 2019. BlackIce is a leader in its class for opensource FPGA hardware, it's IO capabilities exceed other Ice40 dev boards. It has been refined through 5 generations and has been proven in applications and deployment spanning over 3 years, it's got some real pedigree!

What makes BlackIce special?

BlackIce Mx provides maximum PMODs (peripheral modules) and MixMod (Mixed signal modules) for building hardware add-ons and applications, way more than the competing Ice40 development kits. It is also completely OpenSource hardware making it easy for others to build on top of its design, especially when combined with the OpenSource IceStorm Verilog toolchain. Unlike some other microcontroller only development boards BlackIce Mx allows opensource hardware to be actually designed and synthesised using Verilog in addition to programming the onboard STM32F730 microcontroller using C/C++, This combination is very powerful for tackling challenging maker projects like robotics, Retro Games, RISC V designs, SOCs, IOT, motor control and embedded applications. Further, it can be connected too and programmed entirely from a Raspberry Pi computer to create even more powerful standalone embedded Linux solutions.

BlackIce Mx Composite Modular design

BlackIce Mx is composed of 2 modular parts , the BlackIce Mx carrier and the IceCore Processing unit. The carrier handles all of the MixMod/Pmod interfacing and headers, whilst the Core module handles the FPGA, ┬ÁC and memory along with a high speed USB connection. This also allows the IceCore investment to be used with a diverse range of application specific carriers or those custom made by the community. Similarly new 'Cores' can allow one to upgrade the core capabilities whilst maintaining the Add-on investment in Pmods and Mixmods.

IceCore specific

  • Ice40 HX4K - 4K Luts (8K for Yosys), 80/(128)Kbits BRAM, 2 PLLs, NVCM
  • 16Mbit SDRAM 16 bits wide (143Mhz)
  • 4Mbit Flash QSPI/SPI (100Mhz)
  • 56 General purpose IOs, SPI, Uart, I2C/Can
  • Stm32F730 216Mhz, 256KB Ram, 64KB Flash
  • Triple 2.5MSPS ADCs (interleaved to 7.2MSPS)
  • Dedicated Programming and debug USB 2.0FS
  • Uart/Application specific USB2.0FS
  • Digital Video Connector (optional adaptors)
  • SDCard connector
  • 4 Coloured Status LEDs
  • 4 Coloured User LEDs
  • 2 User buttons, 1 Mode/Boot button

Carrier specific

  • 3 MixMods (including 6 double Pmods) each supporting 16 GPIO and 5 Analogue inputs.
  • RPI header similar to BlackIce II - I2C, Uart, SPI, SWIO debugging connector

BlackIce Mx Options

BlackIce Mx comes with a number of useful starter Mixmod options that can be selected as required:

  • Breadboard MixMod - Enables PIOs and power to be plugged directly into the breadboard.
  • Prototype Mixmod - Enables small prototypes to be soldered together with conveniently exposed PIOs.
  • Test Mixmod - Extends the MixMod socket to enable testing oif the pins via convenient 0.1" headers of MixMod undertest.

MixMod sockets have backward support for Pmods so you can use existing or new Pmods with BlackIce Mx.

Further information

You can join us at the Mystorm forum and ask a question or talk to other BlackIce owners and participants, we would love to hear your plans and ideas for BlackIce. Getting started with IceCore the core part of BlackIce Mx will get you up and running, you can find some examples and basic project files to get you started in our BlackIce Mx repository and IceCore Repository, in addition, our official myStorm blog can keep you up to date with any current and new products.