Skip to the content
PCBKitNew board
2 layers91.4 × 99.1 mmMOA R B, the printed circuit board in 3D

The mother of all Rust boards

Size
91.4 × 99.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
53
Nets
139
Pads
356
Tracks, vias
692, 416
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
28 Apr 2019
Updated
28 Apr 2019

Overview

MOA R B is an open-source printed circuit board by therealprof, from the therealprof/MOA-R-B repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 91.4 × 99.1 mm with 53 parts on 139 nets, routed with 692 tracks and 416 vias.

It is built around the LPC824M201JDH20, MIC5504-3.3YM5 and USBLC6-2SC6. Its parts include 13 capacitors, 13 connectors, 9 resistors, 9 diodes and 6 ICs. It belongs with the interfaces and adapters boards and the STM32, SAM D and SAM and NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

3

README

README.md

The MOA(R)B (or mother of all Rust boards)

The MOA(R)B is a proof of concept proto board which breaks out 4 MCUs from different vendors which are readily supported by the Rust programming language and adds a DAP42 USB debugger/programmer with virtual serial port as well as the requisite USB port and voltage regulator for good measure.

KiCad 3D rendering of the PCB

What exactly is it?

The MOA(R)B was developed to demonstrate how easy it is to design and manufacture Rust-able microcontroller designs. The original plan was to give a talk about this at Oxidize 2019 but that didn't happen. The board is still the first iteration (with a minor fix applied) and I don't expect to further update it. However feel free to take the full or parts of the design and do whatever you want with it.

The following MCUs are supported (but compatible footprints might be used as well):

  • ST STM32F042F6Px
  • NXP LPC824M201JDH20
  • EByte E73-2G4M04S-52832 (a BLE capable module based on the Nordic NRF52832)
  • Atmel/Microchip ATSAMD21E15A

In addition another STM32F042F6P6 can be populated as DAPlink compatible debugger/programmer with virtual serial port.

How to build the boards?

I've included an interactive HTML BOM and population guide here.

NOTE: If you happen to have one of the 10 first run boards you will need to add a shame wire from pad 15 of the DAPlink MCU to ground -- if you want to populate and use the onboard debugger, that is. If you work with the published version 1.1 there're no known errata.

Functional blocks

  • Voltage regulator: If you want to automatic 3.3V generation and distribution, this is a must have. You should also populate J5 then, which connect the 3.3V to the MCUs when the link is shorted
  • USB input: You obviously want to have this if you want to power the board from USB and/or use the onboard debugger (in this case you might also want to consider populating the TVS protection diode)
  • Debugger: Obviously you only need this if you'd like to have the onboard debugger. The purpose of the SWD connector and J6 is to connect the SWD lines to the onboard debugger but also for standalone conversion if you have an external debugger or you'd like to use this debugger for external devices -- so many choices!
  • LEDs: Who doesn't like blinkies? The 4 MCU leds are indicators for powered MCUs the other ones can either be used for the debugger or alternatively for any of the MCUs.
  • The MCUs are completely optional and fully broken out to commonly used 2.54mm spacing so populate and use whichever you want to use. The capacitors next to the MCUs should be populated for decoupling. Most likely you also want to have the matching pins on the backside; those can either be long enough straight headers or SMD headers.

Can I reuse the hardware for my own ideas?

Absolutely, everything is licensed under the BSD license so please go ahead and use it however you'd like.

Parts

53
QtyValueFootprintReferences
11100nCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C6, C7, C8, C11, C12, C13
8470Resistor_SMD:R_0805_2012MetricR2, R3, R4, R5, R6, R7, R8, R9
21µCapacitor_SMD:C_0805_2012MetricC9, C10
2STM32F042F6PxPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU1, U3
110kResistor_SMD:R_0805_2012MetricR1
1ATSAMD21E15APackage_QFP:TQFP-32_7x7mm_P0.8mmATSAMD21E15
1BOOTButton_Switch_SMD:SW_SPST_CK_RS282G05A3SW2
1Conn MCU 1Connector_Harwin:Harwin_M20-89017xx_1x17_P2.54mm_HorizontalJ2
1Conn MCU 2Connector_Harwin:Harwin_M20-89016xx_1x16_P2.54mm_HorizontalJ1
1Conn MCU 3_1Connector_Harwin:Harwin_M20-89016xx_1x16_P2.54mm_HorizontalJ8
1Conn MCU 3_2Connector_Harwin:Harwin_M20-89016xx_1x16_P2.54mm_HorizontalJ11
1Conn MCU 4_1Connector_Harwin:Harwin_M20-89016xx_1x16_P2.54mm_HorizontalJ10
1Conn MCU 4_2Connector_Harwin:Harwin_M20-89011xx_1x11_P2.54mm_HorizontalJ12
1Conn PowerConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ5
1DDiode_SMD:D_0805_2012MetricD2
1E73-2G4M04S-52832RF_Module:E73-2G4M04SU4
1LED0LED_SMD:LED_0805_2012MetricD7
1LED1LED_SMD:LED_0805_2012MetricD8
1LED2LED_SMD:LED_0805_2012MetricD9
1LEDsConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ4
1LPC824M201JDH20Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU2
1MCU1LEDLED_SMD:LED_0805_2012MetricD3
1MCU2LEDLED_SMD:LED_0805_2012MetricD4
1MCU3LEDLED_SMD:LED_0805_2012MetricD5
1MCU4LEDLED_SMD:LED_0805_2012MetricD6
1MIC5504-3.3YM5Package_TO_SOT_SMD:SOT-23-5U6
1PWR INConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ7
1PWR LEDLED_SMD:LED_0805_2012MetricD1
1RESETButton_Switch_SMD:SW_SPST_CK_RS282G05A3SW1
1SWDConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMDJ3
1SWDConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ6
1SerialConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ13
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U8
1USB_B_MicroConnector_USB:USB_Micro-B_Molex-105017-0001J9

Questions

How big is the MOA R B PCB?

It measures 91.4 × 99.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MOA R B use?

53 parts, built around the LPC824M201JDH20, MIC5504-3.3YM5 and USBLC6-2SC6. 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 MOA R B KiCad files?

From the therealprof/MOA-R-B repository on GitHub, at the commit this page was made from: the board is MOA(R)B.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the MOA R B design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers38.9 × 16.5 mmLPC824 RFM9x, the printed circuit board in 3D

    LPC824 RFM9x

    jdesbonnet/RFMxx_LPC812_PCB

    PCB board to experiment with HopeRF RFM69 and RFM98 radio modules. Uses ARM Cortex-M0+ LPC812 as controller.

    16 parts4
  • 2 layers15.2 × 25.4 mmPCB LPC824M201JDH20, the printed circuit board in 3D

    PCB LPC824M201JDH20

    jdesbonnet/PCB_LPC824M201JDH20_breakout

    Breakout board PCB for LPC824 in TSSOP20 package (LPC824M201JDH20, LPC822M101JDH20)

    10 parts
  • 2 layers18.7 × 23.8 mmLPC82X JDH20, the printed circuit board in 3D

    LPC82X JDH20

    Squantor/LPC-breakout-boards

    LPC breakout boards

    24 parts6
  • 2 layers50 × 50 mmNuclone LPC824M201JDH20, the printed circuit board in 3D

    Nuclone LPC824M201JDH20

    Squantor/squantorDevelBoards

    Various development boards/test for microcontrollers, check for breakouts here

    62 parts1MIT
  • 4 layers55 × 50 mmInterface2, the printed circuit board in 3D

    Interface2

    lowobservable/coax

    Connect to IBM 3270 hardware

    68 parts53ISC
  • 4 layers40 × 30 mmRussian woodpecker, the printed circuit board in 3D

    Russian woodpecker

    openinput-fw/russian-woodpecker

    USB HS radio receiver dongle

    82 parts11
  • 2 layers72.6 × 43.2 mmMCUmeter, the printed circuit board in 3D

    MCUmeter

    therealprof/MCUmeter-hardware

    Kicad project files and gerbers for my MCUmeter project

    31 parts6BSD-3-Clause
  • 4 layers60 × 37 mmTdr, the printed circuit board in 3D

    Tdr

    blazra/tdr

    TDR using Lattice ECP5 High Data Rate Transceiver

    144 parts2