explaingit

cshitian/antigravity-task-led

17TypeScriptAudience · developerComplexity · 3/5Setup · hard

TLDR

An IoT project that connects an AI coding assistant in your editor to two physical LEDs on your desk, showing 19 lighting patterns for generating, success, and error states via ESP8266 and a cloud MQTT relay.

Mindmap

mindmap
  root((antigravity-task-led))
    What it does
      Shows AI coding state
      Physical LED feedback
      19 light patterns
    Tech stack
      TypeScript plugin
      ESP8266 chip
      Bemfa MQTT relay
    Hardware needed
      NodeMCU board
      Two LEDs
      220-ohm resistors
    Setup
      Flash Arduino firmware
      Install vsix plugin
      Bemfa account
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Get ambient light feedback on your desk when your AI coding assistant is thinking, done, or stuck.

USE CASE 2

Add a physical status indicator to your VS Code or Antigravity IDE without modifying your code.

USE CASE 3

Experiment with IoT hardware using a cheap WiFi microcontroller connected to a cloud MQTT relay.

Tech stack

TypeScriptArduinoC++ESP8266MQTT

Getting it running

Difficulty · hard Time to first run · 1day+

Requires purchasing an ESP8266 board, wiring two LEDs, creating a Bemfa cloud account, and flashing Arduino firmware before installing the editor plugin.

In plain English

Antigravity Task LED is an IoT project that turns the activity state of an AI coding assistant into physical light signals on your desk. When the AI in Antigravity IDE or VS Code is generating code, finishes successfully, or hits an error, a small circuit with two LEDs, one red and one green, reacts with different lighting patterns in real time. The system works in three stages. An editor plugin monitors the AI's current state. When the state changes, it sends a lightweight HTTP request to a Chinese cloud IoT platform called Bemfa. Bemfa forwards the message over MQTT to an ESP8266 microcontroller, which is a small, inexpensive WiFi-capable chip that drives the two LEDs directly. The project includes 19 different LED patterns, each with its own character. A few examples: alternating breathing, where the two LEDs fade in and out opposite each other, a Tai-Chi S-curve pattern using a third-power sine wave for an unusually smooth crossfade, an ECG simulation that mirrors the shape of a real electrocardiogram, an SOS Morse code sequence, and a radar scan pattern where a slow green sweep transitions into a rapid red lock signal. All patterns are implemented without blocking delays, using a milliseconds-based state machine so the microcontroller stays responsive to new MQTT messages at all times. The hardware requires an ESP8266 development board (such as a NodeMCU), two LEDs with 220-ohm resistors, and a Bemfa account for the cloud relay. Credentials are stored in a separate secrets file excluded from the repository. Setup involves flashing the Arduino firmware to the board, then installing the editor plugin as a .vsix package in your IDE. The project includes complete source code for both the Arduino firmware (580 lines) and the TypeScript editor extension. The README is written in both Chinese and English.

Copy-paste prompts

Prompt 1
I have an ESP8266 NodeMCU and two LEDs. Walk me through flashing the antigravity-task-led firmware and connecting it to Bemfa to show my AI coding status.
Prompt 2
I want to add a new LED animation pattern to antigravity-task-led. Show me how the millisecond-based state machine works and how to add a pattern without blocking delays.
Prompt 3
Help me install the antigravity-task-led .vsix plugin in VS Code and set up the Bemfa credentials so my LEDs react to AI generation events.
Prompt 4
Explain how antigravity-task-led sends AI state changes from the editor through Bemfa HTTP and MQTT to the ESP8266 microcontroller.
Open on GitHub → Explain another repo

← cshitian on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.