← Skelly Studio

Set up your ESP32

Install universal firmware once in your browser. No Arduino software or GitHub account needed. Then change routines and scenes over USB without reinstalling.

For 6.5 ft Ultra Skelly v2. Change model in Studio

  1. Connect ESP32

    Plug an original ESP32-WROOM development board with 4 MB flash into your computer using a USB data cable. Close Arduino Serial Monitor and other tabs using its port. Leave Skelly powered off during installation.

    Use desktop Chrome or Edge over HTTPS. ESP32-C3, S2, S3 and ESP8266 boards are unsupported; the installer checks chip family before writing. It cannot identify every module or flash capacity: check your board’s marking/specification.

  2. Install firmware

    This replaces the ESP32 firmware and resets all saved settings and scenes on the ESP32. Keep your working sketch and export profiles/scenes first. To back up an existing universal controller, return to Studio, connect, read saved settings and export scenes. Browser drafts/exports are separate from ESP32 storage.

    No USB port opens until you choose Connect ESP32 & install firmware. Internet is needed to fetch the package and installer.

    Choose the ESP32’s CP2102 / CH340 USB port in the browser prompt, then Install in the dialog. Keep USB connected until it reports completion. This writes only to your ESP32, never firmware to Skelly. Browser flashing is software-tested; physical installation remains Untested.

  3. Configure Skelly

    After the installer reports successful completion, close its dialog to release USB. Then return to Studio and choose Connect ESP32 again. Wait for Ready (up to 45 seconds after a reset).

    Continue to USB configuration →

    Choose your movements, eyes and lights, check the replacement confirmation, then Save this routine. You do not need to create a scene. Use Save scene collection only if you built a collection in Scene builder. Wait for read-back verified, then unplug USB and power on Skelly for an attended check.

    The new factory routine is head only, with optional features OFF. Previously exported settings can be imported and saved again. Flash completion and settings read-back do not confirm physical movement.

Connection or installation trouble
  • No port: use a data cable, try another USB socket, and check the board’s USB-UART driver (CP2102 or CH340). Do not select an unrelated device.
  • Port busy: close Arduino Serial Monitor, other serial apps, Studio USB connections and other installer tabs, then retry.
  • Failed to initialize: hold BOOT while starting the installer; release when it connects. If needed, press EN/Reset once and retry.
  • Unsupported chip: use an original ESP32-WROOM. Do not force a C3/S2/S3/ESP8266 image.
  • Cancelled or interrupted: cancellation before writing changes no firmware. If writing began, reconnect and install the complete package again before using the board.
  • Installed but no Ready: close the installer, press EN/Reset, reconnect in Studio and use Retry identification. A renamed prop may also need its advertised name set in Studio before saving.
  • Unexpected movement, resets or repeated connection failures: power off the ESP32 and Skelly. Keep the logs and restore your known-working ESP32 sketch before resuming.
Advanced · Arduino fallback or local package

Return to Studio → First-time setup → Advanced Arduino fallback for a model-specific universal .ino. Compile/upload using ESP32 Dev Module and Arduino-ESP32 3.3.12, then close Serial Monitor and reconnect in Studio.

Maintainers can instead choose the matching build.json and universal.bin from an extracted reviewed package. Hash matching detects mixed/damaged files; it does not authenticate their publisher. Older packages may omit release identity. The same overwrite notice applies.

Installation details, package provenance & attended checklist →