Skip to the content
PCBKitNew board
2 layers32 × 130 mmMedia Controller, the printed circuit board in 3D

A device that controls your TV using IR signals to mimic your TV's remote control. It detects a gesture and then sends the signal that was coded for that gesture. I made it so I can control different media while eating (so I don't have to touch anything with my dirty hands)

Size
32 × 130 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
52
Pads
168
Tracks, vias
288, 41
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
10 Aug 2026
Updated
29 Aug 2026

Overview

Media Controller is an open-source printed circuit board by mkhairyx, from the mkhairyx/Media_Controller repository on GitHub. It is a 2-layer board of 32 × 130 mm with 34 parts on 52 nets, routed with 288 tracks and 41 vias.

It is built around the MCP73831T-2ACI/OT-HXY, MIC5219-3.3YM5 and SZYY0603Y, with the AO3401, MBR120LSF and S2B-PH-SM4-TB among its other parts. Its parts include 11 resistors, 7 capacitors, 5 connectors, 4 ICs and 2 diodes.

Main components

6

README

README.md

Gesture Based Media controller

banner

What is it

It's a device that controls your TV using IR signals to mimic your TV's remote control. It detects a gesture and then sends the signal that was coded for that gesture.

The reason I made it

I made it so I can control different media without having to touch anything with my dirty hands while eating.

Main modules used

  • MCU: An ESP32
  • Gesture Sensor: PAJ7620
  • Display: OLED 0.96" SSD1306 Display

Pins and their usages

  • GPIO4: IR LED
  • GPIO15: IR receiver (TL1838)
  • GPIO21: SDA (for both the Gesture Sensor and the display)
  • GPIO22: SCL (for both the Gesture Sensor and the display)
  • GPIO18: delete button (Internally pulled high)

How to recreate

You can either make the PCB with is here or connect everything on a breadboard (while using this as a reference) then you can flash the software provided here to your ESP32.

Gestures and their functions

  • Move Up / Move Down:
    Up Button / Down Button
  • Move Left / Move Right:
    Left Button / Right Button
  • Move Forward:
    OK button (for TV)
  • Circle Clockwise (CW) / Circle Counter-Clockwise (CCW):
    Volume Up Button / Volume Down Button
  • Wave (shake):
    switch between different TV/PC (Inoperative for now, PC functions will be available in V2)

Demo Video

A demo vid can be watched here:
https://youtu.be/PJmMg9s-Np0 https://cdn.hackclub.com/01a003da-1a12-7c9f-beef-b3fb1ff95faa/Media%20Controller%20Demo-2.mp4

Notes

  • Please note that AI was used to help with some parts of the code and not all of it.
  • This is the first version of this project and it doesn't have all of the functions. V2 will have battery percentage measurement, better UI, and will be compatible with both TV and PC with the ability to switch between them.

Parts

34
QtyValueFootprintReferences
44.7uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1, C2, C3, C6
32KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R5, R11
2100KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR8, R9
2100nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC5, C7
210KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R6
25.1kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
2SZYY0603YLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderCHG1, PWR1
1100Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR7
110kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10
12.2uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4
1AO3401Package_TO_SOT_SMD:SOT-23Q3
1DelButton_Switch_THT:SW_PUSH_6mm_H13mmSW1
1GestureConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ5
1IRLED_THT:LED_D5.0mmD2
1K3-1296S-E1_C128955Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1QSW3
1MBR120LSFDiode_SMD:D_SMA_HandsolderingD1
1MCP73831T-2ACI_OTPackage_TO_SOT_SMD:SOT-23-5_HandSolderingU2
1MIC5219-3.3YM5Package_TO_SOT_SMD:SOT-23-5_HandSolderingU4
1OLEDConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ4
1S2B-PH-SM4-TBConnector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_VerticalJ2
1TSOP1838TSOP1838:TSOP1838U1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1
1polarity_ctrlConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ3
1~RF_Module:ESP32-WROOM-32U6

Questions

How big is the Media Controller PCB?

It measures 32 × 130 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Media Controller use?

34 parts, built around the MCP73831T-2ACI/OT-HXY, MIC5219-3.3YM5, SZYY0603Y and AO3401. 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 Media Controller KiCad files?

From the mkhairyx/Media_Controller repository on GitHub, at the commit this page was made from: the board is Source/KiCad/Media_Controller/Media_Controller.kicad_pcb and its schematic Source/KiCad/Media_Controller/Media_Controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Media Controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask mkhairyx before reusing the design.

Similar boards

  • 4 layers68.6 × 53.3 mmPcb main nautilus atmega4809, the printed circuit board in 3D

    Pcb main nautilus atmega4809

    apcountryman/pcb-main-nautilus-atmega4809

    A Microchip ATmega4809 based mainboard PCB.

    91 parts
  • 4 layers42.8 × 67.5 mmPCB Interface, the printed circuit board in 3D

    PCB Interface

    Domfunkle/NHP_Synth

    This project implements a dual-channel Direct Digital Synthesis (DDS) signal generator on the ESP32 platform. It features:

    80 parts
  • 2 layers73 × 77.5 mmUca dkaiot2-kicad, the printed circuit board in 3D

    Uca dkaiot2-kicad

    LEAT-EDGE/ambient-pcb-dkaiot

    The design also provides empty footprints for several other sensors which are not populated in the Ambient variant: - Light sensor (LITEON LTR-303ALS-01) - MEMS microphone (Knowles SPH0645LM4H) - Indoor air quality…

    184 partsCERN-OHL-P-2.0
  • 2 layersESP DRONE, the printed circuit board in 3D

    ESP DRONE

    TR-JAYAVARDHAN-SINGH/Auto_Drone-with-esp32

    42 parts
  • 2 layers100 × 100 mmESP drone, the printed circuit board in 3D

    ESP drone

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    130 parts915
  • 2 layers30 × 30 mmMicro drone(esp32 s3 xiao), the printed circuit board in 3D

    Micro drone(esp32 s3 xiao)

    aryaman2050/Micro_ESP_Drone

    A compact micro brushed drone featuring an ESP32-based flight controller, a custom-designed 2-layer PCB, and Wi-Fi-based control.

    67 parts