Qaxe is a quad-BM1366 Miner based on the PiAxe and BitAxe.
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
The QAxe uses 4 ASICs of type BM1366.
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.
Instructions for flashing using the CMSIS-DAP adapter:
# 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 rev2/3
rustup target add thumbv7m-none-eabi
# or add rust target for rev1
rustup target add thumbv6m-none-eabi
# build firmware for rev2
cd firmware/fw-rev2
# or
cd firmware/fw-rev3
./build.sh
# run firmware (this also flashes it to the stm32)
./run.sh
The STM32L151CC variant has an integrated DFU Bootloader that should be started when pressing the boot
button during reset.
Afterwards it should be possible to flash the firmware without CMSIS-DAP:
# install cargo-binutils and llvm tools
cargo install cargo-binutils
rustup component add llvm-tools-preview
# create the firmware.bin
cargo objcopy --release --bin qaxe -- -O binary qaxe-rev3.bin
# install dfu-utils
sudo apt-get install dfu-util
now start the stm32 in DFU mode by pressing `boot` on the `rev3` board (only works with the STM32L151CC variant)
# after booting, list the devices
dfu-util --list
# flash the binary
dfu-util -a 0 -s 0x08000000:leave -D qaxe-rev2.bin
Stratum Mining Client:
https://github.com/shufps/piaxe-miner
If you like this project and want to support future work, feel free to donate to:
bc1q29hp4fqtks2wzpmfwtpac64fnr8ujw2nvnra04