ExoSynk

exosynk/autonomous-rc-car

exosynk/autonomous-rc-car

Autonomous RC Car

Flagship ExoSynk demo — autonomous RC car with L298N drive, HC-SR04 obstacle avoidance, MPU6050 tilt detection, OLED + NeoPixel status, BT remote override, and a beveled 3D chassis.

12 views1 upvote1 fork18 partsUpdated Apr 24, 2026, 11:36 AMCreated Apr 24, 2026

README

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:

  1. BT override (highest priority) — type commands in the BT panel:
    • S — emergency stop
    • F — force forward
    • L / R — force turn
    • A — return to autonomous mode
  2. Crash detection — MPU6050 ax > 0.6g → stop, flash orange, beep
  3. Obstacle avoidance — HC-SR04 distance → green/yellow/red speed bands, back-up-and-turn under 12 cm

How to show it off

  1. Click Run sketch in the Serial panel.
  2. The World · RC panel (bottom-right) shows the car driving live — yellow triangle on a 4 × 3 m arena with a fading trail.
  3. Watch the NeoPixel strip change color: green cruising, yellow slowing, red reversing.
  4. Drop an obstacle in front of the car: click the HC-SR04 part in the 2D canvas and set distanceCm to 8 in the inspector. The car stops, backs up, and turns.
  5. Simulate a tilt: click the MPU6050, set ax to 0.7. Orange alert + horn.
  6. Remote-control it: type S, F, L, R, A in 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.

0 comments

Sign in to join the conversation.
No comments yet. Be the first.