Skip to content

ajohannsen/qaxe

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qaxe

Qaxe is a quad-BM1366 Miner based on the PiAxe and BitAxe.

image

rev1: is tested and operating at about 1.7TH/s average speed.
rev2: working fine with the expected speed of ~1.8TH/s avg after some minor modifications (330µF caps are wrongly placed, see rev3)
rev3: Fixed Caps placement and added Boot-Switch. It should put the STM32 into DFU bootloader but not tested yet.
rev3.1: Added pulldown on PB2 that is needed for booting the USB bootloader
rev3.2: Board got 3mm larger for a perfect fit of low-profile coolers

note: If you have a board with BOOT-button (any rev3) please order the L072 STM32 (BOM has been updated) because usb bootloader is the easiest way to flash the STM.

QAxe+

QAxe+ is a quad-BM1368 Variant. Mining speed is average 2.4TH/s at 55W (measured at 230V)


rev4: QAxe+ with BM1368, working but ASIC reset behaves weird sometimes. Measured performance is 2.4TH/s average with 55W (measured on 230V)
rev4.1: only change is 3 pull-down resistors on NRSTI pins

ASICs

The QAxe uses 4 ASICs of type BM1366.

image

Compilation (Bootloader or CMSIS-DAP)

# install curl
sudo apt install curl

# install rust
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

# add to ~/.bash.rc (afterwards, opening a new terminal is needed)
echo 'source "$HOME/.cargo/env"' >> ~/.bashrc

# clone repository
git clone https://github.com/shufps/qaxe

# clone submodules
cd qaxe
git submodule init
git submodule update

# add rust target for STM32L0 variants
#rustup target add thumbv6m-none-eabi

# or add rust target for STM32L1 variants
rustup target add thumbv7m-none-eabi

# build firmware for L072
cd firmware/fw-L072CB
./build.sh

Installation via USB Bootloader on board with BOOT button

The STM32L072CB variant has an integrated DFU Bootloader that starts when pressing the BOOT button during reset.

Afterwards the firmware can be flashed via dfu-utils:

# install cargo-binutils and llvm tools
cargo install cargo-binutils
rustup component add llvm-tools-preview

# create the firmware.bin
DEFMT_LOG=info cargo objcopy --release --bin qaxe -- -O binary qaxe.bin

# install dfu-utils
sudo apt-get install dfu-util

now start the stm32 in DFU mode by pressing `boot` (only works with the STM32L072CB variant)

# after booting, list the devices
dfu-util --list

# flash the binary
dfu-util -a 0 -s 0x08000000:leave -D qaxe.bin

Installation via CMSIS-DAP Programmer

note: Using CMSIS-DAP and PicoProbe has been turned out to be quite a hassle for people who just want to flash the STM32 once, it's suggested to use the USB bootloader with the STM32 L072CB variant.

As programming/debug adapter the Picoprobe firmware running on a Raspi Pico works best:
https://github.com/rp-rs/rp2040-project-template/blob/main/debug_probes.md / https://github.com/raspberrypi/picoprobe/releases/tag/picoprobe-cmsis-v1.0.3

There also is a little board with only 3 parts that gives a nice low-cost solution to flash the Qaxe:
https://github.com/shufps/raspi-pico-dap

On rev3 there should be the option to boot the stm32 (by pressing the boot-button on reset) into DFU-Bootloader mode what makes flashing via USB and without CMSIS-DAP programmer possible.

Flashing

After the source was compiled it is flashed by:

# build firmware for L072
cd firmware/fw-L072CB
# run firmware (this also flashes it to the stm32)
./run.sh

Mining Client

image

Stratum Mining Client:
https://github.com/shufps/piaxe-miner

Misc

If you like this project and want to support future work, feel free to donate to: bc1q29hp4fqtks2wzpmfwtpac64fnr8ujw2nvnra04

Packages

No packages published

Languages

  • HTML 89.6%
  • Rust 10.4%