As has been pointed out in other threads, the ESP32 micro-controller used is an extraordinarily poor choice for miners. It is made for use in very simple IoT devices such as sensors, thermostats, wearables, etc. that do not need good performance. Even the maker of them clearly states that. Even the best one only has 2 cores/threads which means that at best it can process hashes and do I/O without having to interrupt the processes
provided the main and I/O threads are programmed to run independently. AFAIK the one used in the BitAxe has only 1 core...
All of that out of the way, does it work? Sure - but when there is a change of work and when it talks to the WiFi things slow down a lot. Because Skot is/was an IoT developer it makes some sense that he'd pick the ESP32 just because he is familiar with it. Unfortunately he did not know that you REALLY need a REAL multi-core/threaded CPU to ensure decent performance so the various processes running do not have to interrupt each other. Even the original RasPi-1 used a more capable chip. ref
https://www.elprocus.com/difference-between-esp32-vs-raspberry-pi/FYI, while the 1st ones from Sidehack will be using the same micro he is already redesigning it to use the Pi Nano to eliminate the processing bottlenecks and also allow using USB along with hardwired LAN connections.edit: struckout comment on redesign.
Sorry for the long quote..
But I'll post some facts so everyone can form their own opinion;
- The average blocktime is 10 min. (600.000ms)
- My single core esp32-c3's need less than 1ms to check (including crc check/difficulty check/stale check) and submit a found nonce.
- The wireless connection has a sub 20ms latency
- Latency to the pool (solo.ckpool.org for me) including the wireless latency is around 50ms
So, according to my poor math due to the very slow esp32 I will get an additional rejected share every 12.000 submitted shares, ... I know, its shocking
In reality my rejected shares are anywhere between 1 in 750 .. 3000 shares submitted (depending on connection/pool load?).
In short: the speed of the controller does not in any way/shape or form matter. You can overload an esp32 by (mis)configuring the asic(s), but why would you do that?
The stats from 1 of my miners;
Hashrate (GH/s)
11d:00h:38m:49s 1 day 1 hour 5 minutes 1 minute 5s
464.71 464.40 463.70 459.41 455.39 450.95
solo.ckpool.org:3333
#connects Difficulty Accepted Rejected Best share Luck
1 1686 61201 46 111857641 1.1x
Asic
Temperature Health Frequency Vcore set Vcore actual Job interval
38.43°C 100.1% 520MHz 1.175V 1.182V 55ms
this is interesting but I believe it is for the 1368 or 1366 chip correct?
the 1370 chip would do 1000 gh or maybe 1100 gh at your freq.
which is double the work. which would mean more rejects .
I am not arguing that for whatever chip you are showing that it is not good enough as it appears that you are doing okay for the older chips.
I am arguing the results do not apply to the newer chips since it is far quicker and does more in the same time.
thus the errors would be double if it scales linear. but since the results are not shown by you info I can't tell if the chip overwhelms the controller and the errors reject go up 3 or 4 or 5 fold not 2x
edit found a heatsink that I can mod I think it is better
marking the drill mount holes
top view this is 50mm by 50mm
will need to cut 4 tabs for each mount corner
you can see the thin rubber washer for 1 mount
these four with the nylon screws will lock the new larger heatsink in place
no rocking this should get me there. with less work than other ideas