Are the contents of a Crown Royal bag fair? No, they never are. What about dice? In a quest for good randomness, [Apo] designed and built an automated die tester. Not only does it shake the die up, it captures images so real, actual statistics can be done on each individual die.
The setup is a n acrylic box made with BoxMaker attached to a 3D printed adapter for a stepper motor shaft. Randomizing the die happens exactly like you think it would: a stepper shakes the box, and a camera underneath takes a picture. With a bit of computer vision, this image can be translated into a number, ready for the statistics package of your choice.
There were only 559 rolls before the 3D printed mess of duck tape fell apart, but a test of the distribution revealed this die to have a 92% probability that it is fair. That’s not good.
Creating a cheating die is much more interesting, and to find out if he could do it, [Apo] stuck a die in an oven at 100° C for a few minutes. Surprisingly, the fairness of the die got better, suggesting it’s possible to correct an un-fair die. Putting it back in the oven after that threw the fairness out of the window but there was still no visual difference between this modified die and the original stock die.
Hardware design enthusiasts should already be salivating just looking at this image. But [Ken Shirriff’s] write-up on how the 8085 processor’s registers were designed will put you in silicon reverse-engineering heaven. He manages to get to the bottom of the tricks the designers used to make register access as efficient as possible, like routing some through the ALU on their path elsewhere.
We’re certainly not experts in studying dies like the one seen above. Luckily [Ken] does a great job of zooming in on important parts, then dissecting how they work by representing the silicone image as a functional flow chart. One of the parts which we found most interesting is the WZ temporary registers. These are a set of internal registers that are not accessible to the programmer. They’re only used internally by the chip. They act as temporary storage for multiple operand functions, and also hold register addresses for a handful of instructions (JMP, CALL, RST, etc.).
If you’re more interested in how images of these chips are attained you should do some searching on Hackaday. Just last week we featured one such project in a links post.
Xbox 360 control for a toy heli
[Jason] leveraged the IR control libraries for Arduino to use an Xbox 360 controller to fly his Syma S107G helicopter.
Windows 7 running on Raspberry Pi
Why, oh god why? Well, the guys at Shackspace got their hands on a laser cutter that can only be driven with a Windows program. Their solution was to run Win7 on RPi as a virtual machine.
Twin-servos for your third hand
After growing tired of constantly flipping over the substrate being held with a third hand [Nidal] came up with a better way. He mounted his third hand on two servo motors so that it can be positioned with a joystick.
Depopulating SMD resistors
If you’ve ever tried to remove small surface mount resistors or capacitors with an iron you know it can be tricky. Take a look at the technique that [Scott] uses to remove the components.
Photographing the die of MSP430, Z80, PIC, and several other chips
Here’s the latest work from [Michail] on photographing the die of various chips. You may remember reading his previous post on decapping chips with boiling sulfuric acid.
This is a microscopic photograph of an 8085 processor die. [Ken Shirriff] uses the image in his explanation of how the ALU works. It is only capable of five basic operations: ADD, OR, XOR, AND, and SHIFT-RIGHT. [Ken] mentions that the lack of SHIFT-LEFT is made up for by adding the number to itself which has the effect of multiplying a number by two; the same mathematical function performed by a shift operation.
His post details the gate arrangement for each ALU operation. This is clear and easy to follow, and was based on reverse engineering work already done by a team who meticulously decapped and photographed the dies.
Not long ago this explanation would have been voodoo to us. But we worked our way through The Elements of Computing Systems text-book by following the online Nand to Tetris course. It really demystifies the inner working of a chip like the 8085.
Now if you really want to understand this ALU you’ll build it for yourself inside of Minecraft.
When a project starts off by heating acid to its boiling point we say no thanks. But then again we’re more for the projects that use ones and zeros or a hot soldering iron. If you’re comfortable with the chemistry like [Michail] this might be right up your alley. He used boiling acid to expose and photograph the die from several integrated circuits.
The title of our feature is a play on words. In this case, die refers to the silicone on which the IC has been etched. To protect it the hardware manufacturer first attaches the metal pins to the die, then encapsulates it in plastic. [Michail] removes that plastic case by heating sulfuric acid to about 300 degrees Celsius (that’s 572 Fahrenheit) then submerges the chips in the acid inside of a sealed container for about forty minutes. Some of the larger packages require multiple trips through the acid bath. After this he takes detailed pictures of the die and uses post processing to color enhance them.
This isn’t the only way to get to the guts of a chip. We’ve seen nitric acid and even tree sap (in the form of bow rosin) do the trick.
[Timothy] is honing his microcontroller skills with this electronic dice project. In addition to giving him an opportunity to work on some code, the use of an 8-pin chip provides a design challenge for driving the twelve pips and providing a user input.
The project started off with some $4 strings of LED Christmas lights. He promptly disassembled the strands, each yielding 100 LEDs. The microcontroller he chose to work with is a PIC 12F629. It’s DIP8 package provides six I/O pins to work with. When examined closely you will find that the pips on a die are always present in pairs with the exception of the center pip. This means that only four pins are needed to drive one die. You can see a pair of transistors above; one is a PNP, the other an NPN. These are both driven from the same uC line, which toggles between the pair of die. This accounts for 5 of the available pins, with the sixth monitoring the push button.
If you needed a reason to dress up for your next Dungeons & Dragons adventure this is surely it. Not only will this attractive wrist adornment go right along with your medieval theme, but the gauntlet doubles as a multi-sided digital die.
Sparkfun whipped up this tutorial which details the build. Yep, they’re hawking their own goods but we must say this is one of the few projects using sewable electronics which we thoroughly enjoy. It calls for several Lilypad modules, including an Arduino board, accelerometer, and slide switches. The switches let you select the number of sides for the die you are about to roll. The accelerometer starts the fun when you shake your wrist back and forth (that’s what she said). The project is powered by a rechargeable battery, which we always like to see, and uses a four-digit seven segment display located where the face of a wristwatch is normally found.
Of course, you could get the shaking action and use no batteries at all if you wish.