dual-controller-sync

Debug and synchronize I2C communication between Heltec WiFi LoRa 32 and ESP32-CAM.

6|Updated May 18, 2025
One-click install
npx skills add https://github.com/laurigates/mcu-tinkering-lab --skill dual-controller-sync
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dual-controller-sync
Source: https://github.com/laurigates/mcu-tinkering-lab/tree/main/.claude/skills/dual-controller-sync
Command: npx skills add https://github.com/laurigates/mcu-tinkering-lab --skill dual-controller-sync

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you debug and synchronize communication between the robocar main controller and the ESP32-CAM camera module, simplifying dual-ESP32 development.

Core Features & Use Cases

  • Cross-module build & monitoring: Build and monitor both controllers to compare output side-by-side.
  • I2C synchronization guidance: Step-by-step checks for addresses, wiring, and timing to align both devices.
  • Deployment workflow: Clear sequences to flash both modules and verify end-to-end operation.

Quick Start

Build main and camera, then monitor both:

  • Build main: make robocar-build-main
  • Build cam: make robocar-build-cam
  • Monitor main: make robocar-monitor-main PORT=/dev/cu.usbserial-0001
  • Monitor cam: make robocar-monitor-cam PORT=/dev/cu.usbserial-0002

Frequently Asked Questions about dual-controller-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug I2C communication between two ESP32 controllers in a robocar?

I2C debugging between dual ESP32 controllers involves checking 7-bit addressing consistency, verifying wiring, and monitoring timing synchronization. This Skill provides step-by-step verification checks and side-by-side monitoring of both the main controller and ESP32-CAM module to diagnose address conflicts, timing issues, and handshake failures.

How do I build and monitor both the Heltec WiFi LoRa 32 main controller and ESP32-CAM simultaneously?

Build and monitor both controllers using dedicated make commands: build main with `make robocar-build-main` and camera with `make robocar-build-cam`, then monitor each on separate ports using `make robocar-monitor-main` and `make robocar-monitor-cam`. This allows you to compare output side-by-side and identify synchronization problems.

What synchronization mechanisms ensure reliable command exchange between ESP32-CAM and the main robocar controller?

Synchronization relies on consistent 7-bit I2C addressing, verbose logging from both devices, and handshake/timing mechanisms that enforce reliable command and data exchange. The Skill guides you through configuring these mechanisms to resolve timing conflicts and address mismatches across the dual-ESP32 setup.

Can I use this approach to troubleshoot I2C timing and address conflicts in ESP32 projects?

Yes. This Skill applies to any dual-ESP32 setup requiring I2C diagnosis. It enforces consistent addressing, provides monitoring workflows, and includes handshake verification steps applicable beyond robocar projects to general ESP32-to-ESP32 communication troubleshooting.

What's the deployment workflow for flashing and verifying both ESP32 modules in a robocar?

The deployment workflow sequences building both controllers, flashing each to its respective module, then running dual monitors on separate serial ports to verify end-to-end operation. This ensures both the main controller and camera module initialize correctly and exchange data without I2C conflicts.