Autonomous RC Car
A fully-simulated RC car that drives itself, avoids obstacles, survives tilt, listens for remote commands, and displays live telemetry — all running in your browser.
What's in the box
2D Circuit (17 parts, 39 wires)
- Power: 9V battery → power switch → 7805 regulator → 5V rail
- Drive: L298N H-bridge → left + right DC motors → 65 mm wheels
- MCU: Arduino Uno, all pins mapped
- Sensing: HC-SR04 ultrasonic (front), MPU6050 6-axis IMU over I²C
- Status: SSD1306 OLED over I²C, 8-LED NeoPixel strip, 8 Ω speaker
- Comms: HC-05 virtual Bluetooth remote
3D Chassis
- Beveled hollow-box body (140 × 24 × 95 mm)
- Battery bay plate
- Four M3 standoffs for the PCB
- Four revolved-profile tires with proper tread cross-section
- Yellow front bumper
- Cylindrical sensor mast
Sketch
Production-quality control loop with three layers:
- BT override (highest priority) — type commands in the BT panel:
S— emergency stopF— force forwardL/R— force turnA— return to autonomous mode
- Crash detection — MPU6050
ax > 0.6g→ stop, flash orange, beep - Obstacle avoidance — HC-SR04 distance → green/yellow/red speed bands, back-up-and-turn under 12 cm
How to show it off
- Click Run sketch in the Serial panel.
- The World · RC panel (bottom-right) shows the car driving live — yellow triangle on a 4 × 3 m arena with a fading trail.
- Watch the NeoPixel strip change color: green cruising, yellow slowing, red reversing.
- Drop an obstacle in front of the car: click the HC-SR04 part in the 2D canvas and set
distanceCmto8in the inspector. The car stops, backs up, and turns. - Simulate a tilt: click the MPU6050, set
axto0.7. Orange alert + horn. - Remote-control it: type
S,F,L,R,Ain the BT input below the Serial log.
Things to try
- Open the Oscilloscope, probe D5 (ENA), watch the real PWM waveform drive the H-bridge.
- Open the 3D Lab tab — the chassis is built with beveled boxes, array-copied standoffs, mirrored tires using revolve primitives.
- Edit the sketch to add a figure-eight path using the virtual wheel encoders.
- Build a second lab with the same circuit, tune the PID constants for smoother obstacle avoidance.
Why this matters
This demo exercises every simulation layer shipped in ExoSynk:
- MNA solver (DC + transient) handles the L298N + motors + regulator
- Real PWM produces actual pulse edges on
analogWrite - I²C bus model routes MPU6050 accel bytes + OLED text
- Interrupt support (
attachInterrupt) is available for wheel encoders - Vehicle physics integrates differential-drive kinematics
- 3D CAD with bevel, revolve, standoff, hollow-box primitives
- Virtual BT remote for phone-style control without hardware
The same sketch runs on real Arduino hardware with zero changes.
Build it virtually. Ship it physically.