

Carkit
An all in one PCB for controlling DIY RC Cars!
- Size
- 75 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 63
- Nets
- 62
- Pads
- 274
- Tracks, vias
- 456, 49
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 21 Nov 2025
- Updated
- 25 Nov 2025
Overview
Carkit is an open-source printed circuit board by SharKingStudios, from the SharKingStudios/carkit repository on GitHub, published under the MIT licence. It is a 2-layer board of 75 × 50 mm with 63 parts on 62 nets, routed with 456 tracks and 49 vias.
It is built around the ESP32-C3-MINI-1, AMS1117-3.3 and SK6812, with the CYA1040-33UH, RVT1E331M0810 and RVT1H470M0607 among its other parts. Its parts include 19 capacitors, 10 resistors, 7 connectors, 6 diodes and 5 ICs. It belongs with the ESP32 and RISC-V boards of this library.
Main components
6ESP32-C3-MINI-1
--40℃~+81℃ -89dBm 2.4GHz 350mA 3V~3.6V 82mA ESP32-C3 Chip On-board PCB Antenna UART - WiFi Modules ROHSRF CrazyWiFi ModulesAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSK6812
SMD-4P,5.4x5mm-40℃~+85℃ 0.6mA 1.6mm 120° 160mcd~320mcd 1kHz 2000V 280mcd~515mcd 3.7V~5.5V 460nm~470nm 520nm~530nm 620nm~625nm 800Kbit/s 815mcd~1275mcd Built-in power-on reset circuit Semi-transparent lens SMD-4P,5.4x5mm RGB LEDs(Built-in IC) ROHSOPSCO OptoelectronicsRGB LEDs(Built-In IC)CYA1040-33UH
SMD,11.6x10.1mm33uH 4.5A 4A 85mΩ ±20% SMD,11.6x10.1mm Molding Power Inductors ROHSSHOU HANInductors (SMD)RVT1E331M0810
SMD,D8xL10.2mm-40℃~+105℃ 10.2mm 2000hrs@105℃ 228mA@120Hz 25V 330uF 8mm ±20% SMD,D8xL10.2mm Aluminum Electrolytic Capacitors - SMD ROHSROQANGAluminum Electrolytic Capacitors - SMDRVT1H470M0607
SMD,D6.3xL7.7mm-40℃~+105℃ 2000hrs@105℃ 47uF 50V 6.3mm 66mA@120Hz 7.7mm ±20% SMD,D6.3xL7.7mm Aluminum Electrolytic Capacitors - SMD ROHSROQANGAluminum Electrolytic Capacitors - SMD
README
README.md
CarKit – Because Your RC Car Needs a Brain
A Swiss-Army-Knife Control Board for DIY RC Chaos™
(You bring the chassis. It brings the brains.)
Renders
Visuals because everyone loves eye candy.

BOM
All the silicon, blinkenlights, and screw-down bits live here.
Main characters:
- MCU: ESP32-C3-WROOM-02
- Motor Driver: DRV8876 dual DC motor driver
- 5 V Regulator: LM2596SX-5.0 buck converter
- 3.3 V Regulator: AMS1117-3.3 LDO
- RGB LEDs: SK6812 addressable LEDs (x4)
- Power LED: XL-2012UVA
- Inputs: USB-C, Barrel jack, and screw terminal power
- Connectors: KF301 5.0 mm terminal blocks + 2×3 SMT headers
- Misc: Buttons, buzzer, pull-ups, decoupling caps, and the usual supporting cast
(See BOM.md for the full part list, values, and LCSC links.)
What is this?
This is a do-it-all RC control board built around an ESP32-C3, designed to handle basically everything you might want on a DIY RC car:
- 2 DC motors with PWM (think: drive + steering/turning)
- 1 BLDC motor output (via external ESC)
- 1 servo motor output
- Bluetooth gamepad support (so you can use almost any Bluetooth controller)
- Multiple power input options (USB-C, barrel jack, or raw battery via screw terminals)
- 4 RGB status LEDs for connection, mode, and “because RGB”
- On-board buzzer for beeps, alerts, and dramatic startup tones
It’s meant to be the drop-in brain for “I duct-taped this together but now I want it to drive nicely” RC builds.
Features
Motor Control
- 2× DC motor channels
- PWM control for speed
- Direction control via DRV8876
- Great for drive + steering or tank drive* setups
- 1× BLDC channel (signal)
- Standard PWM output to an external ESC
- 1× Servo output
- For steering, camera gimbals, or cursed animatronics
*While the board supports tank drive it wasn't built for it.
Power Options
Because every DIY RC build uses a different battery, obviously.
- USB-C (5 V)
- For bench testing, firmware dev, and flexing modern ports
- Barrel jack
- Perfect for 9 V batteries or standard DC wall adapters
- Screw terminals
- Bring your own LiPo / battery pack
- On-board power handling:
- LM2596SX-5.0 buck converts input to 5 V
- AMS1117-3.3 steps 5 V down to 3.3 V for the ESP32-C3
- Bulk and decoupling caps sprinkled everywhere to keep noise and brownouts away
(Dont feed the board anything over 36V, I would recommend staying under 24V)
LEDs & Buttons
- 4× SK6812 RGB LEDs
- Can show:
- Connection status (paired / searching / sad)
- Board mode (e.g. normal, config, debug)
- User-defined patterns (rainbow, brake lights, underglow, whatever)
- Can show:
- 1× Power LED
- Because sometimes you just need “is this thing on?”
- Tactile buttons
- For reset and boot functions (programming)
Connectivity & IO
- ESP32-C3 MCU
- Wi-Fi + Bluetooth LE
- Extra GPIOs broken out via 2×3 SMT headers for expansion
- Screw terminal outputs
- For motors, power, and other “don’t-come-loose” connections
Motor Channels Overview
| Channel | Type | Typical Use | Notes |
|---|---|---|---|
| M1 | DC Motor | Main Drive | PWM + DIR via DRV8876 |
| M2 | DC Motor | Turning / Steering | PWM + DIR via DRV8876 |
| BLDC OUT | PWM Signal | Brushless ESC Input | External ESC drives the BLDC motor |
| SERVO OUT | Servo PWM | Steering / Gimbal / Etc. | Standard RC-style servo signal |
How It Works
At a high level:
- You power the board via USB-C, barrel jack, or screw terminals.
- The LM2596 generates a solid 5 V rail, and the AMS1117 creates the 3.3 V rail for the ESP32-C3.
- The ESP32-C3 runs your firmware:
- Reads input from a Bluetooth controller
- Outputs PWM and direction signals to the DRV8876 for the DC motors
- Generates PWM for the BLDC ESC and servo
- Drives the SK6812 RGB LEDs and buzzer to show status and vibes
All the “annoying parts” (power, drivers, IO protection, connectors, etc.) are on the PCB, so you can focus on mechanical design.
Using a Bluetooth Controller
The exact firmware and controller mapping is up to you and some basic stuff is included, but the general idea is:
- Flash your ESP32-C3 firmware that:
- Pairs with a Bluetooth gamepad / controller
- Maps sticks/triggers/buttons to motor speeds and steering
- On startup, the RGB LEDs can:
- Pulse / chase while waiting for a controller
- Turn solid once connected
- Drive your RC car like a normal RC car, but with way more flexibility and hackability.
(You can map “A” to beep the buzzer. You absolutely should.)
RGB LEDs
Because a control board without RGB is just morally wrong.
Possible roles for the 4 SK6812 LEDs:
- LED 1 – Connection status (Bluetooth)
- LED 2 – Mode indicator (normal / config / debug)
- LED 3-4 – User bling (animations, underglow, warnings, etc.)
Or ignore all that and just run full rainbow vomit. No judgment.
Why?
This board exists for that moment when you’ve got:
- An RC chassis
- Some motors
- A pile of batteries
- And zero desire to reinvent “basic motor control + power + Bluetooth” again
It’s meant to be the one board that handles:
- Motors
- Power
- Input
- Feedback
…so you can just design something cool and let this handle the boring electronics.
Contribute
Have ideas? Want a new connector, mode, sample firmware, or just want to roast my layout?
- Open an issue
- Submit a PR
- Or just yell at me on GitHub with suggestions
Disclaimer
This project is open-source, powered by vibes, and tested mostly on my own questionable hardware.
If you:
- Overvolt it
- Reverse the battery
- Strap it to a rocket
- Or send 48 V into something that wanted 5 V
…and it smokes, explodes, or develops sentience, that’s entirely on you.
Happy hacking!
Parts
63| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | LOGO | LOGO | G***, G***, G***, G***, G***, G***, G***, G*** |
| 7 | 0.1uF | imported_components:C0805 | C6, C7, C9, C12, C13, C16, C17 |
| 7 | 10k | imported_components:R0805 | R1, R2, R5, R6, R8, R9, R10 |
| 7 | 10uF | imported_components:C0805 | C2, C3, C4, C5, C8, C14, C18 |
| 4 | SK6812 | LED_SMD:LED_SK6812_PLCC4_5.0x5.0mm_P3.2mm | D2, D4, D5, D6 |
| 3 | MountingHole | MountingHole:MountingHole_3.2mm_M3_Pad_Via | H1, H2, H3 |
| 2 | 0.022uF | imported_components:C0805 | C11, C15 |
| 2 | 5.1k | imported_components:R0805 | R3, R4 |
| 2 | Conn_01x02_Pin | imported_components:CONN-TH_P5.00_KF301-5.0-2P | J5, J6 |
| 2 | Conn_02x03_Odd_Even | imported_components:HDR-SMD_6P-P2.54-V | J3, J4 |
| 2 | DRV8876PWPR | imported_components:HTSSOP-16_L5.0-W4.4-P0.65-LS6.4-BL-EP | U4, U5 |
| 2 | SW_Push | imported_components:SW-SMD_L3.9-W3.0-P4.45 | SW1, SW2 |
| 1 | 1uF | imported_components:C0805 | C10 |
| 1 | 200 | imported_components:R0805 | R7 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U3 |
| 1 | Barrel_Jack | imported_components:DC-IN-TH_DC-005-A200 | J1 |
| 1 | CYA1040-33UH | imported_components:IND-SMD_L11.6-W10.1 | L1 |
| 1 | Conn_01x02 | imported_components:CONN-TH_P5.00_KF301-5.0-2P | J2 |
| 1 | ESP32-C3-MINI-1 | PCM_Espressif:ESP32-C3-MINI-1 | U1 |
| 1 | FST-1230 | imported_components:BUZ-SMD_L12.0-W12.0_FUET-1230 | BUZZER1 |
| 1 | LED | imported_components:LED0805-RD | D3 |
| 1 | LM2596SX-5.0/NOPB | imported_components:TO-263-5_L10.2-W8.9-P1.70-TL | U2 |
| 1 | RVT1E331M0810 | imported_components:CAP-SMD_BD8.0-L8.3-W8.3-LS9.3-FD-1 | C19 |
| 1 | RVT1H470M0607 | imported_components:CAP-SMD_BD6.3-L6.6-W6.6-LS7.6-FD | C1 |
| 1 | SS54_C22452 | imported_components:SMA_L4.4-W2.8-LS5.4-R-RD | D1 |
| 1 | SW_SPDT | imported_components:SW-SMD_MST-12D18G4-SPDT-SLIDE-SWITCH | SW3 |
| 1 | USB_C_Plug | imported_components:USB-C_SMD-TYPE-C-31-M-12 | P1 |
Questions
How big is the Carkit PCB?
It measures 75 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Carkit use?
63 parts, built around the ESP32-C3-MINI-1, AMS1117-3.3, SK6812 and CYA1040-33UH. 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 Carkit KiCad files?
From the SharKingStudios/carkit repository on GitHub, at the commit this page was made from: the board is PCB/carkit.kicad_pcb and its schematic PCB/carkit.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Carkit 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).
More from SharKingStudios/carkit
1- 2 layers75 × 102 mm

Similar boards
- 4 layers100 × 100 mm

- 4 layers267 × 75 mm

Fracture
SharKingStudios/Fracture
An infinitely expandable, velocity sensing split midi keyboard.
208 parts10MIT - 4 layers78 × 86 mm

SJ-201-R10
MycroftAI/hardware-mycroft-mark-II
Mycroft's Mark II Rpi mechanical, electrical and industrial designs
185 parts113 - 4 layers74.1 × 99.3 mm

- 2 layers80 × 55 mm

Im01
amuzdgp3-prog/im-01-pulse-device
Отдельный модуль к системе обслуживания аппаратов 2.apixspb.ru. Устройство слушает импульсные выходы монетоприёмника и купюроприёмника, копит показания в FRAM и дважды в сутки передаёт их на сервер по LTE Cat.1.
108 parts - 2 layers45.3 × 51.3 mm

- 2 layers200 × 109.5 mm

Santas Microfactory - State Manager
SharKingStudios/Santas-Microfactory
A factory game built entirely out of diode transistor logic.
283 partsMIT - 4 layers98 × 48 mm

Esphome pressure
gcormier/esphome-pressure
esphome board with a differential pressure sensor, supporting a variety of power sources
51 parts102