Now that Im finally shipping the sticks its time to get your rigs ready software wise for them and have an official support point for the sticks. This post will be split in two main sections, one software to go over bfgminer downloads/running etc, and one for the actual hardware instructions.
Before I get started a big THANKS to all of you for making this possible. Its been a fun ride building the software and hardware from ground up for them, and I hope I've added a bit to the Litecoin community and hopefully get a few new miners interested in what Litecoin is all about with these!SOFTWARE:
BFGMINER 5.4.0 Install
I have built a native bfgminer driver for these with support for all of bfgminer’s bells and whistles. All three major systems are supported so you can mine these one whatever flavor of Windows, Linux, or Macs you want!
The driver is open sourced and available in the link below if you want to compile it yourself from the source (which you will have to for linux anyway). I have provided pre-built binaries for Windows and Mac that will work with just one click on a startup script for ease of use.
Driver Repo: https://github.com/jstefanop/bfgminer/tree/futurebit_driver
You will also need to install the latest version of Silicon Labs VPC drivers for Win/Mac OS links below. Windows VPC Driver: https://www.silabs.com/Support%20Documents/Software/CP210x_VCP_Windows.zipMac OS VPC Driver
: https://www.silabs.com/Support%20Documents/Software/Mac_OSX_VCP_Driver.zipWindows pre-built binaries:
compatible with XP/7/8/10https://www.dropbox.com/s/1izgcftaxgqmx99/BFgminer-FutureBit-5.4-win32.zip?dl=0https://www.dropbox.com/s/qn63pkae2pdlulm/BFgminer-FutureBit-5.4--win64.zip?dl=0Mac pre-built binary
: compatible with most 64 bit Macs with Mac OS 10.9 or laterhttps://www.dropbox.com/s/xxkp307ejjdy3qo/BFGminer-5.4-FutureBit-mac64%20.zip?dl=0Linux:
Easiest way to install with linux is to compile the source directly. Detailed instructions below
Install required dependancies (make sure you copy and paste the whole lines since the code is cut off and need to scroll to select all of it)
sudo apt-get install build-essential autoconf automake libtool pkg-config libcurl4-gnutls-dev libjansson-dev uthash-dev libncurses5-dev libudev-dev libusb-1.0-0-dev libevent-dev
(i think thats all of them let me know if i missed one)
git clone --branch futurebit_driver https://github.com/jstefanop/bfgminer.git
configure and make
./configure CFLAGS=-O3 --enable-scrypt --enable-futurebit --disable-other-drivers
If it complains about missing libraries you might need to
sudo make installRunning:
Once you have installed the drivers and bfgminer just plug in the miner to a USB port and double click on the Start_Moonlander file on your Mac/PC. The driver will auto-detect the board and start hashing at the default frequency.
Just edit that same file with a text editor to change pools, add bfgminer options, and change frequency. You can also use the -c flag and load it with your own config file.
For linux just run the full bfgminer command below to start it up or create your own similar scrypt
./bfgminer --scrypt -o stratum+tcp://us.litecoinpool.org:3333 -u jstefanop.1 -p 1,d=8 -S MLD:all --set MLD:clock=144
(you might need to run it as sudo if it complains about permission issues)
Keep in mind that most "ASIC" ports won't work with this miner, since it hashes at the same speed as GPUs from back in the day. So it will take forever to find a share. These can run fine at the lowest difficulty most pools offer which is 16. Just make sure you connecte to a var diff port or one that offers a fixed difficulty of 128 or lower. Frequency:
The MoonLander can run on a very wide range of speed and efficiency, and leaves a lot of tuning up to you guys. Make sure you read up on the Hardware section below where I go more in-depth on frequency and voltage tuning.
The Moonlander has a default frequency setting of 144mhz, and can range from 104mhz to 400mhz.
To change the frequency just edit the number after —set MLD:clock= in the startup scrypt. You cant just put any number you want in there, otherwise it will default to base 104mhz. Between 104-200 mhz you can set the frequency to any number that is a multiple of 8, so 104, 112, 120 are all valid frequencies.
Between 200-400 mhz you can use any number that is a multiple of 16, so 256, 320 etc are all valid.
I don't recommend going past 352 Mhz on these unless you have really good cooling, as they get really unstable past the frequency and need to turn up voltage past 1v. HARDWARE:
The Moonlander consists of a single Scrypt ASIC at its core that operates between 300kh/s to 1MH/s and consumes between 2-10 watts of power.
The ASIC is powered by an adjustable DC-DC buck supply that can output between .7v to 1.1v of core voltage, and is adjustable by turning the onboard potentiometer.
It also features communication LEDs so you can visually see whats going on with the board. The red LED flashes when communication is being sent to the ASIC, and the yellow LED flashes when the ASIC is responding. Lots of yellow flashes is a good thing, it usually means the ASIC has found a share
The board is mounted to the heatsink with a strong thermal adhesive, since this ASIC is designed to dissipate heat through its bottom side. The heatsink is “oversized” for the heat output of the ASIC, but its recommended you always have some sort of airflow over the heatsink fins when its running especially for frequencies over 144 Mhz. You could get away with no airflow if your running it under 144 Mhz. Make sure you touch the heatsink after a few minutes of running...the heatsinks should feel warm to the touch, if they feel really hot you need a stronger fan (if you have a IR temp gun check the top of the ASIC it should not be any hotter than 80C).
Below is a visual of the board for reference (note this is a prototype board but the layout is the same as the production boards). Voltage Adjustment:
You adjust the voltage by turning the Pot clockwise or counterclockwise with a fine flat head or philips screwdriver. This pot is VERY sensitive, the whole .7-1.1v range is within HALF a turn. You must do micro adjustments if you want to do very fine tuning. For example going from .75 - .8 v might take as little as a little torque pressure on the screwdriver even if you don't feel it actually twist.
Make sure you have place the stick horizontal and the USB end is facing LEFT (ie you can read FutureBit Moonlander normally on the board).
To turn the voltage UP
turn the pot CLOCKWISE
, to turn it DOWN
DONT keep turning the POT, it has no stop and if you go past its lowest or highest setting you could break it.
To check the voltage use a multimeter and contact the ground wire to any of the exposed terminals on the output capacitors (circled and labeled ground in the picture), and the positive wire to the terminals on the other side (circled and labeled VCORE). Be extra careful not to short anything as a single short anywhere on the board while its powered will most likely fry it.
The sticks are shipped to you guys with the voltage setting at around .75v, which is good for USB 2 power draw and can hash up to around 200mhz stable.
I would NOT recommend going past 1v, anything in the 1-1.1v range will most likely reduce the lifetime of the ASIC and you will need a strong fan to keep it properly cooled pushing air over the heatsink. Tuning:
Now to the fun part. Your goals here can vary from trying to get the absolute maximum hash rate (at the expense of power), to the absolute lowest hasrate/watt, or find a nice sweet spot.
Tuning any switching transistor based processing unit revolves around supplying enough current so the transistors on the chips actually switch on and off correctly within their cycle times.
The higher the frequency or “switching time” the less time a transistor has to “charge” so you need more current (ie turn up the voltage). If these requirements are not met the transistors don't function properly and you have what you know as a “Hardware Error”
So if you lets say leave the stick at its stock .75 volt setting and try to run it at 300mhz, it will either not start, or it will produce almost 100% hardware errors. So you need to gradually dial up the core voltage until these errors are reduce to a good level.
To get started what you need to know is the optimal hash rate the ASIC will operate at for a given frequency. This ASIC has 54 cores and assuming all cores are active (you might have a couple dead cores which is acceptable) the optimal hash rate is:2.77 KH/s per Mhz
So lets say your running at 208 Mhz, under ideal conditions the stick will operate at 208 * 2.77 = 576 KH/s
This is the target hash rate for a given frequency, and you can adjust the core voltage to meet that.
Keep in mind “zero” hardware errors isn't always the best setting. If your getting a hardware error it does not necessarily mean your missing out on valid shares. A good reference point is to keep HW errors to under 5%, and after running for at least an hour if you see that your hash rate is indeed 5% below target level then you know that your under tuned and need to bring up the voltage a bit.
You can also do voltage adjustment “live” by setting the difficulty really low at your pool so you submit at least a share every second or so. You can then turn the pot up and down and watch the hardware errors as you adjust the voltage in real time.
I think that covers the basic and hope you guys have fun with these!
Ill post up FAQs etc below and edit this post as you guys start playing with them and have questions.