Do Space Probes Fail Because Of Space Weather?

Over the past few decades, numerous space probes sent to the far-flung reaches of the Solar System have fallen silent. These failures weren’t due to communications problems, probes flying into scientifically implausible anomalies, or little green men snatching up the robotic scouts we’ve sent out into the Solar System. No, these space probes have failed simply because engineers on Earth can’t point them. If you lose attitude control, you lose the ability to point a transmitter at Earth. If you’re managing a space telescope, losing the ability to point a spacecraft turns a valuable piece of scientific equipment into a worthless, spinning pile of junk.

The reasons for these failures is difficult to pin down, but now a few people have an idea. Failures of the Kepler, Dawn, Hayabusa, and FUSE space probes were due to failures of the reaction wheels in the spacecraft. These failures, in turn, were caused by space weather. Specifically, coronal mass ejections from the Sun. How did this research come about, and what does it mean for future missions to deep space?

Continue reading “Do Space Probes Fail Because Of Space Weather?” →

Doing One Thing, Well: The UNIX Philosophy

The Unix operating system has been around for decades, and it and its lookalikes (mainly Linux) are a critical part of the computing world. Apple’s operating system, macOS, is Unix-based, as are Solaris and BSD. Even if you’ve never directly used one of these operating systems, at least two-thirds of all websites are served by Unix or Unix-like software. And, if you’ve ever picked up a smart phone, chances are it was running either a Unix variant or the Linux-driven Android. The core reason that Unix has been so ubiquitous isn’t its accessibility, or cost, or user interface design, although these things helped. The root cause of its success is its design philosophy.

Good design is crucial for success. Whether that’s good design of a piece of software, infrastructure like a railroad or power grid, or even something relatively simple like a flag, without good design your project is essentially doomed. Although you might be able to build a workable one-off electronics project that’s a rat’s nest of wires, or a prototype of something that gets the job done but isn’t user-friendly or scalable, for a large-scale project a set of good design principles from the start is key.

Continue reading “Doing One Thing, Well: The UNIX Philosophy” →

Apollo 12 Was The Lucky Number Among Apollo Disasters

I recently saw Apollo 13 again — this time with the score played live by the Houston Symphony. What a crazy coincidence that thirteen has long been considered an unlucky number and that Apollo 13 would be the one we almost lost. However, Apollo 12 almost became a disaster which — after the ordeal with flight 13 — was largely forgotten.

When all was said and done, Apollo 12 would result in a second manned moon landing in November 1969, just four months after Apollo 11. Commanded by Pete Conrad, Alan Bean accompanied Conrad to the surface while Richard Gordon, Jr. kept the getaway vehicle running. But less than a minute after launch something happened that could have been a disaster. Lightning struck the vehicle.

Continue reading “Apollo 12 Was The Lucky Number Among Apollo Disasters” →

How To Add UART To Your FPGA Projects

Being able to communicate between a host computer and a project is often a key requirement, and for FPGA projects that is easily done by adding a submodule like a UART. A Universal Asynchronous Receiver-Transmitter is the hardware that facilitates communications with a serial port, so you can send commands from a computer and get messages in return.

Last week I wrote about an example POV project that’s a good example for learn. It was both non-trivial and used the board’s features nicely. But it has the message hard coded into the Verilog which means you need to rebuild the FPGA every time you want to change it. Adding a UART will allow us to update that message.

The good news is the demo is open source, so I forked it on GitHub so you can follow along with my new demo. To illustrate how you can add a UART to this project I made this simple plan:

Continue reading “How To Add UART To Your FPGA Projects” →

Ask Hackaday: Managing Inspiration

For most of us, hacking is a hobby, something to pass a few idle hours and satisfy our need to create. Precious few of us get to live the dream of being paid to tinker; most of us need some kind of day job to pay the bills and support our hacking habits. This necessarily creates an essential conflict, rooted in the fact that we all only have 24 hours to spread around every day: I need to spend my time working so I can afford to hack, but the time I spend working to earn money eats away at my hacking time. That’s some catch, that Catch-22.

From that primary conflict emerges another one. Hacking is a hugely creative process, and while the artist or the author might not see it that way, it’s true nonetheless. Unless we’re straight-up copying someone else’s work, either because they’ve already solved the same problem we’re working on and we just need to get it done, or perhaps we’re just learning a new skill and want to stick to the script, chances are pretty good that we’re hitting the creative juices hard when we build something new. And that requires something perhaps even more limiting than time: inspiration. How you manage inspiration in large part dictates how productive you are in your creative pursuits.

Continue reading “Ask Hackaday: Managing Inspiration” →

Intro To Docker: Why And How To Use Containers On Any System

If you have your ear even slightly to the ground of the software community, you’ll have heard of Docker. Having recently enjoyed a tremendous rise in popularity, it continues to attract users at a rapid pace, including many global firms whose infrastructure depends on it. Part of Docker’s rise to fame can be attributed to its users becoming instant fans with evangelical tendencies.

But what’s behind the popularity, and how does it work? Let’s go through a conceptual introduction and then explore Docker with a bit of hands-on playing around.

Continue reading “Intro To Docker: Why And How To Use Containers On Any System” →

GSM Phone Network At EMF Camp Built On Raspberry Pi And LimeSDR

The Electromagnetic Field 2018 hacker camp in the UK will have its own GSM phone network, and as we have already covered its badge will be a fully-functional GSM phone. This is as far as we are aware a first in the world of badges, and though it may not be a first in hacker camp connectivity it is still no mean achievement at the base station side. To find out more we talked to two of the people behind the network, on the radio side Lime Microsystems‘ [Andrew Back], and on the network side Nexmo‘s developer advocate, [Sam Machin].

There are sixteen base stations spread around the site, of which each one is a Raspberry Pi 3 B+ with a LimeSDR Mini. Development of the system was undertaken prior to the release of the Raspberry Pi Foundation’s PoE board, so they take a separate 24V supply which powers the Pi through a DC-to-DC converter. This arrangement allows for a significant voltage drop should any long cable runs be required.

On the software side the base stations all run the Osmocom (Open Source Mobile Communications) cellular base station infrastructure package. It was a fine decision between the all-in-one Osmocom NITB package and the fully modular Osmocom, going for the former for its reliability. It was commented that this would not necessarily be the case at a future event but that it made sense in the present. It appears on the network as a SIP phone system, meaning that it can easily integrate with the existing DECT network. Let’s take a look at how the network operates from the user side, and the licencing loophole that makes everything possible.

Continue reading “GSM Phone Network At EMF Camp Built On Raspberry Pi And LimeSDR” →