Abstract
Spark Miner is an open-source Internet of Things (IoT) project. SparkMiner: A high-performance, open-source ESP32 Bitcoin solo miner. By combining the usability of NerdMinerV2 with the raw speed of BitsyMiner's pipelined assembly, SparkMiner delivers optimized hashrates (~725+ KH/s) to challenge paid firmware alternatives. SparkMiner is optimized firmware for ESP32-based boards with displays, delivering ~1+ MH/s (pool-reported) using hardware-accelerated SHA-256 and pipelined assembly mining. Supports both ESP32 "Cheap Yellow Display" (CYD) boards and ESP32-S3 variants. It is built using C++, Arduino, ESP32. Key capabilities include: CPU: Dual-core Xtensa LX6 @ 240MHz (ESP32), LX7 (S3), or single-core RISC-V (C3); Display: TFT (ILI9341/ST7789) or OLED (SSD1306); Storage: MicroSD card slot (select boards). The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
SparkMiner is optimized firmware for ESP32-based boards with displays, delivering ~1+ MH/s (pool-reported) using hardware-accelerated SHA-256 and pipelined assembly mining. Supports both ESP32 "Cheap Yellow Display" (CYD) boards and ESP32-S3 variants.
2. Objective
SparkMiner: A high-performance, open-source ESP32 Bitcoin solo miner. By combining the usability of NerdMinerV2 with the raw speed of BitsyMiner's pipelined assembly, SparkMiner delivers optimized hashrates (~725+ KH/s) to challenge paid firmware alternatives.
This project demonstrates how C++, Arduino, ESP32 can be applied to a real-world Internet of Things (IoT) problem.
3. Key Features / Modules
- CPU: Dual-core Xtensa LX6 @ 240MHz (ESP32), LX7 (S3), or single-core RISC-V (C3)
- Display: TFT (ILI9341/ST7789) or OLED (SSD1306)
- Storage: MicroSD card slot (select boards)
- Connectivity: WiFi 802.11 b/g/n
- RGB LED: Status indicator (S3 Mini, Headless-LED boards)
- GPIO LED: Simple blink status indicator (Headless boards, pin 2)
- Button: Boot button for interaction
4. Technology Stack
- CPU: Dual-core Xtensa LX6 @ 240MHz (ESP32), LX7 (S3), or single-core RISC-V (C3)
- Display: TFT (ILI9341/ST7789) or OLED (SSD1306)
- Storage: MicroSD card slot (select boards)
- Connectivity: WiFi 802.11 b/g/n
- RGB LED: Status indicator (S3 Mini, Headless-LED boards)
- GPIO LED: Simple blink status indicator (Headless boards, pin 2)
- Button: Boot button for interaction
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C++ compiler (g++)
- Target board (e.g. Arduino, ESP32) where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/SneezeGUI/SparkMiner.git
cd SparkMiner- --host (default: 192.168.4.1) — IP or hostname of the SparkMiner AP
- --ssid — WiFi SSID to connect to
- --wifi-password — WiFi password
- --wallet — Bitcoin wallet address
- --worker — Worker name (default: SparkMiner)
- --pool-url — Pool host (default: public-pool.io)
- --pool-port — Pool port (default: 21496)
- --brightness — Display brightness (0-100)
python scripts/config_miner.py --host 192.168.4.1 --ssid "YourWiFi" --wifi-password "YourPass" --wallet "bc1q..." [other options]Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by SneezeGUI and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship