-
Notifications
You must be signed in to change notification settings - Fork 165
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #60 from WantClue/master
update readme to bitaxetool
- Loading branch information
Showing
1 changed file
with
37 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,99 +1,67 @@ | ||
[![](https://dcbadge.vercel.app/api/server/3E8ca2dkcC)](https://discord.gg/3E8ca2dkcC) | ||
|
||
|
||
|
||
# ESP-Miner | ||
|
||
| Supported Targets | ESP32-S3 (BitAxe v2+) | | ||
| ----------------- | --------------------- | | ||
|
||
## Requires Python3.4 or later and pip | ||
|
||
## Requires ESP-IDF v5.1 | ||
|
||
You can chose between 2 methods of installations: | ||
|
||
### Manual Installation | ||
|
||
Follow the official [instructions](https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s3/get-started/index.html#manual-installation). | ||
|
||
### ESP-IDF Visual Studio Code Extension | ||
|
||
Install the "Espressif IDF" extension, it will automate the IDF installation for you. | ||
|
||
## Hardware Required | ||
|
||
This firmware is designed to run on a BitAxe v2+ | ||
|
||
## Configure the project | ||
|
||
Set the target | ||
|
||
``` | ||
idf.py set-target esp32s3 | ||
``` | ||
|
||
Use menuconfig to set the stratum server address/port and WiFi SSID/Password | ||
Install bitaxetool from pip. pip is included with Python 3.4 but if you need to install it check <https://pip.pypa.io/en/stable/installation/> | ||
|
||
``` | ||
idf.py menuconfig | ||
pip install --upgrade bitaxetool | ||
``` | ||
|
||
Set following parameters under Stratum Configuration Options, these will define the stratum server you connect to: | ||
|
||
* Set `Stratum Address` to the stratum pool domain name. example "public-pool.io" | ||
|
||
* Set `Stratum Port` to the stratum pool port. example "21496" | ||
|
||
* Set `Stratum username` to the stratum pool username. example "<my_BTC_address>.bitaxe" | ||
|
||
* Set `Stratum password` to the stratum pool password. example "x" | ||
|
||
Set following parameters under Example Connection Configuration Options: | ||
|
||
* Set `WiFi SSID` to your target wifi network SSID. | ||
|
||
* Set `Wifi Password` to the password for your target SSID. | ||
|
||
For more information about the example_connect() method used here, check out <https://github.com/espressif/esp-idf/blob/master/examples/protocols/README.md>. | ||
## Hardware Required | ||
|
||
## Build website | ||
This firmware is designed to run on a BitAxe v2+ | ||
|
||
To build the website for viewing and OTA updates open the Angular project found in | ||
``` | ||
ESP-Miner\main\http_server\axe-os | ||
``` | ||
If you do have a Bitaxe with no USB connectivity make sure to establish a serial connection with either a JTAG ESP-Prog device or a USB-to-UART bridge | ||
|
||
Then install dependencies and build. | ||
## Preconfiguration | ||
|
||
``` | ||
npm i | ||
npm run build | ||
``` | ||
Starting with v2.0.0, the ESP-Miner firmware requires some basic manufacturing data to be flashed in the NVS partition. | ||
|
||
1. Download the esp-miner-factory-v2.0.3.bin file from the release tab. | ||
Click [here](https://github.com/skot/ESP-Miner/releases) for the release tab | ||
|
||
When the esp-idf project is built it will bundle the website in www.bin | ||
2. Copy `config.cvs.example` to `config.cvs` and modify `asicfrequency`, `asicvoltage`, `asicmodel`, `devicemodel`, and `boardversion` | ||
|
||
The following are recommendations but it is necessary that you do have all values in your `config.cvs`file to flash properly. | ||
|
||
## Build and Flash | ||
- recommended values for the Bitaxe 1366 (ultra) | ||
|
||
Build the project and flash it to the board, then run monitor tool to view serial output: | ||
``` | ||
key,type,encoding,value | ||
main,namespace,, | ||
asicfrequency,data,u16,485 | ||
asicvoltage,data,u16,1320 | ||
asicmodel,data,string,BM1366 | ||
devicemodel,data,string,ultra | ||
boardversion,data,string,0.11 | ||
``` | ||
|
||
``` | ||
idf.py -p PORT flash monitor | ||
``` | ||
- recomended values for the Bitaxe 1397 (MAX) | ||
|
||
(To exit the serial monitor, type ``Ctrl-]``.) | ||
``` | ||
key,type,encoding,value | ||
main,namespace,, | ||
asicfrequency,data,u16,475 | ||
asicvoltage,data,u16,1400 | ||
asicmodel,data,string,BM1397 | ||
devicemodel,data,string,max | ||
boardversion,data,string,2.2 | ||
``` | ||
|
||
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects. | ||
## Flash | ||
|
||
## Run Unit tests | ||
The bitaxetool includes all necessary library for flashing the binary file to the Bitaxe Hardware. | ||
|
||
The unit tests for the project use the unity test framework and currently require actual esp32 hardware to run. | ||
The bitaxetool requires a config.cvs preloaded file and the appropiate firmware.bin file in it's executed directory. | ||
|
||
They are located at <https://github.com/johnny9/esp-miner/tree/master/components/stratum/test> | ||
3. Flash with the bitaxetool | ||
|
||
``` | ||
cd ./test/ | ||
idf.py set-target esp32s3 | ||
idf.py -p PORT flash monitor | ||
bitaxetool --config ./config.cvs --firmware ./esp-miner-factory-v2.0.3.bin | ||
``` |