Moving Software Down To Hardware

In theory, any piece of software could be built out of discrete pieces of hardware, provided there are enough transistors, passive components, and time available. In general, though, we’re much more likely to reach for a programmable computer or microcontroller for all but the simplest tasks for several reasons: cost, effort, complexity, economics, and sanity. [Igor Brichkov] was working with I2C and decided that he wanted to see just where this line between hardware and software should be by implementing this protocol itself directly with hardware.

One of the keys to “programming” a communications protocol in hardware is getting the timing right, the first part of which is initializing communications between this device and another on the bus. [Igor] is going to be building up the signal in parts and then ORing them together. The first part is a start condition, generated by one oscillator and a counter. This also creates a pause, at which point a second oscillator takes over and sends data out. The first data needed for I2C is an address, which is done with a shift register and a counter pre-set to send the correct bits out on the communications lines.

To build up the rest of the signal, including data from the rotary encoder [Igor] is using for his project, essentially sets of shift registers and counters are paired together to pass data out through the I2C communications lines in sequence. It could be thought of that the main loop of the hardware program is a counter, which steps through all the functions sequentially, sending out data from the shift registers one by one. We saw a similar project over a decade ago, but rather than automating the task of sending data on I2C it allowed the user to key in data manually instead.

Continue reading “Moving Software Down To Hardware”

Clever Circuit Makes Exercise Slightly Less Boring

We say this with the greatest respect, but [Joel] — your exercise routine is horrible! Kudos for getting up and doing something, but 108 trips up and down the stairs? That sounds like torture, not exercise. Even [Joel] admits that it’s so boring that he loses count, and while we’d bet that he isn’t likely to restart the routine when that happens, it’s still annoying enough that he built this clever little lap counter to automate the task.

We kid, of course; any exercise is better than no exercise, and the stairs offer few excuses for skipping the daily workout. To bust the boredom problem, [Joel] toyed with a couple of ideas for toting up his laps before landing on a beam-break optical system with sensors at the top and the bottom of the stairs. Worried about the potential for false triggering by swinging arms and legs, he searched for ideas for bounceless switch circuits in the old “Engineer’s Notebook” by [Forrest Mims] and found a circuit close enough to modify for his needs. Each sensor setup has a high-output red LED and a phototransistor on one side of the stairwell, and a retroreflector on the opposite wall. Breaking the beam switches off the LED on that sensor and switches the other one on, to save on battery power.

The sensor’s flips and flops are counted and displayed on a three-digit seven-segment LED; [Joel] offers no detail on the counter itself, but with [Mims] as his muse, we suspect it’s something like the three-digit BCD counter circuit a few pages on from the bounceless switch circuit. The lap counter is shown in action in the brief video below.

Continue reading “Clever Circuit Makes Exercise Slightly Less Boring”

Celebrating The [Jack Ells] Automatic Photometric Telescope

Here at Hackaday, we take pride in presenting the freshest hacks and the best of what’s going on today in the world of hardware hacking. But sometimes, we stumble upon a hack from the past so compelling that we’ve got to bring it to you, so we can all marvel at what was possible in the Before Times.

This one, a completely homebrewed automatic photometric telescope, was designed and built by the father-son team of [Jack Ells] and [Peter Ells]. From the elder [Ells]’ field notes, the telescope saw its first light in 1988, giving us some idea of the scale of problems that had to be overcome to get this wonderful machine working. The optics are straightforward, as least as telescopes go — it’s an f-4.0 Newtonian reflector with an 8.5″ (221 mm) primary mirror on an equatorial mount. The telescope is very rugged-looking indeed, and even stands on brick piers for stability. The telescope’s mount is controlled by a BBC Micro running custom BASIC software.

For the photometric parts, the [Ells] boys installed a photo-multiplier tube at the focus of the telescope. More precisely, they used a liquid light guide to connect the eyepiece to a rack full of equipment, which included the PM tube, its high-voltage power supply, and a series of signal conditioners and counter circuits. The idea was to view a single star through a pinhole mask over the objective of the telescope and count the rate of photons received over time. Doing so would reveal periodic changes in the star’s brightness. Today we’d use similar data to search for exoplanet transits; while we don’t think that was a thing back in 1988, it looks like this telescope could easily have handled the job.

Sadly, [Jack Ells] died only two years after finishing the telescope. But he left it with his son, who eventually moved it to a location with better seeing conditions, where it gathered data for another eight years. The quality of the work is amazing, and as father-son projects go, this one is tough to beat.

Continue reading “Celebrating The [Jack Ells] Automatic Photometric Telescope”

Homebrew Computer From The Ground Up

Building a retro computer of some sort is a rite of passage for many of us, with some building replicas or restorations of old Commodores, Ataris, and other machines from decades past. Others go even further back, to the time of the Intel 8008 or earlier, and a dedicated few will build something completely novel. This project from [3DSage] falls squarely in the latter category, with his completely DIY computer built component by component from scratch, including the machine code needed to run it.

[3DSage] starts with the backbone of every computer: the clock. He first demonstrates how a pair of NOT gates with a set of capacitors can be used as a rudimentary clock pulse, then builds a more refined version with a 555 timer and potentiometer for adjustable rates. Then, it’s on to creating a binary counter, which is a fundamental part of the memory system for this small computer, and finally, allows this circuitry to behave like a normal computer. Using a set of switches to store values in memory and stepping through them with the clock, the computer can be programmed to do plenty of tasks just like a modern microcontroller.

[3DSage] built this project a few years ago and has used it for real-world applications such as controlling servos, LED arrays, playing music, and other tasks. Although he has to program it using his own machine code by hand, it’s a usable computer in many ways. If you want to eschew modernity and build a retro computer in the style of the 1960s, though, this piece goes through what it would have been like to build a similar system in the era when these computers were more common. If you have a switch fetish, you might like to see how real computers worked back then, too.

Continue reading “Homebrew Computer From The Ground Up”

This Block Of Rubber Can Count To Ten

Complex behaviors can arise from simple mechanics, and that’s demonstrated by a block of rubber that acts as a counter.

The block contains beams, and by controlling how the block is compressed, the vertical beams shift in a stable and consistent way, acting as a mechanical counter. It’s a straightforward implementation of the work of two physicists from the Netherlands: [Martin van Hecke] and [Lennard Kwakernaak].

This device brings flexures to mind, which are also examples of obtaining complex and useful behavior from seemingly simple objects. We’ve seen flexures used as latches and counters, and we’ve seen 3D printed flexures as a kind of linear actuator.

You can check out the research paper for more details on the rubber beam counter. [Kwakernaak] aims to create a much more complex structure with elements that interact across a plane instead of in a single direction. Such a device would, in effect, be a simple computer.

Watch the beam counter in action in the short video embedded below. See how the elements of the green rubber block move while constrained by an outer frame that helps control the force that is applied. The thin beams flip from left to right, one at a time with each press.

Continue reading “This Block Of Rubber Can Count To Ten”

Op-Amp Challenge: A Logic-Free BCD

Of digital electronics, a wise man once said that “Every idiot can count to one.” Truer words have rarely been spoken, because at the end of the day, every digital circuit is really just an analog circuit with the interesting bits abstracted away. And to celebrate that way of looking at things, we’re pleased to present this BCD to seven-segment converter that uses no logic chips.

With cheap and easily available chips that perform this exact job, it might seem a little loopy to throw 20 LM324 op-amps at the job. But as [gschmidt958] explains, this is strictly for the challenge, plus it made a nice entry in the recently concluded Op-Amp Challenge contest. His work began in simulation, exploring op-amp versions of the basic logic gates — NAND, AND, OR, and NOT — all of which rely on using the LM324s as comparators. There were real-world curveballs, of course, not least of which was running out of the 10k resistors used for input averaging. Another plot twist was running out of time to order a PCB, which required designing one using MS Paint and etching it at home.

The demo video below shows the circuit at work, taking the BCD output of a 74HC393 counter — clocked by a 555, naturally — and driving a seven-segment LED.  It’s honestly a lot of work for such a simple task, but there’s something satisfying about the whole project. We think [Widlar] would be proud.

Continue reading “Op-Amp Challenge: A Logic-Free BCD”

Automatic Coin Sorter Brings Order To Your Coin Jar

Few things hold as much promise as the old coin jar. Unfortunately, what’s generally promised is tedium, as one faces the prospect of manually sorting, counting, and rolling the accumulated change of cash transactions past. Unless, of course, you’ve got a fancy automatic coin sorter like this one.

True, many banks have automatic coin sorters, but you generally have to be a paying customer to use one. And there’s always Coinstar and similar kiosks, but they always find a way to extract a fee, one way or another. [Fraens] decided not to fall for either of those traps and roll his own machine, largely from 3D-printed parts. The basic mechanism is similar to that used in commercial coin counters, with an angled bowl rotating over an array of holes sized to fit various coins. Holes in the bottom of the feed bowl accept coins fed from a hopper and transport them up to the coin holes. The smallest coins fall out of the bowl first, followed by the bigger coins; each coin drops into a separate bin after passing through an optical sensor to count the number of each on an Arduino. Subtotals and a grand total of the haul are displayed on a small LCD screen. The video below shows the build and the sorter in operation.

[Fraens] built this sorter specifically for Euro coins, but it should be easy enough to modify the sorting slots for different currencies. It’s not the first coin sorter we’ve seen, of course, and while we applaud its design simplicity and efficient operation, it can’t hold a candle to the style of this decidedly less practical approach.

Continue reading “Automatic Coin Sorter Brings Order To Your Coin Jar”