15 min ยท Beginner

Tutorial: Blink an LED on a real ESP32.

From zero to a blinking GPIO on a physical chip in our lab โ€” without buying hardware, plugging in a USB cable, or installing a single driver.

Before you start
  • A free mychipserver account (sign up takes 30 seconds)
  • arduino-cli or PlatformIO installed locally
  • A terminal โ€” that's it
  1. 1

    Install the CLI

    The mychipserver CLI is a single static binary. Install it with one curl call (or grab a release from GitHub).

    shell
    curl -fsSL https://get.mychipserver.com | sh
  2. 2

    Log in to your account

    This opens a browser tab and stores a short-lived token in ~/.mychipserver/credentials.

    shell
    mychipserver login
  3. 3

    Reserve an ESP32-S3

    Reserving gives you exclusive access to a physical board for the duration of your session.

    shell
    mychipserver reserve --board esp32-s3 --duration 30m
    # โœ“ session  b7f3-4c1e-ae02
    # โœ“ board   esp32-s3-07 ยท online
    Boards are wiped between reservations, so you always start clean.
  4. 4

    Write a tiny blink program

    We'll use Arduino-style C++ for brevity. Save this as blink.ino in a new folder.

    blink.ino
    #define LED_PIN 2
    
    void setup() {
      pinMode(LED_PIN, OUTPUT);
      Serial.begin(115200);
    }
    
    void loop() {
      digitalWrite(LED_PIN, HIGH);
      Serial.println("on");
      delay(500);
      digitalWrite(LED_PIN, LOW);
      Serial.println("off");
      delay(500);
    }
  5. 5

    Build the firmware

    Compile with arduino-cli (or PlatformIO). The CLI doesn't care which toolchain produced the .bin.

    shell
    arduino-cli compile --fqbn esp32:esp32:esp32s3 --output-dir build .
  6. 6

    Flash it to your reserved board

    One command โ€” we handle reset, erase, write, and verify on the real chip.

    shell
    mychipserver flash ./build/blink.ino.bin
    # โœ“ uploaded 412 KB ยท running
  7. 7

    Watch the live UART output

    Stream the board's serial output to your terminal in real time.

    shell
    mychipserver logs --follow
    # on
    # off
    # on
    # off
    Open the Console in the dashboard to also see a live waveform of the LED pin.
  8. 8

    Release the board

    Free the reservation when you're done so others can use it. Or just let your session expire.

    shell
    mychipserver release

That's it โ€” you flashed real silicon.

Next up: try a different board, wire the flash step into your CI, or stream sensor data into a live chart.