Computer memory has taken on many forms over the years, from mercury-based delay-line tubes to handwoven magnetic core. These days, volatile storage using semiconductors has become ubiquitous with computing, but what if there was a better way? [Michael Kohn] has been working on a new standard for computer memory that uses glow in the dark stickers.
Clearly we jest, however we’re still mighty impressed by the demonstration. Eight delightful star-shaped phosphorescent stickers represent eight bits of memory, totaling one byte. The glow in the dark material is stuck to the inside of short cylinders, each of which contains a white LED and a phototransistor. The memory array is wired up to an iceFUN FPGA board, which is then connected via level shifters to a Western Design Center MENSCH single board computer.
Continue reading “Glow In The Dark Computer Memory Illuminates The Fundamentals” →
We’re always on the lookout for unexpected budget builds here at Hackaday, and stumbling across a low-cost, DIY version of an instrument that sells for tens of thousands of dollars is always a treat. And so when we saw a tip for a homebrew gas chromatograph in the tips line this morning, we jumped on it. (Video embedded below.)
For those who haven’t had the pleasure, gas chromatography is a chemical analytical method that’s capable of breaking a volatile sample up into its component parts. Like all chromatographic methods, it uses an immobile matrix to differentially retard the flow of a mobile phase containing the sample under study, such that measurement of the transit time through the system can be made and information about the physical properties of the sample inferred.
The gas chromatograph that [Chromatogiraffery] built uses a long stainless steel tube filled with finely ground bentonite clay, commonly known as kitty litter, as the immobile phase. A volatile sample is injected along with an inert carrier gas – helium from a party balloon tank, in this case – and transported along the kitty litter column by gas pressure. The sample interacts with the column as it moves along, with larger species held back while smaller ones speed along. Detection is performed with thermal conductivity cells that use old incandescent pilot lamps that have been cracked open to expose their filaments to the stream of gas; using a Wheatstone bridge and a differential amp, thermal differences between the pure carrier gas and the eluate from the column are read and plotted by an Arduino.
The homebrew GC works surprisingly well, and we can’t wait for [Chromatogiraffery] to put out more details of his build.
Continue reading “Kitty Litter And Broken Light Bulbs Power This Homebrew Gas Chromatograph” →
Last time on Embed with Elliot we covered the
static keyword, which you can use while declaring a variable or function to increase the duration of the variable without enlarging the scope as you would with a
global variable. This piqued the curiosity of a couple of our readers, and we thought we’d run over another (sometimes misunderstood) variable declaration option, namely the
On its face,
volatile is very simple. You use it to tell the compiler that the declared variable can change without notice, and this changes the way that the compiler optimizes with respect to this variable. In big-computer programming, you almost never end up using
volatile in C. But in the embedded world, we end up using
volatile in one trivial and two very important circumstances, so it’s worth taking a look.
Continue reading “Embed With Elliot: The Volatile Keyword” →