I'm working on a line of standalone miners that use BM1387 and BM1397 ASICs, plus an ESP32-C3. It's been over a year in the making, and I feel ready to create a version for mass production. So, is there actually any interest in this kind of miner?
Here's what I'm thinking for the setup:
- It runs standalone, just needs a 5V/3A USB charger and connects wirelessly.
- Uses a single BM1397 ASIC.
- Hash rate around 200GHs to 250GHs (maybe even higher).
- Power usage from the wall around 8-15W, depending on the charger's efficiency and hash rate.
- I’ll provide my own miner software (it’s open source and in beta, fully functional but the UI needs work) based on Arduino libraries with options for manual voltage and frequency adjustments.
- Not really worth it for anything other than a solo pool, but it’s like a cheap lottery ticket you get a free shot every 10 minutes for as long as you want.
I designed the hardware using parts available on Aliexpress, but to mass-produce it, I’ll need to redesign some components to use parts from mouser.com. Plus, I need to find a company that can produce them finding ASICs from big electronics suppliers is tough. I’m considering seeedstudio.com but haven’t reached out to them yet to check if they can handle sourcing the BM1397s and soldering them onto the PCB.
There’s also an open source version with BM1387 ASICs that I could redesign for mouser parts, which you can build yourself if you’re up for it.
What is the difference between yours and the GekkoScience Compac F?
https://bitcointalk.org/index.php?topic=5355470.0
Things like this are and will always be a hobby project for people to play with but there is nothing wrong with making it and trying to sell it.
Just keep in mind, you will have to support it, and deal with issues with them and so on.
But, it still looks like a cool project.
Post image links, since you are a new users they will not show up in the post but people can quote / click on them.
-Dave
The big difference is that the Compac F needs a computer attached to it to run as it uses cgminer software that requires hefty hardware to run on. My miners are standalone and require no computer.
Some links to my github;
Picture of webinterface of my software https://github.com/rapsacw/Basic-BM1387-miner/blob/main/aSiNine%20ESP%20miner%20v0.01.png
(this runs on the miner)
Github page to hard&software (to be updated soon, I'm only one person doing ALL the work) https://github.com/rapsacw
Such a nice project I'd like to have them but still it depends on the price of this unit and it depends on the specs like how much power this miner can consume (it looks the same as Compac F that can be consumed around 15w).
I like the dashboard the design is very simple and since you said you can connect through wifi and it doesn't need Raspi because the board is Arduino then that's a big advantage compared to Compact F.
So for me, I like it but I don't know if I can afford it that is why like I said it depends on the price of your miner.
It seems the idea comes from Duino mining from Gunther where you can mine Duco?
Welcome back on the forum OP!
Very interesting project.
Yeah, personally I'd be interested in supporting your project and would happily buy a few units from you, I love letting little ASICs like those (usually from Gekkoscience) run solo.
I'd even like to be a reseller in Europe for you if you're interested, if after I've been able to test them everything's OK, I'd be sincerely interested.
I'm currently in the process of learning how to make Bitaxe myself, a DIY sha256 ASIC based on BM1397 created by Skot (who replied to you above) that reminds me a lot of what you're describing. Feel free to check out this Github if you're interested: https://github.com/skot/bitaxe
Don't hesitate to contact me privately if you'd like to chat, and I wish you all the best!
Yes, 15W max as that is the maximum power a usb charger can handle @5V. The miner in the screenshot consumes ~13W from the wall, the efficiency of the charger is 87%, so the miner itself uses ~11.3W at ~250GHs.
You've only seen the polished part of it
The input side is 'rough', to get it working (from 'new') you need to
- Enter your Wifi credentials (the miner turns into an access point if it isn't configured or can't find the configured Wifi, connect to that ap and open page at 192.168.4.1) by entering 'write /wifi.cfg:<ssid> <password>'
- Enter the miner configuration (best after a reboot so you can connect to it over your newly configured wifi) by entering 'write /sys.cfg:<asic type, 1387 or 1397> <#asics in series> <#asic parallel> <Vcore multiplier to convert the adc result into the core voltage>', all this info is hardware (&revision) dependent.
- Enter the pool configuration by entering 'write /pool.cfg:<pool address> <pool port> <user name> <user password> <worker name> <suggest difficulty y or n>'
- Enter the asic settings by entering 'write /asic.cfg:<freq> <voltage in mV>'
Then finally after a reboot the miner will run as configured. Other possible commands are;
- r for reboot
- format to format the internal storage (factory reset)
- type <filename> to show contents of file
- dir
- c to calibrate the core voltage (this is needed as the actual core voltage will drop when you increase the load by increasing the asic's frequency due to droop in the charger, charger cable and pcb traces)
- f+ & f- to increase or decrease the asic frequency in 5MHz steps
- v+ & v- to increase or decrease the core voltage in 5mV steps
- s to save the current asic settings to /asic.cfg so it will reuse these settings after a reboot
Never heard of anything you mentioned here..
Its too early for resellers, first comes the manufacturing, and I've sniffed enough leaded solder and flux in my life to even attempt doing it myself
Bitaxe is cool, I wish Skott all the best. He started his project roughly at the same time as I did, but I only discovered it 6 month ago (I was too busy developing things to search github, although I did search github before I started working on it). His hardware should be easy to implement in my miner software, all that is needed is modifying the routines to use his dac.
Well hello there
I think the potential user base is pretty big. If the power consumption is so low that you can basically not recognize it on your monthly bill, then it would basically be a free nerd lottery where you can just simply run it forever and hope to hit a block.
Do you have any estimates how much such a device would cost to produce and what it would finally cost to sell so it makes sense for you?
I think if you can have such a device for under 100 USD then there is a good chance that it will catch on.
Yes indeed, but even if the price of such an ASIC was well over 100 usd it would sell itself easily. Gekkoscience Compac F offers the same kind of performance (approximately) and can be bought for between 250 and 400 usd depending on the reseller and the time.
It doesn't have to be so cheap to be sold IMO.
In my opinion, the real advantage would be to produce ready-to-sell PCBs and offer DIY kits if you want to sell cheaply, but that would limit the customer base even more.
In any case, as OP said, it's not at that stage yet
But the ESP32-C3 is a computer... All asic miners have one to run the mining software (aka "control" board), they are ARM based, but i assume sooner or later they will switch to RISC-V like you did. China is particularly strongly interested in moving out from arm into risc-v.
So technically you just need to plug the Compac F to one of those SoC solutions via USB and port/compile cgminer to the appropriate architecture or replace it with your own mining software.
I'm curious about the availability of BM1397 at this point, shouldn't you aim for later chips now?
The distinction is that the ESP32 doesn't run Linux. Because of that it can be significantly lower performance, and cheaper. All the while still being a very decent miner for ~6 ASICs
Cgminer is really setup to run on a desktop OS (like Linux, macOS or Windows), and will not easily port to bare metal or an RTOS on the ESP32.
IMO BM1397 is still in the sweet spot of price, performance and efficiency (for people who aren't Bitmain). For example the BM1397 has a higher hashrate per chip and is cheaper in small-ish quantities than the BM1398 (S19) and BM1362 (S19J Pro)
I think 0.2th - 0.25th is and will be for a good period of time enough hashrate to reasonably connect to any mining pool, it's completely fine if I get a valid share every 5 mins instead of every 5 seconds, the pool manages its resources through share difficulty and the hashrate of the device is irrelevant to them, they maintain certain traffic between their server and your miner/proxy by raising/lowering the difficulty.
Now the real question is, what is the price tag? I know you said you don't know, for you to get answers you need to find the answer to that question first, i might be interested in buying a few if it was $50, maybe buy 1-2 if it was $100, ditch the idea altogether if it was $200, so ya, sadly, it all boils down to the price.
My goal would be to bring the pcb to market and let the end user fiddle with the cooling. Cooling will not be hard as the asic is the sole component on the side of the pcb it is mounted on, so different size heatsinks will work. But a plug and play version would be possible too.
I guess the esp's are more than fast enough to handle several asics. I will do some profiling so see what the actual number is.
I think sadly the BM1397 is the last asic suitable for these kind of miners. If you do the math you will find that newer asics need 20A or even 40A to run, and those kind of currents are not easily managed on 2-layer pcb's (or even 4-layers, just look at the current shunts plastered all over antminer hash boards).
Well, the pool needs to send new work every 30s/60s, whether you are mining with 1MH/s or 100PH/s..
The few bytes that get send back from the miner are irrelevant (also I've limited the max. tickets in my software to 3 per minute, but if you compile from source you could remove that limit).
Just think what 1000 of these miners will do for damage, or 10000?
I'm thinking of also creating a simple proxy (also on an ESP) so the pool would only have to supply work to one connection instead of having to waste resources on multiple miners on the same IP address.
Regarding the price; the estimate is nothing more than an estimate, but much more precise than a guess
But I have no idea about margins. Like I said, I don't want to do anything myself regarding manufacturing and sales.
Not sure why you think the data from the miner to the pool is irrelevant, I think it requires more computational resources than the former, and the block template/work sent by the pool is nearly identical to all miners (with some pre-determined minor changes), the submitted shares need to be checked individually and thus probably require a lot more resources.
So while the "traffic size" from the pool to the miner is larger, the "computation power" is higher for the return route, correct me if am wrong.
With that said, we are talking about a few hundred bytes exchanged every "MERKLE_REFRESH_INTERVAL" which is probably 30/60 seconds for most pools, any decent pool should be able to handle hundreds of thousands of miners regardless of their hashrate, I am not aware of any mining pool that requires a minimum hashrate, they all have minimum difficulty and that's all about it, you can mine with a Pentium 1 CPU if you wish, it's all just matter of getting any valid hashes or not.
On a side but related note, posting consecutive posts is against the form rules and might get your posts deleted if someone reports them or a mod sees them, please edit the first post to include the other 2 replies and delete those.
Good luck.
"irrelevant" is badly chosen. I mean it is unavoidable to always have to send work updates, whereas tickets posted by the miner can be avoided by choosing a high difficulty.
I'm no pool operator (obviously), but keeping connections up will use up some memory and every client connected increases the latency. As I don't know the specifics I won't go into that, like I said, maybe CK can answer that.
I'll practice with the 'quote' button more so I'll only post a single reply to a topic instead of a reply to every post I quoted.
Yes indeed the 'ticket mask' decides on nonces returned, and yes you still have to send work every few ms for a number of BM1397.
Alas I'm not sure what this overpowered computer is that you seem to think you need.
For a single BM1397 you can run about a dozen on tiny RPi power
Anyway, that's not the case with an S19 chip - it does work generation in the chip - so you don't have to send work very often at all.
That's about the block generation on the controller, and that's not hard to do even on tiny hardware (to be more specific regarding the esp32-c3; its a single core that also has to do the wireless comms, and the time needed for that depends on the link quality and so does the jitter in block generation timing).
Whoa! This is blowing mind! Is the BM1398 (and BM1362) version rolling on the chip?? I would love to learn more about this.
Or maybe they are ntime rolling? I guess thats a lot easier.
Version rolling is not possible with most (stratum V1) pools; the ticket send back to the pool does not include nversion. ntime is no problem though, but you 'only' gain 60x with that, so you will only have to send work to a single asic @250GHs once for every work from the pool, or even @500GHs on ck's pool (as the work time is now reduced from 60s to 30s). Some sort of block generation will be unavoidable sooner or later unless they do something with the serial interface to make it fast enough (a normal T17 needs a ~1.5Mbaud connection between the asics, so a S19j @120GHs would need roughly 3 times that speed without block generation).
Nearly every stratum pool I have seen supports the version-rolling extension. that adds a version_bits field to mining.submit. afaik It's necessary to support ASICboost.
Where does 60x come from? every 30s is pretty leisurely compared to every 8ms @ 500 GH/s with nonce rolling alone!
120 TH/s over 3 hashboards = 40 TH/s each, which means each hashboard can cover the 32 bit nonce space in 0.1ms. The newer ASICs have more midstates too, so that means bigger job packet. No way serial can keep up. It makes sense that they would include some sort of work generation on-chip. I'm really curious which field they are rolling.