imliubo/codex-micro-4-core2 — explained in plain English
Analysis updated 2026-05-18
Turn an M5Stack Core2 board into a physical Bluetooth controller for ChatGPT Desktop's Codex Micro.
Approve, decline, or fork an AI agent task with physical touchscreen buttons instead of the keyboard.
Use a rotating dial and directional touch controls to navigate ChatGPT Desktop's Codex Micro interface.
Study the project's BLE HID and JSON-RPC implementation as a reference for building similar hardware controllers.
| imliubo/codex-micro-4-core2 | vmx7/rust_pdb | endermo/poggetcore | |
|---|---|---|---|
| Stars | 36 | 36 | 37 |
| Language | C++ | C++ | C++ |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 3/5 | 5/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Only tested on macOS with an M5Stack Core2, PlatformIO, and ChatGPT Desktop's Input Monitoring permission.
This project is firmware, meaning software that runs directly on a piece of hardware, that turns an M5Stack Core2, a small touchscreen development board, into a Bluetooth controller for a feature called Codex Micro inside the ChatGPT desktop app. It is an independent, unofficial project, not made or supported by OpenAI, the maker of the original Codex Micro keyboard, or M5Stack, and it works by mimicking an undocumented Bluetooth protocol that could stop working if ChatGPT Desktop changes. Once flashed onto the device, the Core2's touchscreen shows six programmable Agent Keys used to pick which AI task is active, six Command Keys with default actions like approving or declining a request, forking into a new task, or holding to talk, plus four directions that act like a joystick and a rotating dial with press and hold actions. The exact behavior of these buttons is configured inside ChatGPT Desktop itself rather than on the device, and the screen shows colored borders and simple animations to reflect task status sent from the computer. The device also reports its battery level to the paired computer over Bluetooth. The setup requires an M5Stack Core2 board, a USB-C cable capable of data transfer, and a tool called PlatformIO to build and upload the firmware, plus ChatGPT Desktop with Codex Micro support running on macOS, since that is the only operating system the author tested. After flashing, pairing is done through the normal macOS Bluetooth settings, followed by granting the ChatGPT app permission to monitor input and choosing the button mappings inside its settings. The project only handles the Bluetooth connection to the host computer, it does not connect to the internet itself, and it does not capture or use the Core2's own microphone. The project's documentation is upfront about several limits: it currently supports only macOS, only one Bluetooth connection at a time, and it does not attempt to recreate the original Codex Micro keyboard's USB mode, physical keys, per-key lighting, or firmware update system. It is written in C++ and its code is released under the MIT license.
Unofficial firmware that turns an M5Stack Core2 touchscreen board into a Bluetooth controller for ChatGPT Desktop's Codex Micro feature.
Mainly C++. The stack also includes C++, PlatformIO, Arduino.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.