Keeping Watch Over The Oceans With Data Buoys

When viewed from just the right position in space, you’d be hard-pressed to think that our home planet is anything but a water world. And in all the ways that count, you’d be right; there’s almost nothing that goes on on dry land that isn’t influenced by the oceans. No matter how far you are away from an ocean, what’s going on there really matters.

But how do we know what’s going on out there? The oceans are trackless voids, after all, and are deeply inhospitable to land mammals such as us. They also have a well-deserved reputation for eating anything that ventures into them at the wrong time and without the proper degree of seafarer’s luck, and they also tend to be places where the resources that run our modern technological society are in short supply.

Gathering data about the oceans is neither cheap nor easy, but it’s critically important to everything from predicting what the weather will be next week to understanding the big picture of what’s going on with the climate. And that requires a fleet of data buoys, outnumbering the largest of the world’s navies and operating around the clock, keeping track of wind, weather, and currents for us.

Continue reading “Keeping Watch Over The Oceans With Data Buoys” →

Beyond The Basics: Exploring More Exotic Scope Trigger Modes

Last time, we looked at some powerful trigger modes found on many modern scopes, including the Rigol DHO900 series we used as an example. Those triggers were mostly digital or, at least, threshold-based. This time, we’ll look at some more advanced analog triggers as well as a powerful digital trigger that can catch setup and hold violations. You can find the Raspberry Pi code to create the test waveforms online.

In addition to software, you’ll need to add some simple components to generate the analog waveform. In particular, pin 21 of the Pi connects to  2uF capacitor through a 10K resistor. The other side of the capacitor connects to ground. In addition, pin 22 connects directly to the capacitor, bypassing the 10K resistor. This allows us to discharge the capacitor quickly. The exact values are not especially important.

Runt Triggers

A runt pulse is one that doesn’t have the same voltage magnitude as surrounding pulses. Sometimes, this is due to a bus contention, for example. Imagine if you have some square waves that go from 0 to 5V. But, every so often, one pulse doesn’t make it to 5V. Instead, it stops at 3V.

Continue reading “Beyond The Basics: Exploring More Exotic Scope Trigger Modes” →

Liftoff! The Origin Of The Countdown

What’s the most thrilling part of rocketry? Well, the liftoff, naturally. But what about the sweet anticipation in those tense moments leading up to liftoff? In other words, the countdown. Where did it come from?

Far from being simply a dramatic device, the countdown clock serves a definite purpose — it lets the technicians and the astronauts synchronize their actions during the launch sequence. But where did the countdown  — those famed ten seconds of here we go! that seem to mark the point of no return — come from? Doesn’t it all seem a little theatrical for scientists?

It may surprise you to learn that neither technicians nor astronauts conceived of the countdown. In their book, “Lunar Landings and Rocket Fever: Rediscovering Woman in the Moon”, media scholars Tom Gunning and Katharina Loew reveal that a little-known Fritz Lang movie called Woman In the Moon both “predicted the future of rocketry” and “played an effective role in its early development”.

Continue reading “Liftoff! The Origin Of The Countdown” →

Game Graphics: Rasterization

Last time, I talked about racing the beam, a type of graphics used when memory was scarce. Now it’s time to step into the future with more memory and talk about what modern 2D games still do to this day: rasterization.

Just in time Memory

Continuing the trend set by racing the beam, rasterized graphics are also on a grid, just a much tinier one. Though not unique to rasterized, the “frame buffer” is the logical conclusion of bitmap mode fidelity: enough memory is allocated so that every pixel can have its own color. What’s different about a frame buffer is that everything is drawn before it is shown and, crucially, this doesn’t have to happen in the same order as the pixels are displayed. Rasterization draws entire shapes — triangles, lines and rectangles — into the frame buffer and the screen is typically updated all at once. Continue reading “Game Graphics: Rasterization” →

Displays We Love Hacking: SPI And I2C

I’ve talked about HD44780 displays before – they’ve been a mainstay of microcontroller projects for literal decades. In the modern hobbyist world, there’s an elephant in the room – the sheer variety of I2C and SPI displays you can buy. They’re all so different, some are LCD and some are OLED, some have a touchscreen layer and some don’t, some come on breakouts and some are a bare panel. No matter which one you pick, there are things you deserve to know.

These displays are exceptionally microcontroller-friendly, they require hardly any GPIOs, or none extra if you already use I2C. They’re also unbelievably cheap, and so tiny that you can comfortably add one even if you’re hurting for space. Sure, they require more RAM and a more sophisticated software library than HD44780, but with modern microcontrollers, this is no problem at all. As a result, you will see them in almost every project under the sun.

What do you need for those? What are the requirements to operate one? What kind of tricks can you use with them? Let’s go through the main aspects.

Continue reading “Displays We Love Hacking: SPI And I2C” →

How Do You Test If An EEPROM Can Hold Data For 100 Years?

Data retention is a funny thing. Atmel will gladly tell you that the flash memory in an ATmega32A will retain its data for 100 years at room temperature. Microchip says its EEPROMs will retain data for over 200 years. And yet, humanity has barely had a good grasp on electricity for that long. Heck, the silicon chip itself was only invented in 1958. EEPROMs and flash storage are altogether younger themselves.

How can these manufacturers make such wild claims when there’s no way they could have tested their parts for such long periods of time? Are they just betting on the fact you won’t be around to chastise them in 2216 when your project suddenly fails due to bit rot.

Well, actually, there’s a very scientific answer. Enter the practice of accelerated wear testing.

Continue reading “How Do You Test If An EEPROM Can Hold Data For 100 Years?” →

FLOSS Weekly Episode 762: Spilling The Tea

Editor’s Note: We’re excited to announce that Hackaday is the new home of FLOSS Weekly, a long-running podcast about free, libre, and open-source software! The TWiT network hosted the podcast for an incredible seventeen years, but due to some changes on their end, they recently had to wind things down. They were gracious enough to let us pick up the torch, with Jonathan Bennett now taking over hosting duties.

Tune in every Wednesday for a new episode, featuring interviews with developers and project leaders, coverage of the free/libre software you use everyday (maybe without even knowing it), and the latest Open Source news.


This week Jonathan Bennett and Simon Phipps talk with Neal Gompa of Fedora, CentOS, openSUSE and more. The conversation starts off with asking Neal how he went from working on a minor project 11 years ago, to being the lead of KDE on Fedora. How does a company properly sponsor Open Source development? Neal speaks from his experience at Red Hat and other places, to give some really interesting answers.

The crew move on to what happened at Red Hat with CentOS, and why just maybe it was a good thing. Is the age of a company a good indicator of how they will treat Open Source? Is CentOS Stream the best thing to happen to Red Hat Enterprise Linux? What was it like to be at Red Hat during that time? How does a company manage the tension between sales and engineering? We cover this and more!

Continue reading “FLOSS Weekly Episode 762: Spilling The Tea” →