Skip to content

Conversation

@mutatrum
Copy link
Collaborator

@mutatrum mutatrum commented Oct 1, 2025

Migrated Hex 303 support from https://github.com/bitaxeorg/esp-miner-multichip. Changes include:

  • 303 hardware configuration in DeviceConfig.h;
  • Enable TMP1075 for board temperature reading, increased resolution from 8 bit to 12 bit;
  • Added Hex configuration for TPS546;
  • Added EMC2302 fan controller support. Both fans are driven the same, rpm for both fans is shown;
  • Added voltage domain number;
  • Changed how ASIC nr is taken from nonce;
  • Read Measured ASIC Voltage from TPS546, instead of the ADC. This is changed for all devices with TPS546:
    • Ultra 207
    • Supra 402+
    • Gamma
    • Gamma Turbo

🚨 Make sure to unplug the power and cold restart it after the firmware update to fully reset all the peripherals 🚨

Things to do:

  • Verify fan controller (I don't have a PWM fan currently);
  • Verify self test;
  • Properly support second fan header;
  • Generalize function to get ASIC address out of nonce for other chips;
  • Temperature measurements in AxeOS are shown as ASIC Temperature. This should be Board Temperature for the Hex. Not sure how to improve this.

Running 2.10 on Hex:

image image image

@github-actions
Copy link

github-actions bot commented Oct 1, 2025

Test Results

20 tests  ±0   20 ✅ ±0   0s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 82e75af. ± Comparison against base commit c8da4e7.

♻️ This comment has been updated with latest results.

@mutatrum
Copy link
Collaborator Author

mutatrum commented Oct 1, 2025

Self test has an issue:

I (1127) self_test: Running manual self-test
I (1133) display: SSD1306 (128x32)
I (1136) display: Install panel IO
I (1140) display: Install panel driver
I (1146) display: Initialize LVGL
I (1149) LVGL: Starting LVGL task
I (1169) display: Rotation: 180
I (1271) display: Display init success!
I (1271) self_test: DISPLAY init success!
I (1271) input: Install button driver
I (1274) self_test: INPUT init success!
E (6270) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (6270) task_wdt:  - IDLE0 (CPU 0)
E (6270) task_wdt: Tasks currently running:
E (6270) task_wdt: CPU 0: main
E (6270) task_wdt: CPU 1: IDLE1
E (6270) task_wdt: Print CPU 0 (current core) backtrace

@mutatrum mutatrum changed the title Initial support for Bitaxe Hex 303 Support Bitaxe Hex 303 Oct 3, 2025
@mutatrum mutatrum changed the title Support Bitaxe Hex 303 Bitaxe Hex 303 Oct 3, 2025
@mutatrum
Copy link
Collaborator Author

mutatrum commented Oct 6, 2025

Replaced the fan with a Noctua NF-R8 PWM fan. As there's a fairly large difference between the two board temperature sensors, it might make more sense to take the maximum of the two.

image

It looks like the measured RPM is 50% of what it actually is. This fan is rated to a max rpm of 1800.

@mutatrum mutatrum added the enhancement New feature or request label Oct 7, 2025
@mutatrum
Copy link
Collaborator Author

mutatrum commented Oct 8, 2025

Replaced the fan with a Noctua NF-R8 PWM fan. As there's a fairly large difference between the two board temperature sensors, it might make more sense to take the maximum of the two.

It looks like the measured RPM is 50% of what it actually is. This fan is rated to a max rpm of 1800.

Fan controller has been configured properly now, and it takes the highest of the two temperatures. With the fan controller set to 60 °C:

image

The fan controller also starts reporting from 500 RPM, by default it only reported above 1000 RPM.

@chillingbee
Copy link

Really great work so far! It runs really well but one thing i would mention: in the firmware of tch you could see the submission per chip and that was very helpful in the time of building and after... would be great to see that again!

@mutatrum
Copy link
Collaborator Author

Really great work so far! It runs really well but one thing i would mention: in the firmware of tch you could see the submission per chip and that was very helpful in the time of building and after... would be great to see that again!

That will be added later, with #1249. I'm currently working on getting this enabled for the BM1366 and multichip devices.

@duckaxe
Copy link
Contributor

duckaxe commented Oct 16, 2025

What do you think about placing the two temp and fan values side by side (desktop only)? It's much clearer. On mobile and for single values, it remains as before, one below the other.

Before
Before

After
Screenshot

@WantClue
Copy link
Collaborator

Als maybe we need to adjust it for the hex board in the ui, afaik we're not reading just two asic chips. If I remember correctly it's board temp 1 and 2

@mutatrum
Copy link
Collaborator Author

Als maybe we need to adjust it for the hex board in the ui, afaik we're not reading just two asic chips. If I remember correctly it's board temp 1 and 2

In the esp-multichip it's indeed Board Temperature. Will do a simple version for now, but it would be nice to have a bit better system for temp sensors and fan controllers in the future.

@mutatrum
Copy link
Collaborator Author

What do you think about placing the two temp and fan values side by side (desktop only)? It's much clearer. On mobile and for single values, it remains as before, one below the other.

Or split out the temperature and fan bars, so we have 3 panes at the bottom.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants