Supported Targets | ESP32-S3 |
---|---|
Old Platform | |
----------------- | --------------------- |
Required Platform | ESP-IDF v5.2.X |
----------------- | --------------------- |
This is a forked version of ESP-miner, the original firmware of Bitaxe project developed by @skot/ESP-Miner, @ben and @jhonny.
The current fork supports LVGL library with an UI that works with 8bit parallel screen over TTGO-TdiplayS3
board.
This features unfortunatelly can't be added to the original project because requires specific ESP-IDF version to be built.
Now firmware is up to date with current ESP-miner, so this firmware adds a Display layer
Easyiest way to flash firmware. Build your own miner using the folowing firwmare flash tool:
- Get a TTGO T-display S3
- Get a NerdAxe board
- Go to flasher online tool: https://flasher.bitronics.store/ (recommend via Google Chrome incognito mode)
The bitaxetool includes all necessary library for flashing the binary file to the Bitaxe Hardware.
The bitaxetool requires a config.cvs preloaded file and the appropiate firmware.bin file in it's executed directory.
- Flash with the bitaxetool
bitaxetool --config ./config.cvs --firmware ./esp-miner-factory-nerd101-v2.1.4.bin
You might use Visual Studio Code to build the firmware for NerdAxe. Within Visual Studio Code install ESP-IDF 5.2.x. At the moment you must configure lvgl graphics library using the SDK Configuration Editor to let the project build without any glitches:
- check "Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)."
- check "Enable Montserrat 10"
- check "Enable subpixel rendering."
- check "Use BGR instead RGB for sub-pixel rendering."
Other settings might be left as default.
Starting with v2.0.0, the ESP-Miner firmware requires some basic manufacturing data to be flashed in the NVS partition.
-
Download the esp-miner-factory-v2.0.3.bin file from the release tab. Click here for the release tab
-
Copy
config.cvs.example
toconfig.cvs
and modifyasicfrequency
,asicvoltage
,asicmodel
,devicemodel
, andboardversion
The following are recommendations but it is necessary that you do have all values in your config.cvs
file to flash properly.
-
recommended values for the NerdAxe 1366 (ultra)
key,type,encoding,value main,namespace,, asicfrequency,data,u16,485 asicvoltage,data,u16,1200 asicmodel,data,string,BM1366 devicemodel,data,string,ultra boardversion,data,string,101
Nerdaxe uses same bitaxe API funcitons.
For more details take a look at main/http_server/http_server.c
.
Things that can be done are:
- Get System Info
- Get Swarm Info
- Update Swarm
- Swarm Options
- System Restart Action
- Update System Settings Action
- System Options
- Update OTA Firmware
- Update OTA WWW
- WebSocket
Some API examples in curl:
# Get system information
curl http://YOUR-BITAXE-IP/api/system/info
# Get swarm information
curl http://YOUR-BITAXE-IP/api/swarm/info
# System restart action
curl -X POST http://YOUR-BITAXE-IP/api/system/restart