[Brett] was looking for a way to improve on an old binary clock project from 1996. His original clock used green LEDs to denote between a one or a zero. If the LED was lit up, that indicated a one. The problem was that the LEDs were too dim to be able to read them accurately from afar. He’s been wanting to improve on his project using seven segment displays, but until recently it has been cost prohibitive.
[Brett] wanted his new project to use 24 seven segment displays. Three rows of eight displays. To build something like this from basic components would require the ability to switch many different LEDs for each of the seven segment displays. [Brett] instead decided to make things easier by using seven segment display modules available from Tindie. These modules each contain eight displays and are controllable via a single serial line.
The clock’s brain is an ATmega328 running Arduino. The controller keeps accurate time using a DCF77 receiver module and a DCF77 Arduino library. The clock comes with three display modes. [Brett] didn’t want and physical buttons on his beautiful new clock, so he opted to use remote control instead. The Arduino is connected to a 433MHz receiver, which came paired with a small remote. Now [Brett] can change display modes using a remote control.
A secondary monochrome LCD display is used to display debugging information. It displays the time and date in a more easily readable format, as well as time sync information, signal quality, and other useful information. The whole thing is housed in a sleek black case, giving it a professional look.
What time is it? For that matter, what is the date? This clock can tell you both of those things, if only you could read it. The inspiration for this Binary Epoch kit came after a friend of [Maniaclal Labs] built an eight-bit binary clock. That’s a pretty common project that gets riffed on for things like mains-timed logic-driven clocks. They figured why not make it bigger? But even then you can make some sense out of the display after studying it for just a bit, you won’t be much closer to answering those two questions.
The problem is that this is unreadable in a couple of different ways. First off, how long did it take you to figure out in your head the decimal equivalent of the binary number displayed above? We gave up. But pounding the number into Google (search for: 0b01010010000010000001001010010011 in decimal) gives us 1376260755. meaningful? Again, not to a human. This is Unix time, which is the number of seconds elapsed since the Epoch: 8/11/13-22:39:15.
Check out the video below that shows how to set the clock, which uses a menu system for human-friendly input. But since it’s Arduino compatible you can also connect an FTDI cable and program it from a computer. Oh, and since this is Open Source Hardware (note the icon in the lower right) you can get all the info to build (or breadboard) your own from their Github repo.
Here’s another complicated clock that uses Nixie tubes to display time and date info which is actually of use.
Continue reading “Unreadable Binary Epoch clock is unreadable”
There are 2 types of people in the world; those who know binary, those who don’t, and those who know ternary. [Emanuele] thought a binary wristwatch is the pinnacle of nerd and set out to build his own. The resulting binary clock not only screams nerd as intended, but is also a functional time piece, as well.
The idea of a binary wristwatch came to [Emanuele] while he was working with PICs at school. Not wanting to let that knowledge go to waste, he used a PIC16F628 microcontroller for this build. There are four LEDs for the hours and six LEDs for the minutes, each attached to a separate microcontroller pin for easy programming.
To keep time, [Emanuele] kept the PIC in sleep mode most of the time, only waking it up when a an internal timer’s register overflows. The watch spends most of its time sleeping, sipping power from a coin cell battery with a battery life that should last weeks, at least.
The entire circuit is tucked away in a PVC enclosure with a wonderful rainbow ribbon cable band. We’re not so sure about how that feels against the skin all day, but it does exude the nerd cred [Emanuele] was looking for.
If you’re into microcontrollers you know the ability to think and perform math in binary is a must. [Joe Ptiz] has been looking for a way to keep from being distract by the math when coding while still keeping the binary strings in the forefront of his mind. The solution he came up with is to use the Python interpreter as a binary math aide.
We knew that you could use Python to convert between decimal, hexadecimal, and binary. But we failed to make the leap to using it for troubleshooting bit-wise operations. We can see this being especially useful when working with sixteen-bit I/O ports like those found on STM32 chips. For us it’s easy to do 8-bit math in our head, but doubling that is another story.
The image above is one screenshot from [Joe’s] tutorial. This illustrates a few different bit-wise operators given decimal inputs but displaying binary as output. He also illustrates how you can use python to test out equations from C code by first setting the variables, pasting the equation, then printing the result to see if the output is what was expected.
This is the desktop binary clock which [Tim the Floating Wombat] recently finished building. He calls it the Obfuscating Chronoscope since it’s a bit more difficult to read than your traditional analog or digital timepieces. But the simple design looks neat and it’s a great way to learn about board layout and microcontroller code.
He started by solving a few questions about the display technique. He wanted to use as few LEDs as possible. He settled on just four, and to prevent unnecessary confusion, decided to make sure each type of display (seconds, minutes, hours) would have at least one LED on at a time. Hours are easy enough to display, but with just four bits how can minutes be shown? He uses a 5-minute resolution, always rounding up to the next division of five. This way the first bit will be illuminated on the hour.
A PIC 24F16KA102 microcontroller keeps time using its built-in RTC and a clock crystal. It puts itself into deep sleep mode after displaying the time. The black knob at the bottom is a push-button which resets the chip, waking it up just long enough show the time once again.
[Lior Elazary] designed and built this clock to simulate the function of a CPU. The problem is that if you don’t already have a good grasp of how a CPU works we think this clock will be hopelessly confusing. But lucky for us, we get it, and we love it!
Hour data is shown as a binary number on Register A. This is the center column of red parts and is organized with the MSB on the bottom, the LSB on the top, and left-pointing bits function as digital 1. The clock lacks the complexity necessary for displaying any other time data. But that’s okay, because the sound made by the ball-bearing dropping every minute might drive you a bit loony anyway. [Lior] doesn’t talk about the mechanism that transports that ball bearing, but you can see from the video after the break that a magnet on a circular path picks it up and transports it to the top of the clock where gravity is used to feed the registers. There are two tracks which allow the ball to bypass the A register and enter the B register to the right. This works in conjunction with register C (on the left) to reset the hours when the count is greater than 11.
If you need a kickstart on how these mechanical adders are put together, check out this wooden adder project.
Continue reading “Mechanical CPU clock is just as confusing as its namesake”
[Simon Inns] has put together a lesson in digital logic which shows you how to build your own gates using transistors. The image above is a full-adder that he fabricated, then combined with other full adders to create a 4-bit computer.
Don’t know what a full adder is? That’s exactly what his article is for, and will teach you about binary math and how it is calculated with hardware. There’s probably at least a week’s worth of studying in that one page which has been further distilled into the five-minute video after the break. Although building this hardware yourself is a wonderful way to learn, there’s a lot of room for error. You might consider building these circuits in a simulator program like Atanua, where you can work with logic gate symbols, using virtual buttons and LEDs as the outputs. Once you know what you’re doing with the simulator you’ll have much more confidence to start a physical build like the one [Simon] concocted.
Finding this project a little too advanced? Check out our Beginner Concepts articles to help get you up to speed.
Continue reading “Intermediate Concepts: Building discrete transistor gates”