Skip to the content
PCBKitNew board
2 layers126.2 × 25.5 mmUniversal Programmer, the printed circuit board in 3D

Universal Programmer

TiebeDeclercq/Uart-programmer

A versatile UART programming board designed for microcontroller development with flexible voltage selection and multiple connection options. Features built-in status LEDs, CH340C USB-to-serial conversion, and support for external programming fixtures.

Size
126.2 × 25.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
46
Nets
26
Pads
121
Tracks, vias
259, 36
Pours
3
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
17 Jun 2025
Updated
16 Aug 2025

Overview

Universal Programmer is an open-source printed circuit board by TiebeDeclercq, from the TiebeDeclercq/Uart-programmer repository on GitHub, published under the MIT licence. It is a 2-layer board of 126.2 × 25.5 mm with 46 parts on 26 nets, routed with 259 tracks and 36 vias.

It is built around the CH340C, AMS1117-3.3 and LESD5D5.0CT1G, with the MMBT3904 and 1N5819HW-7-F-01 among its other parts. Its parts include 15 connectors, 7 diodes, 6 capacitors, 5 resistors and 2 ICs. It belongs with the interfaces and adapters boards of this library.

Main components

5

README

README.md

Custom UART Programmer

A versatile UART programming board designed for microcontroller development with flexible voltage selection and multiple connection options. Features built-in status LEDs, CH340C USB-to-serial conversion, and support for external programming fixtures.

side side

Hardware Overview

  • USB-to-Serial IC: CH340C for reliable USB communication
  • Voltage Selection: Jumper-selectable 3.3V or 5V operation
  • Status Indicators:
    • Power LED (PWR)
    • TX/RX activity LEDs
  • Connection Options:
    • Standard pin headers for jumper wire connections
    • FCP slot for external fixtures
  • Interface: Standard UART (TX, RX, VCC, GND, BOOT, EN)
  • Power Supply: USB-powered with onboard voltage regulation

top

Schematic

image

Getting Started

  1. Driver Installation

    • Install CH340 drivers for your operating system
    • Windows: Download from manufacturer or use Windows Update
    • macOS/Linux: Usually plug-and-play
  2. Voltage Selection

    • Set jumper to 3.3V for ESP32, ESP8266, and other 3.3V microcontrollers
    • Set jumper to 5V for Arduino and 5V-compatible devices
  3. Connection Methods

    Method A: Direct Jumper Connections

    • Connect VCC to target microcontroller's power pin
    • Connect GND to target ground
    • Connect TX to target RX pin
    • Connect RX to target TX pin
    • Use BOOT and EN pins for programming mode control (ESP32/ESP8266)

    Method B: External Programming Fixture

    • Insert compatible pogo pin module into FCP slot
    • Align fixture with target board
    • Programming connections are made automatically
  4. Programming

    • Open your preferred serial terminal or IDE
    • Select the correct COM port
    • Set appropriate baud rate (typically 115200)
    • Put target microcontroller in programming mode
    • Upload firmware
  5. Status Monitoring

    • PWR LED indicates power is applied
    • TX LED flashes during data transmission
    • RX LED flashes during data reception

More Projects: Visit dectronics.cc for additional electronics projects

Parts

46
QtyValueFootprintReferences
10Conn_01x01_PinPogo-Pin 3.5mm:HARWIN_P70-1000045RJ5, J6, J7, J8, J9, J10, J11, J12, J13, J14
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
3LEDLED_SMD:LED_0805_2012MetricD1, D2, D3
3LESD5D5.0CT1GLESD5D5.0CT1G:TVS_LESD5D5.0CT1GD5, D6, D7
3LOGODrawings_Customs:Dectronics_Sub_12mmG***, G***, G***
20.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4, C6
2100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2
210kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C5
21kResistor_SMD:R_0805_2012MetricR4, R5
2Conn_01x06_MountingPinConnector_FFC-FPC:TE_84953-6_1x06-1MP_P1.0mm_HorizontalJ3, J4
2MMBT3904Package_TO_SOT_SMD:SOT-23Q1, Q2
11N5819HW-7-F1N5819HW-7-F:SOD3715X145ND4
1750Resistor_SMD:R_0805_2012MetricR3
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU1
1Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_HorizontalJ2
1Conn_02x05_Odd_EvenConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ19
1Fuse_SmallFuse:Fuse_0805_2012MetricF1
1Jumper_3_Opentest:VoltageJumperJP1
1USB_AConnector_USB:USB_A_CNCTech_1001-011-01101_HorizontalJ1

Questions

How big is the Universal Programmer PCB?

It measures 126.2 × 25.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Universal Programmer use?

46 parts, built around the CH340C, AMS1117-3.3, LESD5D5.0CT1G and MMBT3904. 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 Universal Programmer KiCad files?

From the TiebeDeclercq/Uart-programmer repository on GitHub, at the commit this page was made from: the board is Universal-Programmer/Universal-Programmer.kicad_pcb and its schematic Universal-Programmer/Universal-Programmer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Universal Programmer 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).

Similar boards

  • 2 layers94.1 × 63.5 mmGarageOpener, the printed circuit board in 3D

    GarageOpener

    AshiqAshref/Garage-Door-Opener

    Universal Garage Door using BLE (Bluetooth Low Power) running on ESP32 with highest security possible.

    42 partsMIT
  • 2 layers40 × 111 mmLED Wled, the printed circuit board in 3D

    LED Wled

    edvard5/wEasyLed_V2

    96 parts
  • 4 layers110 × 90 mmPLC V1, the printed circuit board in 3D

    PLC V1

    paulmartinezcuenta/UltiCore-V1-PLC

    Custom industrial-grade PLC and logic controller engineered around the ESP32 platform.

    202 parts1MIT
  • 2 layersMain pcb, the printed circuit board in 3D

    Main pcb

    ostev/keysynth

    An equation synthesiser

    299 parts
  • 2 layers112.7 × 121.4 mmPCBOFBEATPAD, the printed circuit board in 3D

    PCBOFBEATPAD

    Axe-1st/OrphBeatPad

    A custom Beat pad with awesome design!

    74 parts2
  • 2 layers36.6 × 57.1 mmESP32 S3 devkit test, the printed circuit board in 3D

    ESP32 S3 devkit test

    FrWA14/KiCad8_ESP32S3_DevModule_wroom-1_DevelopementBoard

    Contient tout les fichier KiCad nécessaire pour faire une carte ESP32S3 avec un module Wroom-1.

    44 parts1
  • 2 layers61 × 35 mmEsp32-1pcb, the printed circuit board in 3D

    Esp32-1pcb

    shubhisgonnastealyourcode/FT-32-esp32-s3-dev-board-

    Custom ESP32-S3 Development Board with Header Pins for Display and RGB LED

    44 parts1
  • 4 layers44.7 × 71.1 mmCustomEsp, the printed circuit board in 3D

    CustomEsp

    Antoinbrn/Tremenda

    Modern MP3 player with Bluetooth

    42 partsMIT