Saturday, November 30, 2013

Reflashing BFL Jalapeno with UDOO

I funded the UDOO kickstarter a while back and received it a few weeks ago. The bot I was planning to put it on already has a controller, so the UDOO now lives a sad life as a BTC mining hub.
JTAG Port Pinout - Jalapeno has silk screen for 1 and 9

Testing the GPIOs on the UDOO manually
I have a couple of Jalapenos which I overpaid for on eBay and are all sold out due to Black Friday, but the prices are going up on BTC and I figured I could make them slightly more desirable for resale by performing a firmware upgrade. There are guides for performing the upgrade using the AVR-Dragon JTAG and the Raspberry Pi. Since the UDOO claims to be 4-Pi's in one it should be more than capable of running urJTAG using the GPIO cable and reflashing. The compilation took a couple of attempts due to the lack of back-up battery on the UDOO, every time I rebooted the time had an epoch reset and make got stuck in an eternal loop, eventually it settled down. You can also apt-get install urjtag, but that version does not have the GPIO cable.
UDOO GPIO pins used

On the UDOO we have a very large selection of GPIO's to choose from, for convenience I selected 4-near the edge - 88,56,105,89 and 144 for reset. Then used the Pandaboard GPIO toggling guide to get into the /sys/class/gpio file structure and quickly test these pins with an LED. The UDOO GPIO's are at 3.3v so it is safe to use them with the Jalapeno. I also colour coded the cables for future reference. Here is the table of the colours and pins on both the UDOO and the Jalapeno. The reset pin can be toggled using the LED testing method above to reset the board if you get stuck, simply output "low" then "high" to GPIO 144.
Cabling between Jalapeno and UDOO
Function Colour Jalapeno  GPIO
RESET Grey 6 144
TCK Yellow 1 89
TDO Purple 3 104
TMS Orange 5 56
TDI Blue 9 88
GND Black 2 GND
Once everything is connected fire up the Jalapeno and reflash it using the JTAG command chain below. I would really like to gather some statistics on the results of the detect command to see which CPU people have.
urJTAG reflashing of Jalapeno AVR
That's it, a great use for the many UDOO GPIO's go crazy and hook up 10 Jalapenos at once and run a reflashing service or send it to me for a reflash. If you found this useful BTC donations are welcome - 1JGoD1muFP5RiGPUWF12ncYz2WreYk35Rh .

Saturday, November 23, 2013

All forms of LTC mining - CPU and GPU (OpenCL/CUDA)

CPU mining is definitely deprecated. You never get the bang for power, unless you have machines with 32 cores and free power. Well at least for BTC. For LTC cpu mining (very slowly) is still feasible. Quite good if you have one of those 32 core - 128GB RAM beasts lying idle, or you are Amazon or Google. Just fire up pooler's minerd and take up a bunch of CPU's. A little bit of math shows EC2 CPU power will not be worth the investment, but with LTC prices heading north of $10 theres is no telling what people will try - including writing minerd into viruses. Amazon might stop EC2 service and start CPU/GPU miners itself.

CGMiner 3.7.2 with scrypt support can also get a fairly good rate on AMD Radeon cards with better OpenCL support. The ROI on these cards is definitely better than any of the miners in hand. Meanwhile people are pay AUD700 for 5GH BFL Jalapenos on ebay and joining the BTC bandwagon. Fun times ahead.

I am enjoying myself trading LTC/BTC and getting cheap thrills on penny stocks. Much better than when my horse (Verema) came last at the Melbourne cup, stumbled fell and had to be put down. I still won for last place. Even if like the horse, this vaporware currencies stumble fall and have to be put down they will leave behind legends and fiat currency millionaires.

Monday, November 18, 2013

Big Mole hill to fill holes - Meshlab

For a few days I was battling holes in a very dense mesh, a taste of which you can find here - Aero3Dpro. Meshlab is pretty handy for working with these, but there was a UI bug in edit_holes plugin preventing sorting of the holes to identify and squash the biggest ones. So in addition to filing a bug I decided to look into it myself.

There was a small run into the Qt change of ownership dilemma, tracking down the tools required some digging. Eventually I tracked down a working source set, had to compile it myself since the x64 binary I was depending on was built without QtScript support which Meshlab uses. By the end of all the trial and error I had 3 versions of Qt kicking around in my system - 4.8.0, 4.8.1 and 4.8.3. At least they all work for various projects.

Time to start writing my own meshlab plugins such as polygon based selection as featured in 3D Studio Max (called Fence Selection) or Cloud Compare(called Manual Segmentation). Also the Edit holes tool can be modified to automatically select larger holes to fill. Fixing up the textures to vertex colour transfer, since only the first texture is sampled -
path = path.left(std::max(path.lastIndexOf('\\'),path.lastIndexOf('/'))+1)
.append(srcMesh->cm.textures[0].c_str());

Also linking up with libLAS to allow LAS format saving with offsets and scale avoiding quantisation errors. More meshlab development to come.

Coming late to the party - Coin mining

Deep in the days of custom built ASIC miner boxes, mining with USB miners and hubs is considered a waste of electricity. Unless of course you are the government and own Three Gorges, still large miners are more efficient. Still I needed to get started and picked up a bunch of now collectors item - Icarus USB miners of eBay. Cgminer makes these really easy to use, with proper modules (in linux) or usb driver substituion with Zadig.

Next comes the fun part, choosing a pool to mine at. All say they are fair and there are so many pay-out algorithms, worth a PhD in economics by themselves for rewarding people for work done. Eligius has the CPPSRB, Bitminter uses PPLNS with donations. Some support all SHA256(SHA256) based coins, both BTC and NMC. Miners practice aggresive pool hopping (and currency hopping) to pick up the one with best luck. Some pools require registration, other just the payout address. All fertile ground for bots to play at.

After playing with BTC for a while I looked into LTC. Since it is still mined on the GPU (with scrypt CGMiner 3.7.2) and has less aggresive speculation. It might also just become irrelevant, but not being mainstream has some allure. Indeed these are the days of panning gold in early California or even closer to home at Eureka. Individuals issuing currency causes some disruption to monetary policy and governance. May be there will a tax put on selling mining ASICs, similar to a mining licence. Overall it is an intersting economic experiment.