My requirements for the mining MCUs:
- Cheap (preferably <= $1)
- Available in a DIP package
- Minimize the pin count (preferably 8)
- Can run without an external crystal
- SRAM capacity >= 512 bytes
The first requirement is that the MCU must be available in a DIP package. This pretty much excludes all 32-bit MCU (like the STM32). Hashing relies on 32-bit arithmetic and yes, 8/16-bit MCUs have terrible 32-bit arithmetic performance, but I don't have the equipment necessary to solder SMD parts. Also DIP parts = easier to replace in case of failure.
Second requirement is to minimize the pin count (so that we can cram more MCUs onto one mining board). The best I could do is 8-DIP, and now only the ATtiny series and some PIC MCUs remains.
Third requirement is internal oscillator as I don't want to put a crystal next to every MCUs. Luckily all MCUs nowadays have internal oscillator.
Forth requirement is speed. While some PIC MCUs have very high internal clock speed (some up to 32MHz), they don't correlate to MIPS. A part might run at 32MHz but each instruction takes 125ns, which limits the MIPS to 8MIPS. Fortunately the ATtiny series can run up to 16MHz (with internal oscillator), and also they can do up to 1 instruction per clock cycle.
Fifth is SRAM capacity. I haven't figured out the minimum SRAM capacity needed, but we're amining for about 512 bytes so now only the ATTiny85 remains.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
BTW you can get SSOP-20 breakout boards at less than $0.1 a piece.
https://hackaday.io/project/9469-misc-arm-projects/log/31229-stm32f030-breakout-board
(Broken link for F030. Most of my vendors no longer sell chips.)
Are you sure? yes | no
I've decided to just solder them directly; using breakout boards means wasting a lot of space on the PCB.
Are you sure? yes | no
The big question is whether or not it has enough SRAM for what you need it to do? You can barely mine on GPU with 2GB of VRAM these days.
Are you sure? yes | no
Hi. As long as I avoid memory intensive algorithms (say Scrypt or Ethash), 4KB of SRAM is enough (SHA256d, X11 and its variants)
Are you sure? yes | no
[this comment has been deleted]
Thanks for your suggestion. Yeah the LPC810 do meets some of the requirements but not all of them:
* It's $3 / piece, which turns me off immediately
* No distributors in my country stock it (the LPC series isn't popular here compared to the STM32 series), meaning I'll have to order it from Mouser/Digikey (and pay a hefty $25 for shipping)
* For the first prototype I'd like to start with the ATtiny first as I don't have any experiences regarding the ARM architechture. If things go well then the next step is to replace the ATtiny with any of the Cortex-M microcontrollers.
Actually, talking about ARM, I'm aiming for the STM32F030F4P6. It meets all the requirements (super cheap at $0.7, available at local distributors, 48MHz internal oscillators, 4K SRAM etc etc). The only problem is the 20-TSSOP package, which will probably be a pain to solder. But that looks like a great opportunity to learn SMD soldering I think.
Are you sure? yes | no