

M2-ice40
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
7ICE40HX1K-TQ144
TQFP-144(20x20)-40℃~+100℃ 1.14V~1.26V 1280 160 65536bit 96 iCE40 HX TQFP-144(20x20) Programmable Logic Device (CPLDs/FPGAs) ROHSLatticeProgrammable Logic Device (CPLDs/FPGAs)DSC6001JI2A-012.0000
SMD-4P,2.5x2mmSMD-4P,2.5x2mm Crystal Oscillators ROHSMicrochip TechnologyPre-Ordered MCUsW25Q80DVSNIG
SOIC-8-40℃~+85℃ 100,000 cycles 104MHz 10uA 2.7V~3.6V 20 Years 200ms@(64KB) 800us 8Mbit Hardware write protection、Software write protection、Write enable latch、Absolute write protection SPI SOIC-8 NOR FLASH ROHSWinbond ElecNOR FLASH93LC56C-I/SN
SOIC-8-40℃~+85℃ 1,000,000 cycles 2.5V~5.5V 200 Years 2Kbit 2MHz 6ms Built-in write enable latch (WEL)、Power-down/Power-up protection circuit SPI SOIC-8 EEPROM ROHSMicrochip TechnologyEEPROMFT2232HL
QFP64Dual High Speed USB to Multipurpose UART/FIFO ICFTDIUncategorisedMAX6621AUB+
UncategorisedAnalog DevicesCDBU0520
SOD-523F1 Independent 100uA@20V 20V 2A 470mV@500mA 500mA SOD-523F Schottky Diodes ROHSComchipSchottky Diodes
README
README.mdThis 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 71 | TestPoint | m2-ice40:TestPoint_Pad_0.5x1.5mm | TP701, TP702, TP703, TP704, TP705, TP706, TP707, TP708, TP709, TP710, TP711, TP712, TP713, TP714, TP715, TP716 +55 |
| 29 | 0.1u | Capacitor_SMD:C_0402_1005Metric | C201, C202, C204, C207, C208, C209, C210, C211, C212, C213, C214, C215, C301, C302, C303, C304 +13 |
| 8 | 10k | Resistor_SMD:R_0402_1005Metric | R201, R203, R206, R401, R402, R403, R404, R701 |
| 5 | 10u | Capacitor_SMD:C_0402_1005Metric | C203, C404, C410, C503, C504 |
| 4 | 0 | Resistor_SMD:R_0402_1005Metric | R202, R501, R502, R702 |
| 4 | 2.2k | Resistor_SMD:R_0402_1005Metric | R204, R703, R704, R705 |
| 3 | 100k | Resistor_SMD:R_0402_1005Metric | R503, R504, R505 |
| 3 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C205, C206, C501 |
| 1 | 0.01u | Capacitor_SMD:C_0402_1005Metric | C405 |
| 1 | 100 | Resistor_SMD:R_0402_1005Metric | R405 |
| 1 | 120p | Capacitor_SMD:C_0402_1005Metric | C502 |
| 1 | 12k | Resistor_SMD:R_0402_1005Metric | R207 |
| 1 | 12k 1% | Resistor_SMD:R_0402_1005Metric | R205 |
| 1 | 3.3V_EXT | TestPoint:TestPoint_Pad_1.0x1.0mm | TP501 |
| 1 | 93LC56C-I/SN | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U201 |
| 1 | CDBU0520 | Diode_SMD:D_SOD-523 | D401 |
| 1 | DSC6001JI2A-012.0000 | Oscillator:Oscillator_SMD_EuroQuartz_XO32-4Pin_3.2x2.5mm | X201 |
| 1 | FT2232H | Package_QFP:LQFP-64_10x10mm_P0.5mm | U202 |
| 1 | ICE40HX1K-TQ144 | Package_QFP:TQFP-144_20x20mm_P0.5mm | U301 |
| 1 | M.2-GND-MOUNTING | m2-ice40:m.2_mechanical_ground_pad | J602 |
| 1 | MAX6621 | Package_SO:MSOP-10_3x3mm_P0.5mm | U701 |
| 1 | PECI | m2-ice40:TestPoint_Pad_0.5x1.5mm | TP102 |
| 1 | PECI_GND | m2-ice40:TestPoint_Pad_0.5x1.5mm | TP103 |
| 1 | PECI_VREF | m2-ice40:TestPoint_Pad_0.5x1.5mm | TP101 |
| 1 | TPSM82821 | m2-ice40:SIL0010D | U501 |
| 1 | W25Q80DVSNIG | Package_SO:SOIC-8_5.23x5.23mm_P1.27mm | U401 |
| 1 | m.2_socket2_module | m2ngff:m2-padKeyB | J601 |
Similar boards
- 2 layers68.8 × 78.7 mm

- 4 layers65 × 30 mm

- 10 layers120.4 × 90 mm

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 mm

- 4 layers68.6 × 53.3 mm

Icezum
FPGAwars/icezum
:star2: IceZUM Alhambra: an Arduino-like Open FPGA electronic board
218 parts357GPL-3.0 - 4 layers50 × 22.9 mm

- 4 layers140 × 140 mm

- 6 layers100 × 100 mm

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.