Even More Firmware In Your Firmware

There are many ways to update an embedded system in the field. Images can fly through the air one a time, travel by sneaker or hitch a ride on other passing data. OK, maybe that’s a stretch, but there are certainly a plethora of ways to get those sweet update bytes into a target system. How are those bytes assembled, and what are the tools that do the assembly? This is the problem I needed to solve.

Recall, my system wasn’t a particularly novel one (see the block diagram below). Just a few computers asking each other for an update over some serial busses. I had chosen to bundle the payload firmware images into the binary for the intermediate microcontroller which was to carry out the update process. The additional constraint was that the blending of the three firmware images (one carrier and two payload) needed to happen long after compile time, on a different system with a separate toolchain. There were ultimately two options that fit the bill.

The system thirsty for an update

Continue reading “Even More Firmware In Your Firmware”

Putting The Firmware In Your Firmware

Performing over-the-air updates of devices in the field can be a tricky business. Reliability and recovery is of course key, but even getting the right bits to the right storage sectors can be a challenge. Recently I’ve been working on a project which called for the design of a new pathway to update some small microcontrollers which were decidedly inconvenient.

There are many pieces to a project like this; a bootloader to perform the actual updating, a robust communication protocol, recovery pathways, a file transfer mechanism, and more. What made these micros particularly inconvenient was that they weren’t network-connected themselves, but required a hop through another intermediate controller, which itself was also not connected to the network. Predictably, the otherwise simple “file transfer” step quickly ballooned out into a complex onion of tasks to complete before the rest of the project could continue. As they say, it’s micros all the way down.

The system de jour

Continue reading “Putting The Firmware In Your Firmware”

Schlieren On A Stick

Schlieren imaging is a technique for viewing the density of transparent fluids using a camera and some clever optical setups. Density of a fluid like air might change based on the composition of the air itself with various gasses, or it may vary as a result of a sound or pressure wave. It might sound like you would need a complicated and/or expensive setup in order to view such things, but with a few common things you can have your own Schlieren setup as [elad] demonstrates.

His setup relies on a cell phone, attached to a selfie stick, with a spherical mirror at the other end. The selfie stick makes adjusting the distance from the camera to the mirror easy, as a specific distance from the camera is required as a function of focal length. For cell phone cameras, it’s best to find this distance through experimentation using a small LED as the point source. Once it’s calibrated and working, a circular field of view is displayed on the phone which allows the viewer to see any change in density in front of the mirror.

The only downside of this build that [elad] notes is that the selfie stick isn’t stiff enough to prevent the image from shaking around a little bit, but all things considered this is an excellent project that shows a neat and useful trick in the photography/instrumentation world that could be useful for a lot of other projects. We’ve only seen Schlieren imaging once before and it used a slightly different method of viewing the changing densities.

Continue reading “Schlieren On A Stick”

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”

Old Rabbit Ears Optimized For Weather Satellite Downlink

Communicating with a satellite seems like something that should take a lot of equipment. A fancy antenna and racks full of receivers, filters, and amplifiers would seem to be the entry-level suite of gear. But listening to a weather satellite with an old pair of rabbit ears and an SDR dongle? That’s a thing too.

There was a time when a pair of rabbit ears accompanied every new TV. Those days are gone, but [Thomas Cholakov (N1SPY)] managed to find one of the old TV dipoles in his garage, complete with 300-ohm twinlead and spade connectors. He put it to work listening to a NOAA weather satellite on 137 MHz by configuring it in a horizontal V-dipole arrangement. The antenna legs are spread about 120° apart and adjusted to about 20.5 inches (52 cm) length each. The length makes the antenna resonant at the right frequency, the vee shape makes the radiation pattern nearly circular, and the horizontal polarization excludes signals from the nearby FM broadcast band and directs the pattern skyward. [Thomas] doesn’t mention how he matched the antenna’s impedance to the SDR, but there appears to be some sort of balun in the video below. The satellite signal is decoded and displayed in real time with surprisingly good results.

Itching to listen to satellites but don’t have any rabbit ears? No problem — just go find a cooking pot and get to it.

Continue reading “Old Rabbit Ears Optimized For Weather Satellite Downlink”

Fake Your ID Photos – The 3D Way

Photographs for identification purposes have strict requirements. Lighting, expression, and framing are all controlled to enable authorities to quickly and effectively use them to identify individuals reliably. But what if you created an entirely fake photograph from scratch? That’s exactly what [Raphael Fabre] set out to do.

With today’s 3D modelling tools, human faces can be created in extreme detail. Using these, [Raphael] set out to create a 3D model of himself, which was then used to render images simulating a passport photograph. Not content to end the project there, [Raphael] put his digital doppelgänger to the test – applying for a French identification card. He succeeded.

While the technology to create and render high-quality human faces has existed for a while, it’s impressive that [Raphael]’s work passed for genuine human. Obviously there’s something to be said for the likelihood of an overworked civil servant catching this sort of ruse, but the simple fact is, the images made it through the process, and [Raphael] has his ID. Theoretically, this leaves open the possibility of creating entirely fictitious characters and registering them as real citizens with the state, for all manner of nefarious purposes. If you do this, particularly on a grand scale, be sure to submit it to the tip line.

We’ve seen other concerning ID hacks before, such as this attempt at hacking RFIDs in Passport Cards.

File Format Posters

It’s not uncommon for hackers to have a particular delectation for unusual interior decoration. Maybe it’s a Nixie tube clock, or a vacuum fluorescent display reading out the latest tweets from a favorite chatbot. If this sounds like your living room already, perhaps you’d like some of these file format posters to adorn your walls.

The collection of images includes all kinds of formats — GIF, ZIP and WAV are all represented, but it even gets into some real esoterica — DOLphin format executables are here if you’re a total GameCube fanatic. Each poster breaks down the format into parts, such as the header, metadata and descriptor sections, and come in a variety of formats themselves — most available in SVG, PDF and PNG.

If we’re totally honest, these aren’t all designed for hanging on your wall as-is — we’d consider putting some work into to optimize the color palettes and layouts before putting these to print. But regardless, they’re an excellent visual representation of data structures that you might find particularly useful if you need to do some reverse engineering down the track.

If you still have wall space available after seeing this, here’s the electronic reference poster that should fill it.

[Thanks to JD for the tip!]