Analyze hardware signals from I2C to radio in a browser terminal
Reading and writing digital signals begins in your laptop's browser. This project is open-source firmware that turns an ESP32-based board into a multi-protocol analyzer. It inherits Bus Pirate functionality while adding a web-based interface and scripting capabilities for hardware debugging and protocol sniffing.
Hardware interaction ending in the browser
It brings up a web-based CLI in the browser via Wi-Fi, allowing you to talk to devices without cables. If you prefer USB serial connections, it is compatible with existing terminal apps, and in standalone modes like the M5 Cardputer, you can operate it using the device's own keyboard and screen. All three interfaces share the same command structure, so you can switch between them freely depending on your environment.
Modes covering digital and radio protocols
It supports sniffing and data transmission for digital protocols such as I2C, SPI, UART, and 1-Wire. Radio protocols including Bluetooth, Wi-Fi, Sub-GHz, LoRa, and RFID can also be sniffed, analyzed, and retransmitted. It handles a wide range of tasks, including JTAG, CAN bus, infrared (supporting over 80 protocols), and FM radio analysis, and includes built-in tools for specific jobs like EEPROM dumps or flash memory reads. Each mode offers detailed features such as scan, glitch, and slave mode, allowing you to tailor them to your debugging scenarios.
Python scripting and extended hardware
It supports Python scripting to automate repetitive tasks. You can write and test scripts in a browser-based Python Lab and interact with the device via serial. You can handle various tasks with code, such as GPIO control, LED animation, and data logging. Connecting an additional hardware module called Expander enables support for more radio protocols like Wi-Fi 5GHz and Zigbee, while using a Dock allows you to utilize the existing Bus Pirate adapter ecosystem as is.
Supported boards and installation
Most ESP32-S3-based boards are supported, requiring a minimum of 4MB of flash. Various boards are officially supported, including the ESP32 S3 Dev Kit, M5 AtomS3, LILYGO T-Embed, and Heltec WiFi LoRa 32 V4. The firmware can be bundled directly in the browser using a web flasher, or you can use M5Burner. After installation, you can finish the Wi-Fi setup and connect via browser, or connect via USB serial to enter commands immediately.
Safety rules to check before use
This firmware is provided only for educational, diagnostic, and interoperability testing purposes and must not be used to access other devices without authorization or to interfere with signals. Particular caution is required for radio transmissions such as Sub-GHz, as they may violate local regulations or disrupt networks. On the hardware side, you must use only 3.3V or 5V voltage, as connecting peripherals with other voltage levels can damage the ESP32. Legal liability lies with the user, so you must comply with your local laws and responsible disclosure policies.