Skip to the content
4 layers30 × 42 mmM2-ice40, the printed circuit board in 3D

A M.2 3042 B-key card with an ICE40 FPGA. Currently intended for a specific application, but could easily be used for more general purposes.

Size
30 × 42 mm
Copper layers
4
Thickness
0.8 mm
Parts
146
Nets
198
Pads
515
Tracks, vias
12, 0
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
15 Dec 2019
Updated
22 Dec 2019

Overview

M2-ice40 is an open-source printed circuit board by mokus0, from the mokus0/m2-ice40 repository on GitHub. It is a 4-layer board of 30 × 42 mm with 146 parts on 198 nets, routed with 12 tracks and 0 vias.

It is built around the ICE40HX1K-TQ144, DSC6001JI2A-012.0000 and W25Q80DVSNIG, with the 93LC56C-I/SN, FT2232HL and MAX6621AUB+ among its other parts. Its parts include 39 capacitors, 22 resistors, 6 ICs, 2 connectors and 1 diode. It belongs with the fPGA and programmable logic and computers and single-board computers boards and the FPGA and CPLD boards of this library.

Main components

7

README

README.md

This is a work in progress. The end goal is to develop a m.2 3042 B-key (USB) board to install into my System76 Galago Pro laptop's internal 3G/LTE module socket, to provide a debugging and development tool for work on the system's Embedded Controller.

In particular, this board will include:

  • a Lattice Semiconductor ICE40 FPGA with programming and USB interface (based on FTDI FT2232H high-speed USB interface as used in the "iCEstick" dev board, but upgraded from HX1K to HX4K FPGA)
  • a MAX6621 I2C-to-PECI translator, to experiment with
  • configurable power source; run from either 3.3v provided to the m.2 module or a wire to steal power from somewhere else in the system
  • pads to connect FPGA as desired to various nets on the system board for monitoring and logging
  • TODO (maybe in a second rev, and space permitting): a small microcontroller, perhaps STM32L4R5

Intended uses include:

  • Investigating the traffic on the LPC bus, to develop sufficient understanding to be able to implement the bus in a new non-ITE processor, and later to monitor that processor's usage of the LPC bus for correctness
  • Ability to log and monitor behavior of EC long-term

Parts

146
QtyValueFootprintReferences
71TestPointm2-ice40:TestPoint_Pad_0.5x1.5mmTP701, TP702, TP703, TP704, TP705, TP706, TP707, TP708, TP709, TP710, TP711, TP712, TP713, TP714, TP715, TP716 +55
290.1uCapacitor_SMD:C_0402_1005MetricC201, C202, C204, C207, C208, C209, C210, C211, C212, C213, C214, C215, C301, C302, C303, C304 +13
810kResistor_SMD:R_0402_1005MetricR201, R203, R206, R401, R402, R403, R404, R701
510uCapacitor_SMD:C_0402_1005MetricC203, C404, C410, C503, C504
40Resistor_SMD:R_0402_1005MetricR202, R501, R502, R702
42.2kResistor_SMD:R_0402_1005MetricR204, R703, R704, R705
3100kResistor_SMD:R_0402_1005MetricR503, R504, R505
34.7uCapacitor_SMD:C_0402_1005MetricC205, C206, C501
10.01uCapacitor_SMD:C_0402_1005MetricC405
1100Resistor_SMD:R_0402_1005MetricR405
1120pCapacitor_SMD:C_0402_1005MetricC502
112kResistor_SMD:R_0402_1005MetricR207
112k 1%Resistor_SMD:R_0402_1005MetricR205
13.3V_EXTTestPoint:TestPoint_Pad_1.0x1.0mmTP501
193LC56C-I/SNPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU201
1CDBU0520Diode_SMD:D_SOD-523D401
1DSC6001JI2A-012.0000Oscillator:Oscillator_SMD_EuroQuartz_XO32-4Pin_3.2x2.5mmX201
1FT2232HPackage_QFP:LQFP-64_10x10mm_P0.5mmU202
1ICE40HX1K-TQ144Package_QFP:TQFP-144_20x20mm_P0.5mmU301
1M.2-GND-MOUNTINGm2-ice40:m.2_mechanical_ground_padJ602
1MAX6621Package_SO:MSOP-10_3x3mm_P0.5mmU701
1PECIm2-ice40:TestPoint_Pad_0.5x1.5mmTP102
1PECI_GNDm2-ice40:TestPoint_Pad_0.5x1.5mmTP103
1PECI_VREFm2-ice40:TestPoint_Pad_0.5x1.5mmTP101
1TPSM82821m2-ice40:SIL0010DU501
1W25Q80DVSNIGPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU401
1m.2_socket2_modulem2ngff:m2-padKeyBJ601

Similar boards

  • 2 layers68.8 × 78.7 mmHX1K Devboard, the printed circuit board in 3D

    HX1K Devboard

    RicBent/Hisame

    Development board for the Lattice iCE40 HX1K FPGA

    70 parts3
  • 4 layers65 × 30 mmIce4pi, the printed circuit board in 3D

    Ice4pi

    lightside-instruments/ice4pi

    KiCAD project of a Pi Hat with ice40hx1k FPGA

    57 parts8
  • 10 layers120.4 × 90 mmBmc reference carrier board, the printed circuit board in 3D

    Bmc reference carrier board

    antmicro/dc-scm-osm-l-carrier-card

    DC-SCM Card supporting OSM-L System on Modules

    568 parts13Apache-2.0
  • 4 layers17.8 × 50.8 mmIce40-dip40, the printed circuit board in 3D

    Ice40-dip40

    esynr3z/ice40-dip40

    Lattice iCE40 Ultra/Ultra+ breakout DIP40-like board

    47 parts5
  • 4 layers68.6 × 53.3 mmIcezum, the printed circuit board in 3D

    Icezum

    FPGAwars/icezum

    :star2: IceZUM Alhambra: an Arduino-like Open FPGA electronic board

    218 parts357GPL-3.0
  • 4 layers50 × 22.9 mmICE40-fpga, the printed circuit board in 3D

    ICE40-fpga

    joshajohnson/iCE40-feather

    iCE40UP5K in an Adafruit Feather form factor

    69 parts26
  • 4 layers140 × 140 mmFpgaboard, the printed circuit board in 3D

    Fpgaboard

    msinger/gbreveng

    Stuff for Gameboy reverse engineering and some documentation

    342 parts6
  • 6 layers100 × 100 mmIcenes, the printed circuit board in 3D

    Icenes

    PJO83/icenes

    ICENES

    203 parts3MIT

Questions

How big is the M2-ice40 PCB?

It measures 30 × 42 mm and has 4 copper layers, 0.8 mm thick.

What parts does the M2-ice40 use?

146 parts, built around the ICE40HX1K-TQ144, DSC6001JI2A-012.0000, W25Q80DVSNIG and 93LC56C-I/SN. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the M2-ice40 KiCad files?

From the mokus0/m2-ice40 repository on GitHub, at the commit this page was made from: the board is m2-ice40.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the M2-ice40 design in my own project?

Its repository states no licence, so its author keeps all rights: ask mokus0 before reusing the design.