Skip to content

Commit

Permalink
Merge pull request #60 from WantClue/master
Browse files Browse the repository at this point in the history
update readme to bitaxetool
  • Loading branch information
skot authored Dec 6, 2023
2 parents ef44903 + c35d2e9 commit ab2fe36
Showing 1 changed file with 37 additions and 69 deletions.
106 changes: 37 additions & 69 deletions readme.md
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
```

0 comments on commit ab2fe36

Please sign in to comment.