

Mud-16
a little retro console with a Motorola 68000 and FPGA PPU
- Size
- 90 × 100 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 100
- Nets
- 210
- Pads
- 640
- Tracks, vias
- 2,144, 268
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 2 Dec 2025
- Updated
- 31 Mar 2026
Overview
Mud-16 is an open-source printed circuit board by ratmuds, from the ratmuds/mud-16 repository on GitHub. It is a 4-layer board of 90 × 100 mm with 100 parts on 210 nets, routed with 2,144 tracks and 268 vias.
It is built around the SN74LVC8T245PW, 74HC165D and 74HC595, with the 74LVC1G04Z, AMS1117-1.8 and AMS1117-3.3 among its other parts. Its parts include 40 capacitors, 24 resistors, 18 ICs, 3 connectors and 1 diode.
Main components
7SN74LVC8T245PW
TSSOP-24-40℃~+85℃ 1 1.65V~5.5V 1.65V~5.5V 8 Bidirectional CMOS CMOS Tri-State TSSOP-24 Translators, Level Shifters ROHSTexas InstrumentsTranslators, Level Shifters74HC165D
SO-16-40℃~+125℃ 1 28ns@6V,50pF 2V~6V 35MHz 500mW 74HC 8 Parallel or Serial to Serial SOIC-16 Shift Registers ROHSNexperiaShift Registers74HC595
SOP-16-40℃~+85℃ 1 100ns@5V,50pF 10MHz 2V~6V 74HC 8 Serial-to-Serial or Parallel Tri-State SOP-16 Shift Registers ROHSGRShift Registers74LVC1G04Z
SOT-553-40℃~+125℃ 1 1 1.65V~5.5V 1.7V~2V 200uA 32mA 32mA 5ns@5V,50pF 700mV~800mV 74LVC SOT-553 Inverters ROHSDiodes IncorporatedInvertersAMS1117-1.8
SOT-223-40℃~+125℃@(Tj) 0.003%Vout 1 1.3V@(1A) 1.8V 15V 1A 72dB@(120Hz) Fixed Positive Short Circuit Protection、Thermal shutdown SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsWS2812B
5mm X 5mm Surface Mount RGB LED with Intelligent ControlWorldsemiUncategorised
README
README.mdmud-16
a little retro console with a Motorola 68000 and FPGA PPU
firmware
ppu.sv is the Verilog code for the PPU. This is close to what will be the renderer of the game console. main.cpp is currently a test bench that gets the display output from the PPU and renders it with Raylib, as well as simulating the CPU bus arbitration and SRAM VRAM access
features
- 3.5" IPS Display
- D-pad and ABXY buttons
- 27 MHz FPGA
- Rechargable Battery
- 512 KB of SRAM
why
I think that the GameBoy and other retro game console are really cool, and I want to make my own console. But I didn't want to just emulate it, I wanted to use a real retro CPU and make my own PPU (picture processing unit) with a FPGA.
how
The CPU is the brain pretty much. It handles all the game logic and stuff. It's connected to 512 KB of SRAM which the first part of it is allocated to VRAM. The VRAM is used by the FPGA. The CPU needs to go through level shifters down to 3.3V, and the CPU and FPGA needs to handle bus arbitration properly, otherwise they will fight over the bus and everything will become a mess. The FPGA will request for the bus at the beginning of each frame where they will essentially perform a handshake and the bus will be passed to the FPGA. The FPGA then accesses all the VRAM it needs and then gives back control to the CPU.
The display will be running in 8 bit parallel mode, since SPI is too slow.
to use
this stuff is WIP
you'll need to flash everything to the FPGA which will load all the necessary data into RAM for the CPU. The Gowin IDE is the app you'll use to flash the Tang Nano.
Schematic screenshots
Parts
100| Qty | Value | Footprint | References |
|---|---|---|---|
| 24 | 0.1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2, C10, C11, C13, C14, C16, C17, C19, C21, C22, C23, C25, C26, C27, C28 +8 |
| 23 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +7 |
| 11 | SW_DPST | ray:SW_PUSH_6mm | SWA1, SWB1, SWD1, SWL1, SWMENU1, SWR1, SWRST1, SWSTART1, SWU1, SWX1, SWY1 |
| 7 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C7, C8, C9, C20, C24, C34, C40 |
| 7 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3, C6, C12, C15, C18, C30, C32 |
| 7 | SN74LVC8T245 | Package_SO:TSSOP-24_4.4x7.8mm_P0.65mm | U2, U4, U5, U7, U8, U13, U14 |
| 2 | 22uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C37, C38 |
| 2 | 74HC165 | Package_DIP:DIP-16_W7.62mm | U11, U12 |
| 2 | 74HC595 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U9, U10 |
| 2 | 74LVC1G04 | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U1, U15 |
| 2 | ESPRST | ray:SW_SIDE_PUSH_3x6mm | SWLB1, SWRB1 |
| 1 | 330 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R24 |
| 1 | AMS1117-1.8 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U19 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U18 |
| 1 | AS7C3513B | AS7C513B:TSOP-44_10P2X18P4_ALL | U6 |
| 1 | Conn_01x02_Pin | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J3 |
| 1 | Conn_01x06_Pin | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J2 |
| 1 | Conn_01x40_MountingPin | Connector_FFC-FPC:Amphenol_F32R-1A7x1-11040_1x40-1MP_P0.5mm_Horizontal | J1 |
| 1 | MC68010P | Package_DIP:DIP-64_W22.86mm | CPU1 |
| 1 | Tang_Nano_9K | nosuz_symbols:DIP-48_TangNano9K | U3 |
| 1 | WS2812B | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D1 |
| 1 | ~ | ray:3.7V_LiPo_Charging_Board | U17 |
Questions
How big is the Mud-16 PCB?
It measures 90 × 100 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Mud-16 use?
100 parts, built around the SN74LVC8T245PW, 74HC165D, 74HC595 and 74LVC1G04Z. 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 Mud-16 KiCad files?
From the ratmuds/mud-16 repository on GitHub, at the commit this page was made from: the board is pcb/mud-16.kicad_pcb and its schematic pcb/display.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Mud-16 design in my own project?
Its repository states no licence, so its author keeps all rights: ask ratmuds before reusing the design.
Similar boards
- 2 layers85 × 99.6 mm

- 4 layers163.7 × 99.6 mm

- 2 layers94 × 70 mm

- 2 layers130 × 83.9 mm

- 4 layers219 × 108.5 mm

Z80DevBoard
gianluca-rainis/Z80DevBoard
An advanced development board for the Z80 microprocessor, powered by an RP2040.
182 parts7CERN-OHL-S-2.0 - 4 layers99.1 × 99.1 mm

- 4 layers300.8 × 110 mm

Fireflow
mcbronkowitch/fireflow
FireFlow — a modulation-first ambient groovebox: the modulation system is the instrument, not a layer on top of it. Five independent lanes per part driving a synth, granular, wavetable, resonator or bucket-brigade deck.
208 parts2MIT - 4 layers240 × 180 mm
