

Media Controller
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
6MCP73831T-2ACI/OT-HXY
SOT-23-5LBattery ManagementHXY MOSFETMIC5219-3.3YM5
SOT23-53.3V 500mA Peak Output Low Drop-Out (LDO) RegulatorMicrochip TechnologyUncategorisedSZYY0603Y
0603-40℃~+85℃ 10mA 120° 175mcd 2.4V 40mW 584nm~594nm 596nm Discrete Diode Water Clear Yellow 0603 LED Indication - Discrete ROHSyongyuLED Indication - DiscreteAO3401
SOT-231 P-Channel 1.3V 115pF 30V 350mW 4.2A 75mΩ@4.5V 77pF 954pF P-Channel SOT-23 MOSFETs ROHSGuangdong HottechMOSFETsMBR120LSF
SOD-1231A 1mA@20V 20V 25A 600mV@1A Independent SOD-123 Schottky Diodes ROHSShikuesSchottky DiodesS2B-PH-SM4-TB
2A 100V, Pitch 2.0mm, 2 Positions Disconnectable Crimp Style, SMD Male Header, Side EntryJSTUncategorised
README
README.mdGesture Based Media controller

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| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 4.7uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C2, C3, C6 |
| 3 | 2K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R5, R11 |
| 2 | 100K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R8, R9 |
| 2 | 100nF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C5, C7 |
| 2 | 10K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3, R6 |
| 2 | 5.1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2 |
| 2 | SZYY0603Y | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | CHG1, PWR1 |
| 1 | 100 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10 |
| 1 | 2.2uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C4 |
| 1 | AO3401 | Package_TO_SOT_SMD:SOT-23 | Q3 |
| 1 | Del | Button_Switch_THT:SW_PUSH_6mm_H13mm | SW1 |
| 1 | Gesture | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J5 |
| 1 | IR | LED_THT:LED_D5.0mm | D2 |
| 1 | K3-1296S-E1_C128955 | Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1Q | SW3 |
| 1 | MBR120LSF | Diode_SMD:D_SMA_Handsoldering | D1 |
| 1 | MCP73831T-2ACI_OT | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U2 |
| 1 | MIC5219-3.3YM5 | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U4 |
| 1 | OLED | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J4 |
| 1 | S2B-PH-SM4-TB | Connector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_Vertical | J2 |
| 1 | TSOP1838 | TSOP1838:TSOP1838 | U1 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | polarity_ctrl | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J3 |
| 1 | ~ | RF_Module:ESP32-WROOM-32 | U6 |
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
- 2 layers197 × 249.7 mm

- 4 layers336.7 × 281.1 mm

- 4 layers68.6 × 53.3 mm

Pcb main nautilus atmega4809
apcountryman/pcb-main-nautilus-atmega4809
A Microchip ATmega4809 based mainboard PCB.
91 parts - 4 layers42.8 × 67.5 mm

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 mm

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 layers

- 2 layers100 × 100 mm

ESP drone
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
130 parts915 - 2 layers30 × 30 mm

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