

MSAP-2 rev.A SMD
An 8-bit computer. Successor to MSAP-1
- Size
- 178 × 711 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 658
- Nets
- 780
- Pads
- 3,771
- Tracks, vias
- 0, 0
- Routed
- Not yet
- KiCad
- KiCad 7 (file 20221018)
- Created
- 14 Jul 2026
- Updated
- 3 Aug 2026
Overview
MSAP-2 rev.A SMD is an open-source printed circuit board by mehrantsi, from the mehrantsi/MSAP-2 repository on GitHub, published under the MIT licence. It is a 2-layer board of 178 × 711 mm with 658 parts on 780 nets.
It is built around the SN74AHCT541PWRE4, 74HC245D and 74HCT245, with the CH9350L, CP2102N-A02-GQFN20R and DM3AT-SF-PEJM5 among its other parts. Its parts include 197 resistors, 186 capacitors, 152 ICs, 85 diodes and 6 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
12SN74AHCT541PWRE4
TSSOP-20-40℃~+125℃ 1 4.5V~5.5V 40uA 74AHCT 8 8mA 8mA 9.5ns@5V,50pF Output enable TTL Compatible CMOS Tri-State Unidirectional TSSOP-20 Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffer/Driver/Transceiver74HC245D
SO-20-300mil-40℃~+125℃ 1 160uA 2V~6V 7.8mA 7.8mA 74HC 8 9ns@4.5V,50pF Bidirectional Tri-State SOIC-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74HCT245
DIP-20-40℃~+85℃ 28ns@4.5V 4.5V~5.5V 6mA 6mA 74HCT 8 8uA Bidirectional TTL-compatible CMOS Tri-State DIP-20 Buffers, Drivers, Receivers, Transceivers ROHSWuxi I-core Elec74 SeriesCH9350L
LQFP-48(7x7)-40℃~+85℃ 12Mbps 3.3V、5V USB 2.0 USB to UART LQFP-48(7x7) USB Converters ROHSWCH (Nanjing Qinheng Microelectronics)USB ConvertersCP2102N-A02-GQFN20R
QFN-20-EP(3x3)-40℃~+85℃ 1.3uA 13.7mA 3Mbps 3V~3.6V、3V~5.25V USB 2.0 USB to UART QFN-20-EP(3x3) USB Converters ROHSSilicon LabsUSB ConvertersDM3AT-SF-PEJM5
SMD-25℃~+85℃ 1.68mm Connector and Ejector MicroSD Card (TF Card) No Push-Push SMD SD Card / Memory Card Connector ROHSHirose ElectricSD Card / Memory Card Connector74HC161S
SOP-160℃~+70℃ 20MHz 2V~6V 4 500mW Asynchronous Hexadecimal Counter Rising Edge Synchronous Up Counter SOP-16 Counters, Dividers ROHSGRCounters, Dividers74HC151D
SOIC-16-40℃~+125℃ 15ns@5V,15pF 2V~6V 40uA 5.2mA 5.2mA 74HC 8/1 Multiplexer Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSToshibaSignal Switches / Encoders & Decoders / Multiplexers74HC173D
SOIC-16-40℃~+125℃ 1 2V~6V 3.5pF 30ns@6V,50pF 4 4uA 7.8mA 7.8mA 74HC Series 95MHz D-Type Reset Rising Edge SOP-16 Flip Flops ROHSNexperiaFlip Flops74HC153D
SOIC-16-40℃~+125℃ 160uA 2V~6V 44ns@4.5V,50pF 5.2mA 5.2mA 74HC 8/2 Multiplexer Output enable high-impedance Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, Decoders74HC157D
SO-16-40℃~+125℃ 10ns@6.0V,50pF 160uA 2V~6V 5.2mA 5.2mA 74HC 8/4 Multiplexer Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches / Encoders & Decoders / Multiplexers74HC138
SOP-160℃~+70℃ 24ns@5.0V,16pF 2V~6V 3/8 5.2mA 5.2mA 5uA 74HC Decoder Reverse function Single Supply SOP-16 Signal Switches, Multiplexers, Decoders ROHSGRSignal Switches, Multiplexers, Decoders
README
Schematics/README.mdMSAP-2 hardware exports
The files in this directory are generated from the simulator hardware registry in simulator/src/core/modules.ts. That registry supplies the simulator, pin inspector, power model, netlists, modular PCB layouts, procurement mapping, and monolithic production board.
Development exports
MSAP-2 rev.A.net— consolidated KiCad netlist for every declared chip, passive, pin, and net.MSAP-2 rev.A.kicad_pcb— THT-preferred/hybrid development layout.MSAP-2 rev.A SMD.kicad_pcb— SMD-preferred development layout.KiCad/— one standalone KiCad schematic per logical module:POWER_CLOCK_RESET,PROGRAM_COUNTER_14B,A_X_REGISTERS,STACK_POINTER,ALU_FLAGS_IRQ,BOOT_ROM_SHADOW_USER_RAM_16KB,CONTROL_4xAT28C256,UART_SD_TIMER_IO,OUTPUT_7_SEGMENT,ADDRESS_PATH, andBUS.
The two rev.A PCBs are consolidated, two-layer, module-grouped layouts. Their exporter uses simplified generated pad geometry; SMD-only devices remain SMD on the hybrid target. They are unrouted placement/net starters, not exact-footprint, DRC-approved, or routed manufacturing releases. The standalone module sheets use generated symbol boxes and explicit global-label stubs for registry inspection. Each sheet's project suppresses only KiCad's expected isolated_pin_label rule for singleton module-boundary nets; native ERC must otherwise pass with zero findings.
Regenerate them after any hardware-registry change:
cd ../simulator
node scripts/export-schematics.mjsThe simulator's Export menu produces the same files interactively.
Monolithic production board
Production/ contains the special rev.C, full-SMD, six-layer board intended for a PCB assembler. It is a separate target rather than a flattened copy of the development layout.
The production transform:
- retains the 20-package fixed-function ALU;
- uses exact orderable manufacturer part numbers and LCSC/JLC references;
- changes the development ROM implementation to six JLC-assembled Connfly
DS1032-32SSKT1LAPLCC-32 sockets (C72280) holding loose, user-installedAT28C256-15JUdevices: immutable boot/fallback firmware, four control-store lanes, and the display lookup; - provides
J2 PC / POWER, a CP2102N terminal, a power-off-onlyPC / STANDALONEselector, a mode-dependent TPS2553 main-current limit followed by a TPS630701 fixed-5 V buck-boost stage, power-good reset, and protected crossings between the always-powered USB domain and regulated 5 V logic; - adds
J7 KEYBOARD HOSTwith TUSB320LAI attachment detection, TPS2552-1-limited keyboard VBUS, CH9350L USB boot-keyboard decoding, and an ATmega4809 115200-to-9600-baud ASCII bridge; standalone power enters throughJ2, notJ7; - retains external TTL UART, microSD, UPDI, RUN/STEP/RESET controls, selectable 921.6/460.8/230.4 kHz CPU clocks, test points, the functional LEDs, the port-3 signed/unsigned four-digit display, and protected keyed connectors for one selectable SSD1309 or SSD1306 local OLED;
- uses official KiCad footprints except for project footprints checked against manufacturer drawings;
- creates JLC BOM/CPL files and checks their populated references against the PCB;
- requires a fresh, hash-bound FreeRouting route for rev.C; the checksum-bound rev.B
routing/stage-01data remains historical provenance only; - emits Gerbers, drills, renders, and the release ZIP only after zero-violation/zero-unconnected KiCad DRC.
Generate the manifest, BOM, programming/assembly-operation list, CP2102N policy, EEPROM images, and deployable MOS.BIN without routing:
cd ../simulator
node scripts/export-production.mjs --source-onlyThe display lookup is derived from Mux7-Segment, with A8 as the low-order digit bit and A9 as the high-order digit bit. The production image is inverted for the active-low common-anode XL-SB2401SRWC hardware and padded to AT28C256 size.
The six parallel EEPROM images are factory hardware firmware. JLC assembles the sockets, not the EEPROMs. Program and read-back verify the loose devices, keep their reference assignments, and insert them after PCBA delivery with pin 1 aligned to the matching socket/PCB marks; the board has no in-system parallel-EEPROM programming interface. At reset, U36 supplies the immutable bootloader and fallback MOS while writes populate hidden lower shadow SRAM. A validated deployment/MOS.BIN is loaded from microSD, then write-only port 6 exposes that lower shadow as read-only runtime MOS until reset. Missing or invalid media leaves the factory fallback active. User programs and data use the unchanged upper SRAM through the UART monitor or microSD.
The checked-in rev.B route stage does not contain the rev.C keyboard-host circuitry. The current complete release therefore requires KiCad and a completely fresh npm run production with FREEROUTING_COMMAND; use a deterministic finish-stage flow again only after a rev.C route has been frozen and checksum-bound. See Production/README.md for the reproducible release and order procedure.
The exact PCB/BOM/CPL flow is separate from programming readiness. A clean rev.C package may record firstArticleOrder.inputsReady: true for an explicitly approved two-board prototype upload while retaining orderAuthorized: false and turnkeyAssemblyReleaseAllowed: false; physical programming and qualification remain post-delivery gates. The pinned PlatformIO build now produces a real U140 HEX with SHA-256 a0ce14514700d34f87a239f6a3d433811e78247802356a7ebcc51cb7f086390d, and that exact artifact is included in the rev.C release packaging. No programmed ATmega4809 readback exists yet. A deterministic CP2102N prototype policy is also included, but a vendor-generated/device-read-back-verified CP2102N configuration record remains outstanding. U140 provides disk service, OLED output mirroring, and the standalone keyboard bridge, so all three functions belong in its first-article firmware test.
Source-of-truth rule
Do not hand-edit a generated rev.A netlist, PCB, or per-module schematic and expect the change to persist. Make electrical changes in the hardware registry and regenerate. Production-only transformations, exact footprint loading, placement, release validation, and manufacturing exports live under simulator/src/export/production.ts and simulator/scripts/production/.
Passing simulation and DRC proves digital consistency and manufacturability against the encoded rules. Physical timing, signal integrity, power integrity, connector mechanics, and firmware still require validation on fabricated hardware.
Parts
658| Qty | Value | Footprint | References |
|---|---|---|---|
| 166 | 100nF | Capacitor_SMD:C_0805_2012Metric | C3, C10, C11, C12, C24, C25, C26, C27, C170, C172, C400, C401, C402, C403, C404, C405 +150 |
| 84 | 3.3K | Resistor_SMD:R_0805_2012Metric | R200, R201, R202, R203, R204, R205, R206, R207, R208, R209, R210, R211, R212, R213, R214, R215 +68 |
| 50 | 33R | Resistor_SMD:R_0805_2012Metric | R25, R26, R27, R189, R190, R191, R192, R600, R601, R602, R603, R604, R605, R606, R607, R608 +34 |
| 30 | #ffd60a | LED_SMD:LED_0805_2012Metric | D232, D233, D234, D235, D236, D237, D238, D239, D244, D245, D246, D247, D248, D249, D250, D251 +14 |
| 20 | #34c759 | LED_SMD:LED_0805_2012Metric | D202, D203, D204, D205, D206, D207, D208, D209, D210, D211, D212, D213, D214, D215, D240, D241 +4 |
| 18 | #4c8dff | LED_SMD:LED_0805_2012Metric | D200, D201, D258, D259, D260, D261, D262, D263, D264, D265, D268, D269, D270, D271, D272, D273 +2 |
| 17 | 10K | Resistor_SMD:R_0805_2012Metric | R3, R4, R5, R14, R15, R16, R20, R21, R22, R23, R24, R29, R30, R31, R32, R33 +1 |
| 16 | #ff453a | LED_SMD:LED_0805_2012Metric | D216, D217, D218, D219, D220, D221, D222, D223, D224, D225, D226, D227, D228, D229, D230, D231 |
| 12 | 74HC161 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U5, U6, U7, U9, U47, U48, U49, U56, U57, U59, U63, U64 |
| 11 | 100K | Resistor_SMD:R_0805_2012Metric | R17, R42, R43, R44, R45, R180, R700, R702, R713, R716, R718 |
| 11 | 1K | Resistor_SMD:R_0805_2012Metric | R13, R34, R35, R36, R37, R38, R39, R40, R41, R176, R720 |
| 9 | 74HC151 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U157, U158, U159, U160, U161, U162, U163, U164, U165 |
| 9 | 74HC173 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U10, U11, U23, U24, U25, U30, U31, U32, U35 |
| 8 | 74HC153 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U70, U71, U72, U73, U74, U75, U76, U120 |
| 8 | SN74AHCT541PWR | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U168, U178, U181, U182, U183, U184, U185, U186 |
| 7 | 74HC157 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U28, U29, U116, U117, U119, U128, U129 |
| 7 | 74HC245 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U8, U14, U15, U19, U115, U122, U124 |
| 6 | 4.7K | Resistor_SMD:R_0805_2012Metric | R172, R173, R174, R175, R710, R714 |
| 6 | 74HC138 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U37, U46, U51, U58, U69, U90 |
| 6 | 74HC283 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U77, U78, U79, U80, U147, U148 |
| 6 | AT28C256-15JU | Package_LCC:PLCC-32_Socket | U36, U41, U42, U43, U44, U62 |
| 5 | 10uF/25V | Capacitor_SMD:C_0805_2012Metric | C13, C14, C15, C19, C705 |
| 5 | 74HC08 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U95, U118, U126, U153, U154 |
| 5 | SN74HC688PWR | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U65, U92, U98, U139, U166 |
| 4 | 74HC193 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U12, U13, U16, U17 |
| 4 | 74HC273 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U40, U52, U55, U60 |
| 4 | 74HC74 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U97, U100, U135, U179 |
| 4 | 74HC86 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U149, U150, U151, U152 |
| 4 | 74HCT245 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U22, U34, U54, U141 |
| 4 | 74HCT273D,653 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U130, U131, U132, U133 |
| 4 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q3, Q4 |
| 4 | SN74AHCT00DR | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U66, U67, U68, U251 |
| 4 | TPD2E2U06DRLR | Package_TO_SOT_SMD:SOT-553 | U146, U172, U173, U195 |
| 3 | 100pF | Capacitor_SMD:C_0805_2012Metric | C173, C180, C181 |
| 3 | 1uF | Capacitor_SMD:C_0805_2012Metric | C22, C23, C171 |
| 3 | 22uF/16V | Capacitor_SMD:C_0805_2012Metric | C16, C17, C18 |
| 3 | SN74AHCT14PWR | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U2, U175, U188 |
| 3 | SN74AHCT32DR | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U136, U176, U187 |
| 2 | 100R | Resistor_SMD:R_0805_2012Metric | R701, R717 |
| 2 | 200K | Resistor_SMD:R_0805_2012Metric | R171, R711 |
| 2 | 2N7002,215 | Package_TO_SOT_SMD:SOT-23 | Q181, Q182 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C7, C9 |
| 2 | 47uF | Capacitor_SMD:C_0805_2012Metric | C4, C21 |
| 2 | 5.1K | Resistor_SMD:R_0805_2012Metric | R6, R7 |
| 2 | 74HC00 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U96, U125 |
| 2 | 74HC04 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U93, U127 |
| 2 | 74HC32 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U155, U156 |
| 2 | 74VHC161FT(BJ) | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U1, U45 |
| 2 | MC74VHC1GT125DBVT1G | Package_TO_SOT_SMD:SOT-23-5 | U105, U196 |
| 2 | S4B-PH-SM4-TB(LF)(SN) | Connector_JST:JST_PH_S4B-PH-SM4-TB_1x04-1MP_P2.00mm_Horizontal | J1, J6 |
| 2 | SN74AHCT125DR | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U180, U252 |
| 2 | SN74AHCT1G125DBVR | Package_TO_SOT_SMD:SOT-23-5 | U143, U253 |
| 2 | SN74LVC1G17DBVR | Package_TO_SOT_SMD:SOT-23-5 | U107, U171 |
| 2 | TPS2553DBVR | Package_TO_SOT_SMD:SOT-23-6 | U102, U169 |
| 2 | USB4105-GF-A-120 | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J2, J7 |
| 2 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U104, U194 |
| 1 | 0R | Resistor_SMD:R_0805_2012Metric | R9 |
| 1 | 0R DNP | Resistor_SMD:R_0805_2012Metric | R10 |
| 1 | 1.5K | Resistor_SMD:R_0805_2012Metric | R181 |
| 1 | 1.8432MHz OSC | MSAP2:SCTF_SX5M_SMD5032-4P | X1 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric | C20 |
| 1 | 180K | Resistor_SMD:R_0805_2012Metric | R170 |
| 1 | 1N4148W-7-F | Diode_SMD:D_SOD-123 | D180 |
| 1 | 20.5K | Resistor_SMD:R_0805_2012Metric | R703 |
| 1 | 22.1K | Resistor_SMD:R_0805_2012Metric | R11 |
| 1 | 220uF/16V | Capacitor_SMD:C_0805_2012Metric | C700 |
| 1 | 3.16K | Resistor_SMD:R_0805_2012Metric | R182 |
| 1 | 330R | Resistor_SMD:R_0805_2012Metric | R28 |
| 1 | 45.3K | Resistor_SMD:R_0805_2012Metric | R712 |
| 1 | 47.5K | Resistor_SMD:R_0805_2012Metric | R12 |
| 1 | 62K | Resistor_SMD:R_0805_2012Metric | R8 |
| 1 | 74HC139D,653 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U167 |
| 1 | 74LVC1G157GV,125 | Package_SO:TSOP-6_1.65x3.05mm_P0.95mm | U197 |
| 1 | 887K | Resistor_SMD:R_0805_2012Metric | R719 |
| 1 | ATMEGA4809-AFR | Package_QFP:TQFP-48_7x7mm_P0.5mm | U140 |
| 1 | CH9350L | Package_QFP:LQFP-48_7x7mm_P0.5mm | U193 |
| 1 | CP2102N-A02-GQFN20R | Package_DFN_QFN:SiliconLabs_QFN-20-1EP_3x3mm_P0.5mm_EP1.8x1.8mm | U103 |
| 1 | CPU SPEED | Button_Switch_SMD:SW_SPST_TL3342 | SW6 |
| 1 | DM3AT-SF-PEJM5 | Connector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5 | J3 |
| 1 | IS62C256AL-45ULI-TR | Package_SO:SOP-28_8.4x18.16mm_P1.27mm | U33 |
The 633 most common of 658 parts.
More from mehrantsi/MSAP-2
3- 2 layers240 × 1,056 mm

- 6 layers300 × 248.8 mm

Pre connector model normalization v1
mehrantsi/MSAP-2
An 8-bit computer. Successor to MSAP-1
564 parts13MIT - 6 layers300 × 248.8 mm

Similar boards
- 2 layers17.5 × 12.4 mm

- 4 layers104 × 64 mm

- 2 layers34.1 × 45 mm

Snes fpc
fliperama86/superpico-digital
SuperPico Digital is a digital-to-digital HDMI mod for 2-chip SNES consoles using the Raspberry Pi Pico 2 (RP2350)
12 parts41 - 2 layers90 × 90 mm

- 2 layers120 × 72.7 mm

- 2 layers

Keyboard Memory Emulator
ShreksHellraiser/Vintage-Keyboard-Memory-Replacement
ABANDONED UNFINISHED - A memory replacement PCB that adds sample loading and saving to the SK-1
40 parts - 4 layers115.5 × 96.2 mm

Closed deck x4
OpenLogicEFI/Hardware
Hardware is based off an open source project called Speeduino by Josh Stewart.
245 parts19 - 4 layers165 × 100 mm

Usb scoring platform
AndrewCraswell/agency
Native KiCad engineering prototype, separate from the earlier ESP32/tscircuit board. Open usb-scoring-platform.kicadpro in KiCad 10; schematic and PCB are the editable source, with no generator required.
224 partsMIT
Questions
How big is the MSAP-2 rev.A SMD PCB?
It measures 178 × 711 mm and has 2 copper layers, 1.6 mm thick.
What parts does the MSAP-2 rev.A SMD use?
658 parts, built around the SN74AHCT541PWRE4, 74HC245D, 74HCT245 and CH9350L. 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 MSAP-2 rev.A SMD KiCad files?
From the mehrantsi/MSAP-2 repository on GitHub, at the commit this page was made from: the board is Schematics/MSAP-2 rev.A SMD.kicad_pcb and its schematic Schematics/KiCad/ADDRESS_PATH.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the MSAP-2 rev.A SMD design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).