ESP32 Retro PC Project Overview

4:09

General
Project
BOM
Knowledge Base
Accessed Knowledge (2)

Explaining project components.

Identifying project intents.

Inspecting schematic details.

Linking components.

Using Knowledge Base Tool.

Using BOM Tool.

Planning tool calls and explanations.

Here’s a structured walkthrough of your “ESP32 x86 PC” project.
Project purpose
  • A self-contained “retro PC” platform built around the ESP32, exposing classic PC-style IO: VGA video, PS/2 keyboard/mouse, audio-out to a speaker, microSD storage, plus USB-C for power and USB-UART for programming/debug.
  • It ties these interfaces into the ESP32-WROVER-E’s compute, storage, and IO so it can emulate/replicate vintage PC functionality.
Core blocks and how they interact
Block overview

Table


BlockComponentsWhat it doesKey interactions
MCU/ComputeESP1 (ESP32-WROVER-E)Main processor, Wi-Fi/BLE-capable module, drives VGA, SDIO, PS/2, audioPowered from 3.3 V LDO; interfaces to USB-UART, SD card, VGA, audio amp, PS/2
USB-C power + USB-UARTUSB1, IC1 (CH340C), D2, R2, R3, D3, D4, D5USB-C provides VBUS power and a USB 2.0 data link to the CH340C (USB-UART). TVS arrays protect D+/D-. CC resistors set device-mode attachCH340C connects to ESP32 UART0 (TXD0/RXD0) and drives auto-boot via transistors
Power regulation + protectionPOWER, D1, U1, bulk/decoupling caps C5, C9, many 0603 capsVBUS -> slide switch -> Schottky diode -> 3.3 V LDO -> +3V3 rail; local decoupling throughoutFeeds ESP32, SDIO rail, logic, audio front-end, etc.
Auto-program/boot controlQ1, Q2 (BSS138) + buttons BOOT, RESETCH340C RTS/DTR toggle EN/IO0 via MOSFETs for auto download mode; manual buttons providedEnsures smooth flashing and reset of ESP32
VGA outputVGA + series/passive networkESP32 GPIOs generate HSYNC/VSYNC and simple resistor-DAC RGB to DE-15Direct from ESP32 pins; relies on precise timing firmware
PS/2 keyboard & mouseKeyBoard, Mouse, level-shifters Q3, Q5, Q6, Q7Provides 5 V to PS/2 and uses MOSFET level shifting for open-collector CLK/DATA into ESP32Pull-ups on the 5 V side, translated to 3.3 V-safe levels for ESP32
microSD (SDIO)Card2, pull-ups R56, R57, R58, R54, R50, ESD D3, D4, D5SDIO interface with proper pull-ups and ESD protectionPowered from SDIO_3V3; connects to ESP32 high-speed IO
Audio outputAmp U2 (NS4150B), speaker SPK1, input filter R19/R20/caps, ferrites L1/L2, output chokes FB1/FB2, bulk C16ESP32 DAC GPIO feeds a BTL/Class-D audio amp; LC/RC networks tame EMI and stabilize load; separate audio ground domainAnalog/digital ground segregation (AU_GND) and ferrites reduce noise coupling
UX & indicatorsPWR LED, test points TX, RX, EN, IO0, GND, 3V3Visual power indication; easy probing/programmingTies into power and UART/boot control nets
Signal/power flow highlights
  • Power path: USB1 VBUS -> POWER switch -> D1 Schottky -> U1 3.3 V LDO -> +3V3 to ESP1, SDIO rail, logic, audio input stage. Large/small caps (C5, C9, many 0603 ceramics) buffer transients.
  • USB-UART: IC1 connects D+/D- from USB1 with ESD D2; TXD/RXD link to ESP32; Q1/Q2 translate RTS/DTR into EN/IO0 sequencing for auto-boot; buttons BOOT/RESET provide manual control.
  • Video: ESP1 GPIOs drive HSYNC/VSYNC and RGB through a simple resistor DAC to VGA.
  • PS/2: The 5 V on the connectors KeyBoard/Mouse is translated to 3.3 V logic using BSS138 open-drain level shifters Q3, Q5, Q6, Q7 — appropriate for bidirectional clock/data.
  • Storage: Card2 uses ESP32 SDIO with pull-ups (R56, R57, R58, R54, R50) and line ESD (D3, D4, D5).
  • Audio: ESP32 DAC (GPIO25) is conditioned then amplified by U2 to drive SPK1. Ferrites L1/L2 and a separate audio ground domain reduce coupling into digital ground.
Key technologies, dependencies, and design choices
  • ESP32-WROVER-E as the single-chip “PC”: leverages dual-core MCU, fast GPIO, and built-in DAC/SDIO to synthesize VGA, audio, and storage.
  • USB-C as power and data: CC resistors (R2, R3) must be set for a USB2.0 device. Knowledge-base guidance: include TVS on USB data lines; you did (D2); keep capacitance low on D+/D-.
  • LDO-based 3.3 V rail: U1 is simple and quiet, but trades efficiency/thermal headroom against ease of use. Wi-Fi current bursts need bulk and local decoupling near the ESP32.
  • Open-drain MOSFET level shifting (BSS138): Ideal for PS/2’s bidirectional, open-collector signals; avoids active bus drivers that could fight the line.
  • Split analog ground for audio: Audio nets return to AU_GND with ferrites and output filtering (FB1, FB2), which mitigates ground bounce and switching noise coupling.
  • SDIO pull-ups and ESD: SD spec requires specific pull-ups; you’ve implemented them and added ESD on command/data/clk lines, supporting reliability.
Trade-offs and optimizations
  • LDO vs switching regulator: LDO (U1) is low-noise and simple, but can run hot at higher USB voltages and load currents; a buck would improve efficiency and thermal margin at the cost of EMI and complexity.
  • VGA via resistor DAC: Extremely low-cost; constrained color depth and relies on tight timing from firmware. Great for retro graphics, not for high-resolution/color-fidelity use.
  • Class-D/BTL speaker amp: Efficient, compact, and loud for size; requires good filtering, short high-current loops, and careful ground strategy to avoid audio hiss and EMI.
  • BSS138 level shifting: Reliable for open-drain PS/2; not suited for actively driven push-pull buses (you avoided this, which is correct).
Potential challenges and performance considerations
  • USB-C attach/CC: Ensure R2/R3 are correct for device-mode so 5 V is advertised to the board. Low-capacitance ESD elements are advisable on D+/D- (you have D2).
  • LDO thermal headroom: With Wi-Fi bursts and multiple peripherals, verify worst-case power dissipation of U1 and ambient temperature; keep bulk caps close to the ESP32 rail to ride through TX peaks.
  • SDIO signal integrity: Keep pull-ups close to the socket, route length-matched lines, and consider series damping resistors at the source if ringing appears at higher SDIO speeds.
  • Audio noise/EMI: Maintain short, symmetric output filter traces; keep the LC network close to U2; stitch AU_GND to main ground at a single, controlled point to prevent ground loops.
  • VGA timing margin: ESP32 firmware must tightly schedule HSYNC/VSYNC and pixel timing; GPIO drive plus resistor DAC limits max resolution/color depth.
  • PS/2 robustness: Ensure adequate pull-ups on the 5 V side and clean edge rates; keep clock/data pairs short and away from noisy nets.
Real-world applications
  • Retro-computing emulator with real VGA and PS/2 peripherals.
  • Embedded UI system with local display and input.
  • Educational platform demonstrating multi-interface MCU design (USB, SDIO, VGA, audio, PS/2).
Suggestions for improvement and future enhancements
  • Power: Consider a small synchronous buck to 3.3 V ahead of — or instead of — the LDO for cooler operation and higher load headroom. Add a polyfuse on VBUS and a transient suppressor on 5 V input if you expect hot-plug stress.
  • USB robustness: Add a common-mode choke on D+/D- and ensure the TVS (D2) capacitance is within USB 2.0 budgets; verify CC resistor values are correct for device role.
  • ESP32 decoupling/boot: Ensure EN has a defined pull-up and small cap for noise immunity (knowledge suggests a pull-up plus 0.1 µF on EN is good practice). Place 100 nF decouplers at each VDD pin cluster.
  • Audio domain: Maintain a single-point tie between AU_GND and digital ground; if hiss persists, consider an LC/ferrite on the amp’s supply and star-route the speaker returns to AU_GND.
  • SD card: If running 4-bit SDIO at higher speeds, keep lines short and matched; optionally add small source series resistors to reduce edge ringing.
  • EMC: Review high di/dt loops (amp outputs, USB 5 V ingress) and keep them tight; consider ground guard traces near VGA HSYNC/VSYNC if cross-talk appears.
  • Features: Add a headphone jack with line-level buffer; add a selectable external clock for more stable VGA timings; add small SPI flash or PSRAM expansions if firmware needs it.
If you want, I can dive into any block (e.g., SDIO, USB-C, audio, or VGA) and review the exact connections and component placements to recommend concrete layout or component-value tweaks.
Dive into power design
Detail USB-C section
Review audio/grounding
Analyze SDIO interface
Evaluate VGA implementation
43 days

Ready.


SPI_MISO
B_GPIO4
GPIO0
C8
Capacitance
10u F
GPIO2
C6
Capacitance
0.1u F
C7
Capacitance
0.1u F
B_GPIO5
+3V3
ESP_EN
SPI_MOSI
SPI_CS
R1
Resistance
10k Ω
ESP1


  • Ground
    A common return path for electric current. Commonly known as ground.
  • Net Portal
    Wirelessly connects nets on schematic. Used to organize schematics and separate functional blocks. To wirelessly connect net portals, give them same designator. #portal
  • Power Net Portal
    Wirelessly connects power nets on schematic. Identical to the net portal, but with a power symbol. Used to organize schematics and separate functional blocks. To wirelessly connect power net portals, give them the same designator. #portal #power
  • Generic Resistor
    A generic fixed resistor for rapid developing circuit topology. Save precious design time by seamlessly add more information to this part (value, footprint, etc.) as it becomes available. Standard resistor values: 1.0Ω 10Ω 100Ω 1.0kΩ 10kΩ 100kΩ 1.0MΩ 1.1Ω 11Ω 110Ω 1.1kΩ 11kΩ 110kΩ 1.1MΩ 1.2Ω 12Ω 120Ω 1.2kΩ 12kΩ 120kΩ 1.2MΩ 1.3Ω 13Ω 130Ω 1.3kΩ 13kΩ 130kΩ 1.3MΩ 1.5Ω 15Ω 150Ω 1.5kΩ 15kΩ 150kΩ 1.5MΩ 1.6Ω 16Ω 160Ω 1.6kΩ 16kΩ 160kΩ 1.6MΩ 1.8Ω 18Ω 180Ω 1.8KΩ 18kΩ 180kΩ 1.8MΩ 2.0Ω 20Ω 200Ω 2.0kΩ 20kΩ 200kΩ 2.0MΩ 2.2Ω 22Ω 220Ω 2.2kΩ 22kΩ 220kΩ 2.2MΩ 2.4Ω 24Ω 240Ω 2.4kΩ 24kΩ 240kΩ 2.4MΩ 2.7Ω 27Ω 270Ω 2.7kΩ 27kΩ 270kΩ 2.7MΩ 3.0Ω 30Ω 300Ω 3.0KΩ 30KΩ 300KΩ 3.0MΩ 3.3Ω 33Ω 330Ω 3.3kΩ 33kΩ 330kΩ 3.3MΩ 3.6Ω 36Ω 360Ω 3.6kΩ 36kΩ 360kΩ 3.6MΩ 3.9Ω 39Ω 390Ω 3.9kΩ 39kΩ 390kΩ 3.9MΩ 4.3Ω 43Ω 430Ω 4.3kΩ 43KΩ 430KΩ 4.3MΩ 4.7Ω 47Ω 470Ω 4.7kΩ 47kΩ 470kΩ 4.7MΩ 5.1Ω 51Ω 510Ω 5.1kΩ 51kΩ 510kΩ 5.1MΩ 5.6Ω 56Ω 560Ω 5.6kΩ 56kΩ 560kΩ 5.6MΩ 6.2Ω 62Ω 620Ω 6.2kΩ 62KΩ 620KΩ 6.2MΩ 6.8Ω 68Ω 680Ω 6.8kΩ 68kΩ 680kΩ 6.8MΩ 7.5Ω 75Ω 750Ω 7.5kΩ 75kΩ 750kΩ 7.5MΩ 8.2Ω 82Ω 820Ω 8.2kΩ 82kΩ 820kΩ 8.2MΩ 9.1Ω 91Ω 910Ω 9.1kΩ 91kΩ 910kΩ 9.1MΩ #generics #CommonPartsLibrary
  • Generic Capacitor
    A generic fixed capacitor ideal for rapid circuit topology development. You can choose between polarized and non-polarized types, its symbol and the footprint will automatically adapt based on your selection. Supported options include standard SMD sizes for ceramic capacitors (e.g., 0402, 0603, 0805), SMD sizes for aluminum electrolytic capacitors, and through-hole footprints for polarized capacitors. Save precious design time by seamlessly add more information to this part (value, footprint, etc.) as it becomes available. Standard capacitor values: 1.0pF 10pF 100pF 1000pF 0.01uF 0.1uF 1.0uF 10uF 100uF 1000uF 10,000uF 1.1pF 11pF 110pF 1100pF 1.2pF 12pF 120pF 1200pF 1.3pF 13pF 130pF 1300pF 1.5pF 15pF 150pF 1500pF 0.015uF 0.15uF 1.5uF 15uF 150uF 1500uF 1.6pF 16pF 160pF 1600pF 1.8pF 18pF 180pF 1800pF 2.0pF 20pF 200pF 2000pF 2.2pF 22pF 20pF 2200pF 0.022uF 0.22uF 2.2uF 22uF 220uF 2200uF 2.4pF 24pF 240pF 2400pF 2.7pF 27pF 270pF 2700pF 3.0pF 30pF 300pF 3000pF 3.3pF 33pF 330pF 3300pF 0.033uF 0.33uF 3.3uF 33uF 330uF 3300uF 3.6pF 36pF 360pF 3600pF 3.9pF 39pF 390pF 3900pF 4.3pF 43pF 430pF 4300pF 4.7pF 47pF 470pF 4700pF 0.047uF 0.47uF 4.7uF 47uF 470uF 4700uF 5.1pF 51pF 510pF 5100pF 5.6pF 56pF 560pF 5600pF 6.2pF 62pF 620pF 6200pF 6.8pF 68pF 680pF 6800pF 0.068uF 0.68uF 6.8uF 68uF 680uF 6800uF 7.5pF 75pF 750pF 7500pF 8.2pF 82pF 820pF 8200pF 9.1pF 91pF 910pF 9100pF #generics #CommonPartsLibrary
  • Generic Inductor
    A generic fixed inductor for rapid developing circuit topology. *You can now change the footprint and 3D model at the top level anytime you want. This is the power of #generics
  • Terminal
    Terminal
    An electrical connector acting as reusable interface to a conductor and creating a point where external circuits can be connected.
  • RMCF0805JT47K0
    47 kOhms ±5% 0.125W, 1/8W Chip Resistor 0805 (2012 Metric) Automotive AEC-Q200 Thick Film #forLedBlink
  • 875105359001
    10uF Capacitor Aluminum Polymer 20% 16V SMD 5x5.3mm #forLedBlink #commonpartslibrary #capacitor #aluminumpolymer #radialcan
  • CTL1206FYW1T
    Yellow 595nm LED Indication - Discrete 1.7V 1206 (3216 Metric) #forLedBlink

Inspect

ESP32 x86 PC

ESP32 x86 PC
Description

Created
Last updated by jharwinbarrozo
2 Contributor(s)
vasy_skral
jharwinbarrozo

Controls

Availability & Pricing

DistributorQty 1
Arrow$0.84–$3.05
Digi-Key$1.52–$30.15
LCSC$5.52–$6.45
Mouser$14.74
TME$2.85
Verical$0.82–$497.05

Assets