Basics of Bitcoin Mining Firmware
summary
Bitaxe firmware (ESP minor) runs on an ESP microcontroller using ESP IDF and FreeRTOS to talk over UART, I2C and GPIO to Bitmain-style ASICs; reverse engineering using a logic analyzer and decompiled firmware uncovers the BM1397-frame UART commands from the BM1397 data sheet and the magic initialization bytes. A single ESP can drive roughly 100 ASICs per hashboard, so a full hashboard is ~100 ASICs (~1,000 W, ~30–50 TH/s) and the open firmware works well enough to be a reference device and spawn clones.
AI-written summary · about
chapters (23)
- 0:00Bitcoin mining firmware intro
- 2:10Inside a Bitcoin miner
- 3:56ESP32 as mining controller
- 5:42GPIO I2C UART explained
- 8:14Voltage and fan control
- 10:05Reverse engineering ASIC datasheets
- 11:29Tasks and threads in ESP miner
- 12:36Connecting to mining pool via Stratum
- 15:31Parsing mining notify messages
- 16:54Creating block headers for mining
- 18:01Sending work to ASIC over UART
- 19:48ASIC nonce finding and results
- 21:14Submitting shares to pool
- 22:40Bitcoin mining firmware summary
- 24:08Future firmware improvements
- 26:37Open source mining contributions
- 28:23Q&A on SV2 firmware
- 29:27ASIC recycling sustainability
- 30:34Reverse engineering ASIC comms
- 32:44Version rolling extra nonce
- 33:47Bitmain’s stance on open firmware
- 35:11Protoc chips and NDAs
- 36:16How to contribute
related talks
46mDe-Eveling BitMain with BraiinsOS
27mBlockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded System
42mPorting Linux to a Baseboard Management Controller Asic, Feedbacks and Perspectives
33mBreaking Into Chips By Reading The Datasheet
48mFatal Fury on ESP32: Time to Release Hardware Exploits
36m Hashing the $#!+ out of firmware
37mDIY bitcoin ecosystem
21mThe State of Chips4Makers, an ASIC Service for Makers and Hobbyists
