
WirelessControllerESP32
EmmetGameDev/NevoltaNexusConsole
Repository for design files and code for the Nexus console.

Making my own controller!
GBAKicad is an open-source printed circuit board by ArxDraco007, from the ArxDraco007/ArxController repository on GitHub. It is a 2-layer board of 132.9 × 77.4 mm with 67 parts on 72 nets, routed with 444 tracks and 53 vias.
It is built around the ESP32-S3-WROOM-1-N8, AMS1117-3.3 and DW01A, with the MIC5219-3.3YM5 and TP4056-42-ESOP8 among its other parts. Its parts include 17 resistors, 16 switches, 13 capacitors, 5 ICs and 4 connectors. It belongs with the ESP32 boards of this library.
A fully custom controller. Customizable according to your console. Firmware, 3D Models, and PCB design.
Making your own controller is absolutely amazing! The process gives you a complete learning of wiring peripherals, Double LDO circuits, Battery charging protection, and the ESP32-WROOM module. This journey has been absolutely wonderful, and I would recommend this project for all intermediate PCB designers.
Soldering - Start by applying flux to the pads on the footprint where you'll be soldering. Tin one of the pads with a small amount of solder, then carefully place your component onto the footprint. Touch your iron to the tinned pad to reflow it and tack the component in place, then let go with your tweezers once it's sitting right. Move to the opposite pad and solder it properly to the component. Finally, go back to your first pad and add a bit more solder to make sure you've got a solid joint. Firmware - Plug in the ESP32-S3 via USB-C, select Board "ESP32S3 Dev Module" and the correct Port, hold BOOT while plugging in (or while pressing RESET) if it doesn't auto-detect, then click Upload to flash it, and finally press RESET or replug to run the new firmware.
| Reference | Qty | Value | Footprint | Source | Buy Link |
|---|---|---|---|---|---|
| R2,R3 | 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | Robu.in | Link |
| R4 | 1 | 1.2k | Resistor_SMD:R_0603_1608Metric | LCSC | Link |
| R5,R6,R7 | 3 | 1k | Resistor_SMD:R_0603_1608Metric | Robu.in | Link |
| R8,R9 | 2 | 100R | Resistor_SMD:R_0603_1608Metric | LCSC | Link |
| R10,R11,R12,R13,R14,R15,R16 | 7 | 100k | Resistor_SMD:R_0603_1608Metric | Robu.in | Link |
| SW1 | 1 | EN (Tactile SMD) | Button_Switch_SMD:SW_SPST_TS-1088-xR020 | LCSC | Link |
| SW2 | 1 | SW_PWR (Header) | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | Robu.in | Link |
| SW3 | 1 | BOOT (Tactile SMD) | custom_footprints:SW_SPST_TS-1088-xR020 | LCSC | Link |
| SW4 | 1 | BTN_L (Shoulder switch) | custom_footprints:TS-1224VW | LCSC | Link |
| SW5 | 1 | BTN_UP (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW6 | 1 | BTN_LEFT (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW7 | 1 | BTN_DOWN (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW8 | 1 | BTN_RIGHT (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW9 | 1 | BTN_START (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW10 | 1 | BTN_R (Shoulder switch) | custom_footprints:TS-1224VW | LCSC | Link |
| SW11 | 1 | BTN_X (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW12 | 1 | BTN_A (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW13 | 1 | BTN_B (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW14 | 1 | BTN_Y (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW15 | 1 | BTN_SELECT (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| SW16 | 1 | BTN_SYS (Tactile 8mm) | custom_footprints:SW_PUSH_8mm_H5mm_custom | Robu.in | Link |
| TP1,TP3,TP5 | 3 | TestPoint | TestPoint:TestPoint_Pad_D2.0mm | Robu.in | Link |
| TP4 | 1 | AMS_3V3 (TestPoint) | TestPoint:TestPoint_Pad_D2.0mm | Robu.in | Link |
| U1 | 1 | ESP32-S3-WROOM-1-N16R8 | RF_Module:ESP32-S3-WROOM-1 | Robu.in | Link |
| U2 | 1 | MIC5219-3.3YM5 | Package_TO_SOT_SMD:SOT-23-5 | Robu.in | Link |
| U3 | 1 | TP4056-42-ESOP8 | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalVias | Robu.in | Link |
| U4 | 1 | DW01A | Package_TO_SOT_SMD:SOT-23-6 | Robu.in | Link |
| U5 | 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | Robu.in | Link |
| U6 | 1 | PCM5102APWR | TSSOP-20 | Robu.in | Link |
| U7 | 1 | TPA2012D2 | QFN-16 | LCSC | Link |
| U8 | 1 | ILI9341 TFT 2.4/2.8" Display Module | SPI 240x320 | LCSC | Link |
| U9 | 1 | MAX17048G+T10 | SOT-23-6 (USOP-8) | LCSC | Link |
| U10 | 1 | XC6220 LDO | SOT-23-5 | LCSC | Link |
| - | 1 | microSD Card Slot (Push-Push) | SMD microSD Socket | Robu.in | Link |
| - | 1 | USB-C Connector (16-pin) | USB_C_Receptacle_USB2.0_16P | Robu.in | Link |
| HW1-HW4 | 4 | M3 × 22mm Machine Screw | Mechanical:MountingHardware | element14 | Link |
| HW5-HW8 | 4 | M3 Hex Nut | Mechanical:MountingHardware | FlyRobo | Link |
| FNIRSI HS-02 | 1 | Soldering | Soldering Iron | FNIRSI | Link |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 100k | Resistor_SMD:R_0603_1608Metric | R10, R11, R12, R13, R14, R15, R16 |
| 4 | 10uF | Capacitor_SMD:C_0603_1608Metric | C4, C5, C6, C10 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C13 |
| 3 | 100uF | Capacitor_SMD:C_0603_1608Metric | C7, C8, C9 |
| 3 | 1k | Resistor_SMD:R_0603_1608Metric | R5, R6, R7 |
| 3 | TestPoint | TestPoint:TestPoint_Pad_D2.0mm | TP1, TP3, TP5 |
| 2 | 100R | Resistor_SMD:R_0603_1608Metric | R8, R9 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R17 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 1.2k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 10uF | Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A | C11 |
| 1 | 22nF | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | 22uF | Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A | C12 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U5 |
| 1 | AMS_3V3 | TestPoint:TestPoint_Pad_D2.0mm | TP4 |
| 1 | BATT_Conn | Connector_JST:JST_ZH_S2B-ZR-SM4A-TF_1x02-1MP_P1.50mm_Horizontal | J2 |
| 1 | BLUE | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | BOOT | custom_footprints:SW_SPST_TS-1088-xR020 | SW3 |
| 1 | BTN_A | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW12 |
| 1 | BTN_B | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW13 |
| 1 | BTN_DOWN | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW7 |
| 1 | BTN_L | custom_footprints:TS-1224VW | SW4 |
| 1 | BTN_LEFT | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW6 |
| 1 | BTN_R | custom_footprints:TS-1224VW | SW10 |
| 1 | BTN_RIGHT | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW8 |
| 1 | BTN_SELECT | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW15 |
| 1 | BTN_START | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW9 |
| 1 | BTN_SYS | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW16 |
| 1 | BTN_UP | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW5 |
| 1 | BTN_X | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW11 |
| 1 | BTN_Y | custom_footprints:SW_PUSH_8mm_H5mm_custom | SW14 |
| 1 | DW01A | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | EN | Button_Switch_SMD:SW_SPST_TS-1088-xR020 | SW1 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U1 |
| 1 | Jumper | Resistor_SMD:R_0603_1608Metric | J3 |
| 1 | MIC5219-3.3YM5 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | OLED_Conn | custom_footprints:OLED128x32_1x04_P2.54mm_socket | J4 |
| 1 | PMOS | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | RED | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | SW_PWR | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | SW2 |
| 1 | TP4056-42-ESOP8 | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalVias | U3 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | ~ | custom_footprints:SOT-23-6L_TCP | Q1 |
It measures 132.9 × 77.4 mm and has 2 copper layers, 1.6 mm thick.
67 parts, built around the ESP32-S3-WROOM-1-N8, AMS1117-3.3, DW01A and MIC5219-3.3YM5. 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.
From the ArxDraco007/ArxController repository on GitHub, at the commit this page was made from: the board is PCB/GBAKicad.kicad_pcb and its schematic PCB/GBAKicad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask ArxDraco007 before reusing the design.

EmmetGameDev/NevoltaNexusConsole
Repository for design files and code for the Nexus console.

mornepousse/Niphargus
Niphargus — a slim, indestructible wireless split keyboard. ESP32 + nRF24, wired fallback, and an emergency kit hidden behind the USB port. The successor to the Rouge-Gorge.


ANSHUMANDOCX/STM32-Walkie-Talkie
This is a Walkie talkie made using STM32 and LoRa

milovanpms/talk-e
📻 — A simple LoRa-based talkie-walkie built on ESP32, operating on the 433 MHz frequency band for long-range, low-power wireless communication.

HYLDAIC/Flagshep-V1_Audio-Player
A high fidelity semi-portable audio player student project with provided PCB files, 3D files and Code


AhmedOsama21998/SmartWatch-ESP32-S3-PCB
ESP32-S3 smartwatch PCB with Li-ion battery charging, protection, and power management. Work in progress; sensor integration is planned.