hrithik18k/rc-car-esc-xiao-20261025

A Seeed XIAO ESP32-C3 carrier board interfaces 3.3V PWM outputs to an ESC and steering servo, with 220Ω series/100kΩ pulldown resistors, SS14 5V BEC/USB isolation, and power filtering capacitors.

Version
1.0.1
License
unset
Stars
0

Files

README.md

# RC car ESC carrier

A CarKit-inspired tscircuit receiver carrier for a small hobby car with an **external ESC and steering servo**. This is an adapted architecture, not a component-for-component port of CarKit. Hardware prototype: no fabricated-board, thermal, radio-range or vehicle tests have been performed.

## Design

- 60 x 45 mm, two copper layers; four 3.2 mm mounting holes on a 50 x 35 mm rectangle.
- Socketed Seeed XIAO ESP32C3, with its USB connector facing the USB silkscreen. Fit two 1x7 female headers, 2.54 mm pitch and 15.24 mm row spacing. The module carries its regulator, USB interface and external-antenna connector.
- J1: external ESC, pin 1 GND, pin 2 regulated 5 V BEC input, pin 3 throttle signal.
- J2: steering servo, pin 1 GND, pin 2 5 V, pin 3 steering signal.
- GPIO3 / XIAO D1 drives ESC through R1 (220 ohm). GPIO4 / D2 drives steering through R2 (220 ohm). R3/R4 are 100 kohm pulldowns on the connector signals.
- SS14 isolates the module's 5 V pin from the BEC/servo rail, following Seeed's external-supply guidance. USB must not power the servo rail through this diode.
- C1: 100 uF, >=10 V radial electrolytic, 6.3 mm diameter, 2.5 mm pitch. Positive lead is pin 1. C2: 100 nF >=10 V X7R 0805. C3: 10 uF >=10 V X5R/X7R 0805.
- All traces use 0.3 mm width, including power and ground, routed by tscircuit's native autorouter. This is not a certified current rating.

## Electrical boundaries

Use a regulated **5.0 V BEC**, not raw 2S/3S battery voltage and not a 6/7.4 V high-voltage servo rail. The battery and motor power wiring go directly to the ESC. Select an ESC and servo that explicitly accept 3.3 V logic. Their exact models and stall currents were not provided; compatibility and power-rail capacity require bench verification. If using a separate BEC, remove/isolate the ESC's positive BEC wire so two supplies are never paralleled. Small-servo operation is the intended application; the board has no onboard fuse, high-voltage regulator or level shifter.

Use socket headers to keep the XIAO's underside clear of copper; do not solder the module flat onto this through-hole socket layout. Attach the module's antenna and keep it away from the motor, power wiring and metal enclosure. Confirm mounting hardware and USB-cable clearance against the actual chassis.

## Firmware contract

This deliverable is the PCB, not a tested radio/vehicle firmware release. CarKit's firmware cannot be flashed unchanged: its pin map, motor drivers and accessories differ. Implement wireless reception on the XIAO with GPIO3 throttle and GPIO4 steering. Require neutral before arming, bound pulse widths to the selected ESC/servo specifications, and return to ESC neutral on packet timeout (target <=250 ms), disconnect or reset. Do not assume a missing PWM signal stops every ESC. Test failsafe and reverse/brake behavior with the wheels lifted before running the vehicle.

## Rebuild

The lockfile pins the dependency graph. Bun 1.3.14 was used. Use the project CLI, not an unrelated global installation:

```sh
bun install --frozen-lockfile
bun run typecheck
bun run check:netlist
bun run check:schematic
bun run check:placement
bun run build
bun run check:shorts
```

Inspect `evidence/` for check outputs and `dist/index/` for Circuit JSON and the PCB/schematic previews. No Gerber order package is claimed as fabrication-approved. Review manufacturer DFM and actual parts before ordering.

## Provenance

Selected reference: [SharKingStudios/carkit](https://github.com/SharKingStudios/carkit), inspected revision `ecdaffd242be58c4dedb6fffb19b7cd0871950f9`. It combines external ESC/servo capability, editable PCB files, BOM, firmware and MIT licensing. Credit: Logan Peterson; original MIT notice retained in LICENSE. This simplified carrier changes the MCU packaging, GPIO assignments and power architecture and omits onboard motor drivers, buck converter, LEDs and buzzer.

Other candidates: [Turbo Tornado](https://github.com/thebeekeeper/turbo-tornado) documents real motor-driver revisions but targets brushed motor/solenoid actuation; [alx-uta RC-Receiver](https://github.com/alx-uta/RC-Receiver) uses a dedicated SX1280 radio and is marked WIP; [RC_ControllerJr](https://github.com/crabbedh/RC_ControllerJr) restricts redistribution and was unsuitable for this open-source publication. "Best" here means best fit among the inspected candidates for the requested external-ESC scope, not an exhaustive global ranking.

Manufacturer references: [Seeed pinout/power guide](https://wiki.seeedstudio.com/XIAO_ESP32C3_Getting_Started/), [official XIAO footprints](https://files.seeedstudio.com/wiki/XIAO-KiCad-Library/New_XIAO_Series_Footprints.zip), [Espressif strapping-pin guidance](https://docs.espressif.com/projects/esp-hardware-design-guidelines/en/latest/esp32c3/schematic-checklist.html). Socket hole centers/drills follow the Seeed DIP geometry; the custom footprint intentionally omits its castellated SMT pads because this design uses sockets. GPIO2/8/9 strapping pins are unused.