preset RCAN 1.6 RRN-610516058522

Freenove_4WD_Smart_Car

Freenove 4WD Smart Car Kit — a popular STEM robot available in Arduino Uno and ESP32 variants. Four DC motors with differential drive, HC-SR04 ultrasonic obstacle avoidance, IR line-following sensors, and optional servo pan camera. Arduino variant controlled via serial JSON; ESP32 variant via WebSocket.

Scan to install

differentialanthropicrcan-1.6presets

Install with one command:

castor install opencastor.com/config/freenove_4wd
Provider
anthropic
Physics
differential
RCAN Version
1.6
Source
presets

Config (freenove_4wd.rcan.yaml)

rcan_version: '1.6'
metadata:
  robot_name: Freenove_4WD_Smart_Car
  robot_uuid: 3a7c818f-ee8e-4ae3-90d0-4e121083df54
  manufacturer: Freenove
  model: 4WD Smart Car Kit
  author: OpenCastor Default
  license: Apache-2.0
  tags:
  - 4wd
  - stem
  - arduino
  - esp32
  - beginner
  description: 'Freenove 4WD Smart Car Kit — a popular STEM robot available in Arduino
    Uno and ESP32 variants. Four DC motors with differential drive, HC-SR04 ultrasonic
    obstacle avoidance, IR line-following sensors, and optional servo pan camera.
    Arduino variant controlled via serial JSON; ESP32 variant via WebSocket.

    '
  rrn: RRN-610516058522
  rrn_uri: rrn://community/robot/opencastor/freenove-4wd-smart-car/freenove_4wd
agent:
  provider: anthropic
  model: claude-sonnet-4-5
  vision_enabled: false
  latency_budget_ms: 100
  safety_stop: true
  offline_provider: ollama
  confidence_gates:
  - scope: control
    min_confidence: 0.75
    on_fail: block
  - scope: safety
    min_confidence: 0.9
    on_fail: block
physics:
  type: differential
  dof: 4
  chassis:
    wheel_base_mm: 130
    track_width_mm: 150
    wheel_radius_mm: 30
drivers:
- id: motor_driver
  protocol: arduino_serial_json
  port: /dev/ttyUSB0
  baud_rate: 115200
  channels:
    fl_pwm: 5
    fl_dir: 4
    fr_pwm: 6
    fr_dir: 7
    rl_pwm: 10
    rl_dir: 9
    rr_pwm: 11
    rr_dir: 12
  deadband_pwm: 30
  max_pwm: 200
- id: ultrasonic_sensor
  protocol: arduino_serial_json
  port: /dev/ttyUSB0
  baud_rate: 115200
  sensor_type: hcsr04
  trigger_gpio: 2
  echo_gpio: 3
  max_range_m: 4.0
- id: line_sensor
  protocol: arduino_serial_json
  port: /dev/ttyUSB0
  baud_rate: 115200
  sensor_type: ir_line
  sensor_pins:
  - A0
  - A1
  - A2
- id: servo_pan
  protocol: arduino_serial_json
  port: /dev/ttyUSB0
  baud_rate: 115200
  sensor_type: servo
  gpio: 8
  min_us: 500
  max_us: 2500
connection:
  type: serial
  port: /dev/ttyUSB0
  baud_rate: 115200
  reconnect_interval_ms: 2000
network:
  telemetry_stream: true
  sim_to_real_sync: false
  allow_remote_override: false
rcan_protocol:
  port: 8000
  capabilities:
  - status
  - nav
  - teleop
  - chat
  enable_mdns: false
  enable_jwt: false
safety:
  obstacle_stop_cm: 15
  estop_on_startup: false
  max_linear_speed_mps: 0.5
  local_safety_wins: true
  emergency_stop_distance: 0.4
  estop_bypass_rate_limit: true
  watchdog:
    timeout_s: 10
notes:
  firmware: "Flash Arduino IDE sketch from Freenove tutorial code. Sketch must accept\
    \ JSON commands on Serial:\n  {\"cmd\":\"drive\",\"fl\":150,\"fr\":150,\"rl\"\
    :150,\"rr\":150,\"ms\":500}\n  {\"cmd\":\"stop\"}\n  {\"cmd\":\"sensor\",\"id\"\
    :\"hcsr04\"}\nESP32 variant: change motor_driver protocol to esp32_websocket and\
    \ set host: \"192.168.4.1\" (AP mode) or your router-assigned IP.\n"
  hardware:
    mcu_option_1: Arduino Uno R3 (serial via USB)
    mcu_option_2: ESP32-WROOM-32 (WiFi WebSocket)
    motor_driver: L298N dual H-bridge
    ultrasonic: HC-SR04
    line_sensors: 3× IR reflective sensor (TCRT5000)
    battery: 7.4V 2S LiPo or 6× AA
  purchase: 'Kit available on Amazon (~$30–50). Includes all hardware, chassis, Freenove
    tutorial code, and detailed PDF guide. Great first robot.

    '
tiered_brain:
  fast_provider: ollama
  fast_model: gemma3:1b
  slow_provider: anthropic
  slow_model: claude-sonnet-4-5
  planner_interval: 10
agent_roster:
- id: nav_specialist
  provider: ollama
  model: gemma3:4b
  scope: nav
- id: chat_specialist
  provider: anthropic
  model: claude-sonnet-4-5
  scope: chat
geofence:
  enabled: false
  boundary:
    type: none
reactive:
  min_obstacle_m: 0.3
  fallback_provider: ollama
cameras:
  main:
    type: http
    url: http://127.0.0.1:8765/snapshot
hardware_safety:
  physical_estop: false
  hardware_watchdog_mcu: false
p66:
  enabled: true
  loa_enforcement: true
  consent_required: true
  manifest:
    estop_qos_bypass: true
consent:
  required: true
  mode: explicit
  scope_threshold: control
security:
  replay_protection:
    enabled: true
    window_s: 30
  signing:
    enabled: false
    algorithm: Ed25519
loa:
  enforcement: true
  min_loa_for_control: 1
human_identity:
  loa_required: 1
transport:
  supported:
  - http
  - mqtt
  constrained_enabled: false
multimodal:
  enabled: true
  max_chunk_bytes: 1048576
offline:
  enabled: true
  fallback_provider: ollama
r2ram:
  scopes:
  - discover
  - status
  - chat
  - control
  - safety
federation:
  enabled: true
  consent_bridge: false
View on GitHub → ← Back to Explore