Personal fork of Duino-Coin ESP_Code — adapted so mining runs on specific boards and hardware I use (displays, touch, pins, etc.).
Not limited to one MCU or screen type. Each device has its own folder under devices/ with a README, settings, and hardware config.
Fork base: upstream ESP_Code 4.3 · network: duinocoin.com
Old repo names (
duino-coin-esp32c3-minitv,duino-coin-esp32c3-displays) redirect here.
| Device | MCU | Notes | Guide |
|---|---|---|---|
| Spotpear ESP32-C3 1.44" Mini TV | ESP32-C3 | ST7735 128×128 | devices/esp32c3-minitv/ |
| ESP32-2424S012 round | ESP32-C3 | GC9A01 240×240, CST816D touch | devices/esp32c3-round128/ |
| LilyGO T-Deck | ESP32-S3 | ST7789 320×240 | devices/lilygo-t-deck/ |
| Heltec WiFi LoRa 32 (V2) | ESP32 | SSD1306 OLED + LoRa | devices/heltec-wifi-lora-32-v2/ |
| LilyGO T-Deck Pro | ESP32-S3 | GDEQ031T10 e-paper | devices/lilygo-t-deck-pro/ |
| LilyGO T-Beam v1.1 | ESP32 | SSD1306 OLED + LoRa + GPS | devices/lilygo-t-beam-v11/ |
Pre-built release firmware (GitHub Releases): devices with firmware.enabled: true in devices/registry.json.
Display comparison (C3 TFT): docs/DISPLAYS.md
Adding another device: docs/ADDING_A_BOARD.md · registry: devices/registry.json · scaffold: bash scripts/new-device.sh <id> "<name>"
No Settings.h? Flash a release binary for the two ESP32-C3 TFT boards — first boot opens WiFi AP Duino-Coin (captive portal).
| Goal | Path | Settings.h? |
|---|---|---|
| Fastest (C3 Mini TV / round) | Flash pre-built .bin |
No |
| Custom code or other boards | Build from source (below) | Yes (or use miner-portal) |
- Download
<device-id>-firmware.binfrom GitHub Releases (e.g.esp32c3-minitv-firmware.bin) - Flash per docs/FLASH.md
- Join
Duino-CoinWiFi and enter home WiFi + Duino-Coin credentials
See firmware/README.md.
-
Clone and open
devices/<id>/README.md -
Sync device profile
copy devices\lilygo-t-deck-pro\Settings.h.example devices\lilygo-t-deck-pro\Settings.h # edit WiFi + username — OR use miner-portal to skip credentials: .\scripts\sync-device.ps1 lilygo-t-deck-pro miner # .\scripts\sync-device.ps1 lilygo-t-deck-pro miner-portal
-
Libraries / TFT setup — device README (
setup-tft-espi.ps1for TFT_eSPI boards) -
Upload —
ESP_Code/ESP_Code.ino
Bring-up first: sync-device.ps1 <id> test → testbench/GenericTest/GenericTest.ino.
duino-coin-devices/
├── ESP_Code/ Shared miner sketch (open ESP_Code.ino here)
├── devices/ Per-device README, Settings, TestConfig, tft_setup, registry.json
│ ├── registry.json
│ ├── esp32c3-minitv/
│ ├── lilygo-t-deck-pro/
│ └── ...
├── testbench/
│ └── GenericTest/ Shared bring-up sketch
├── docs/ Cross-device documentation
├── scripts/ sync-device, build-firmware, new-device
├── firmware/ Pre-built flash images (GitHub Releases)
└── patches/ Library / toolchain fixes
| Path | Purpose |
|---|---|
devices/<id>/ |
Start here — README, Settings.h.example, TestConfig.h.example, tft_setup.h |
devices/registry.json |
Device list, CI firmware matrix, TFT paths |
ESP_Code/ |
Shared miner, DisplayHal.h, board drivers |
testbench/GenericTest/ |
Display-only test before mining |
scripts/sync-device.ps1 |
Copy device profile → active sketches |
bash scripts/new-device.sh <device-id> "<Name>"- Implement shared firmware in
ESP_Code/as needed - Add entry to
devices/registry.json - Document in
devices/<id>/README.mdand list in this README
Full checklist: docs/ADDING_A_BOARD.md
MIT — see LICENSE.