-
Microcontroller Project: Digital Faradmeter
Alright, I got my $10 soldering iron today and put together my USB->UART board, and I was finally able to program my Arduino-compatible ATmega328! You can see what I’m messing around with here: I got all the basic Arduino tutorials running, so I decided to try my hand at something a little tougher: a digital…
-
Electronics Setup
I’m proud to say that my order from SparkFun arrived today: I got tired pretty quickly of trying to get any work done on my already-crowded computer desk, so pulled the trigger on my plan to make some space in my office for a new workspace, and hire an exec to buy a desk from Ikea.…
-
New Projects
I’m not really sure what’s gotten into me lately, but I’ve become very intrigued by the fact that non-professionals like me can build electronic devices that actually do things. Once this new way of thinking has taken over, I’ve noticed all these things that would be cool to build — for instance, as much as…
-
Aside: ASIC conversion
The current state of the Bitcoin mining world seems to revolve around new ASIC-based miners that are coming out, such as from Butterfly Labs. These devices seem to be very profitable investments if you can get your hands on one — this calculator says that the $2,499 50GH/s machine should pay itself off itself off in…
-
FPGA Bitcoin Miner: Improvements
In my last post, I talked about how I did a basic conversion of my bitcoin mining script into verilog for an fpga. The next thing to do, of course, was to increase the mining speed. But first, a little more detail about how the miner works: Overview of a Bitcoin miner The whole Bitcoin…
-
FPGA Bitcoin Miner: First Implementation
So, now that I have a working UART module and a simple bitcoin miner, it’s time to implement SHA256 functionality. Specifically, I’m going to implement the 512-bit per-chunk part of the algorithm, since that seems like a good level of abstraction. There’s some other stuff the algorithm does, such as setting initial values and padding, but in…
-
Building a Processor, Part 8: UART Communication
This is part 8 of my Building a Processor series, where I try to build a processor on an FPGA board. This post is about getting the UART peripheral to work so that I can communicate directly between the board and my computer. Previous: further optimizing the debouncer. In my previous post, I brought up the…
-
Bitcoin
I’m not really sure how it started, but all of a sudden (past 24 hours) I’ve become very interested in bitcoin. Not so much in a “I think it’s the future” kind of way, but more a “there’s a lot of interesting stuff going on and it’s a lot of fun.” I think that sums…
-
Building a Processor, Part 7: Optimization Debugging
This is part 7 of my Building a Processor series, where I try to build a processor on an FPGA board. This post is mostly a continuation of the previous post, about optimizing the debouncer circuit I wrote. Previous: optimizing the debouncer. In the last post, I did what I thought were some cool optimizations to…
-
Building a Processor, Part 6: Optimizing the Debouncer
This is part 6 of my Building a Processor series, where I try to build a processor on an FPGA board. This post is about optimizing part of the circuit that I built in the previous part. Previous: simple counter. In the previous post, I briefly touched on a simple speed optimization that I made to the…