preset RCAN 1.6 RRN-312118357608

ESP32_Generic_WiFi_Bot

Generic ESP32 development board + motor driver — the WiFi-native evolution of the Arduino L298N combo. The ESP32 runs a WebSocket/REST server firmware that OpenCastor controls over the local network. Supports L298N, L293D, DRV8833, TB6612, or any PWM-based motor driver. Sub-$10 hardware, massive user base.

Scan to install

differentialanthropicrcan-1.6presets

Install with one command:

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

Config (esp32_generic.rcan.yaml)

rcan_version: '1.6'
metadata:
  robot_name: ESP32_Generic_WiFi_Bot
  robot_uuid: 6c48f58e-0b28-4e7e-8008-769cd9ebb4b8
  author: OpenCastor Default
  license: Apache-2.0
  tags:
  - mobile
  - diy
  - esp32
  - wifi
  - websocket
  - makerspace
  - stem
  - generic
  description: 'Generic ESP32 development board + motor driver — the WiFi-native evolution
    of the Arduino L298N combo. The ESP32 runs a WebSocket/REST server firmware that
    OpenCastor controls over the local network. Supports L298N, L293D, DRV8833, TB6612,
    or any PWM-based motor driver. Sub-$10 hardware, massive user base.

    '
  rrn: RRN-312118357608
  rrn_uri: rrn://community/robot/opencastor/esp32-generic-wifi-bot/esp32_generic
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: 2
  chassis:
    wheel_base_mm: 150
    wheel_radius_mm: 33
drivers:
- id: motor_driver
  protocol: esp32_websocket
  host: 192.168.1.200
  port: 81
  endpoint: /ws
  channels:
    left_pwm_gpio: 16
    left_dir_a_gpio: 17
    left_dir_b_gpio: 18
    right_pwm_gpio: 19
    right_dir_a_gpio: 21
    right_dir_b_gpio: 22
  pwm_freq_hz: 5000
  pwm_resolution_bits: 8
  deadband_pwm: 35
- id: ultrasonic_sensor
  protocol: esp32_websocket
  host: 192.168.1.200
  port: 81
  endpoint: /ws
  sensor_type: hcsr04
  trigger_gpio: 5
  echo_gpio: 23
- id: servo_pan
  protocol: esp32_websocket
  host: 192.168.1.200
  port: 81
  endpoint: /ws
  sensor_type: servo
  gpio: 25
  min_us: 500
  max_us: 2500
- id: camera
  protocol: mjpeg_stream
  enabled: false
  url: http://192.168.1.200:80/stream
connection:
  type: websocket
  host: 192.168.1.200
  port: 81
  mdns_name: esp32bot
  reconnect_interval_ms: 2000
  watchdog_timeout_ms: 3000
network:
  telemetry_stream: true
  sim_to_real_sync: false
  allow_remote_override: false
rcan_protocol:
  port: 8000
  capabilities:
  - status
  - nav
  - teleop
  - chat
  enable_mdns: true
  enable_jwt: false
notes:
  firmware: "Flash an ESP32 sketch/runtime that exposes /status (GET), /cmd (POST),\
    \ and /ws (WebSocket) on this host/port. Arduino IDE, PlatformIO, and ESP-IDF\
    \ are all valid paths as long as endpoint contracts match. Commands are JSON:\n\
    \  {\"cmd\":\"drive\",\"left\":200,\"right\":200,\"duration_ms\":500}\n  {\"cmd\"\
    :\"stop\"}\n  {\"cmd\":\"sensor\",\"id\":\"hcsr04\"}\n"
  motor_driver_options:
    l298n: Most common. Needs separate 12V supply. Add flyback diodes.
    l293d: DIP chip. Lower current (600mA). Good for tiny motors.
    tb6612fng: Preferred — efficient, low heat, 1.2A/ch.
    drv8833: Tiny, efficient, 1.5A/ch. Best for small bots.
  second_hand_tips: 'ESP32 dev boards are ~$3-6 on AliExpress. ESP32-WROOM-32 and
    ESP32-S3 are the most common variants. Check makerspace scrap bins, STEM lab donations,
    and Adafruit/SparkFun seconds on eBay.

    '
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
safety:
  local_safety_wins: true
  emergency_stop_distance: 0.4
  estop_bypass_rate_limit: true
  watchdog:
    timeout_s: 10
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