Skip to the content
PCBKitNew board
4 layers29.8 × 50.8 mmApu m2, the printed circuit board in 3D

M.2 NVMe SSD adapter for PC Engines APU2 boards

Size
29.8 × 50.8 mm
Copper layers
4
Thickness
1 mm
Parts
17
Nets
73
Pads
163
Tracks, vias
184, 74
Pours
6
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
12 Jun 2022
Updated
12 Jun 2022

Overview

Apu m2 is an open-source printed circuit board by florolf, from the florolf/apu-m2 repository on GitHub. It is a 4-layer board of 29.8 × 50.8 mm with 17 parts on 73 nets, routed with 184 tracks and 74 vias.

It is built around the SM3ZS067U410AMR1000. Its parts include 8 capacitors, 7 resistors and 2 connectors. It belongs with the computers and single-board computers and interfaces and adapters boards of this library.

Main components

1

README

README.md

apu-m2

This repo contains the hardware design for an adapter/holder combination that allows installing a 2280 M.2 NVMe SSD into a PC Engines APU2 board.

(This picture shows an older version of the design with some bodges applied, the version released here should just work out of the box, see below)

Why?

The original apu2 board only allows SD cards/mSATA SSDs for storage. The former is not very performant/durable and the latter is getting rarer/more expensive per GB. There's also a regular SATA connector, but regular SATA SSDs don't fit well into the standard enclosure.

Conversely, M.2 SSDs are a staple piece of hardware nowadays. PCIe/NVMe is also a nicer interface compared to SATA (although raw throughput is approximately the same here, since we are trading SATA 3.0 for 1× PCIe Gen 2).

Why not?

There's a number of downsides:

  • You lose 1 mPCIe slot (for the M.2 adapter) and the mSATA slot (for the holder PCB)
  • You likely also lose the second mPCIe slot (which the M.2 card bridges over) depending on the height of the card you want to place in that slot
  • Cooling can be a concern (see below)

Ordering

The adapter PCB is designed for the 4-layer JLCPCB "JLC7628" stackup, with 1mm thickness:

The holder PCB is mainly mechanical, so there are no special requirements other than 1mm thickness.

The respective fab/ directories contain the Gerber files that can be submitted to JLCPCB.

Revision notes

Version 1.0 of the adapter PCB had the RX/TX lanes swapped because the mPCIe spec and the M.2 spec use different perspectives for describing the data transfer direction. Version 1.1, published here, fixes this and also adds some more assembly options for handshaking signals and additional decoupling. None of those are strictly necessary though, so the DNP annotations in the schematic reflect the electrical behavior of v1.0 (except for the RX/TX crossover), which has been working well in practice.

BOM

For a minimal configuration, you only need:

  • 1× JAE SM3ZS067U410AMR1000 M.2 socket (Digikey link)
  • A mounting screw (I've used these, but "ASUS / ASROCK short M.2 screw" seems to be a good keyword in general)
  • 3× 0402 0 Ohm resistors (or just use a solder bridge)

Software requirements

If you want to use the NVMe SSD as a boot drive, you'll need a recent version of the APU coreboot firmware (containing SeaBIOS 1.16.0 or newer), since a number of NVMe-related issues were only fixed recently.

Cooling

At least in my experiments, the M.2 SSD got relatively hot (although I didn't compare this with the original mSATA SSD, so this could just be normal).

Internal monitoring (via nvme smart-log) showed temperatures exceeding 60 °C at an ambient air temperature of about 20 °C. This was a little too much for my taste, so I added a Würth WE-TGFG gasket (order number 407150015115) to bond the NVMe to the APU enclosure. With this, the temperature never exceeds 50 °C.

Parts

17
QtyValueFootprintReferences
40RResistor_SMD:R_0402_1005MetricR4, R5, R6, R7
4100nCapacitor_SMD:C_0402_1005MetricC5, C6, C7, C8
310kResistor_SMD:R_0402_1005MetricR1, R2, R3
310uCapacitor_SMD:C_0805_2012MetricC2, C3, C4
1Bus_M.2_Socket_Mlocal:JAE_SM3ZS067UxxMJ2
1Bus_PCI_Express_Minilocal:mPCIe_EdgeJ1
1C_SmallCapacitor_SMD:C_0402_1005MetricC1

Questions

How big is the Apu m2 PCB?

It measures 29.8 × 50.8 mm and has 4 copper layers, 1 mm thick.

What parts does the Apu m2 use?

17 parts, built around the SM3ZS067U410AMR1000. 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 Apu m2 KiCad files?

From the florolf/apu-m2 repository on GitHub, at the commit this page was made from: the board is adapter/apu-m2.kicad_pcb and its schematic adapter/apu-m2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Apu m2 design in my own project?

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

Similar boards

  • 4 layers25.8 × 32.9 mmLora nodemcu, the printed circuit board in 3D

    Lora nodemcu

    sudomesh/disaster-radio

    A (paused) work-in-progress long-range, low-bandwidth wireless disaster recovery mesh network powered by the sun.

    17 parts1.1k
  • 4 layers86.2 × 58.4 mmUsbactoachub, the printed circuit board in 3D

    Usbactoachub

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    17 parts915
  • 4 layers39 × 45 mmCONTROLLER Stick, the printed circuit board in 3D

    CONTROLLER Stick

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    17 parts431
  • 4 layers23.1 × 19.7 mmMaam 011109, the printed circuit board in 3D

    Maam 011109

    loxodes/vna

    Under development open hardware microwave vector network analyzer

    17 parts205
  • 4 layers150 × 100 mmIsi channel, the printed circuit board in 3D

    Isi channel

    azonenberg/starshipraider

    Open hardware test equipment

    17 parts193BSD-3-Clause
  • 4 layers33.3 × 54.6 mmMSX Goauld Rev4, the printed circuit board in 3D

    MSX Goauld Rev4

    jabadiagm/MSXgoauld_tn20k

    MSX Goa'uld board with Tang Nano 20k

    17 parts101GPL-3.0
  • 4 layers25 × 25 mmEnvironment, the printed circuit board in 3D

    Environment

    brown-studios/minuet

    Minuet upgrades your MAXXAIR Maxxfan with a brushless DC motor, home automation features, and accessories.

    17 parts67MIT