Beeping The Enemy Into Submission

In July 1940 the German airforce began bombing Britain. This was met with polite disagreement on the British side — and with high technology, ingenuity, and improvisation. The defeat of the Germans is associated with anti-aircraft guns and fighter planes, but a significant amount of potential damage had been averted by the use of radio.

Night bombing was a relatively new idea at that time and everybody agreed that it was hard. Navigating a plane in the dark while travelling at two hundred miles per hour and possibly being shot at just wasn’t effective with traditional means. So the Germans invented non-traditional means. This was the start of a technological competition where each side worked to implement new and novel radio technology to guide bombing runs, and to disrupt those guidance systems.

Continue reading “Beeping The Enemy Into Submission”

State Your Intentions More Clearly With State Machines

To the uninitiated the words ‘State machine’ sound like something scarily big and complex. They aren’t (necessarily) and can be quite useful. In fact, state machines are no physical machines but a model of processes. They link the states a system can be in with allowed transitions. For example a media player when stopped can change to play or open another file. While playing, it can go to pause, stop, reverse, fast forward and so on. A state machine creates a map of all states and how they are connected. It is an abstract tool hat offers a graphical approach to organizing your code before actually programming.

In his video [Chris Guichet] uses a state machine to debounce a switch for a beginner friendly introduction of the concept. He then shows how to turn the hand drawn map to actual code, including a section on debugging state machines.

Continue reading “State Your Intentions More Clearly With State Machines”

Fail of the Week: How Not To Build Your Own DGPS Base Station

GPS is the modern answer to the ancient question about one’s place in the world yet it has its limitations. It depends on the time of flight of radio signals emitted by satellites twenty thousand kilometers above you. Like any system involving large distances and high velocities, this is bound to offer some challenges to precise measurements which result in a limit to achievable accuracy. In other words: The fact that GPS locations tend to be off by a few meters is rooted in the underlying principle of operation.

Today’s level of precision was virtually unattainable just decades ago, and we’re getting that precision with a handheld device in mere seconds. Incredible! Yet the goal posts continue to move and people are working to get rid of the remaining error. The solution is called Differential GPS or ‘DGPS’ and its concept looks surprisingly simple.

What’s fascinating is that you can use one GPS to precisely measure the error of another GPS. This is because the inherent error of a GPS fix is known to be locally constant. Two receivers next to each other pick up signals that have been affected in the same way and thus can be expected to calculate identical wrong positions. This holds true for distances up to several kilometers between individual receivers. So in order to remove the error, all you need is a GPS receiver in a known location to measure the current deviation and a way to transmit correction information to other units. DGPS does just that, using either terrestrial radio in some regions and satellites in others. Mobile solutions exist as well.

So a raspi with a USB GPS dongle in a known location should be able to act as a DGPS over IP base station, right? In theory, yes. In practice… fail.

Continue reading “Fail of the Week: How Not To Build Your Own DGPS Base Station”

A DIY Nine Channel Digital Scope

Have you ever found yourself in the need of a nine channel scope, when all you had was an FPGA evaluation board? Do not despair, [Miguel Angel] has you covered. While trying to make sense of the inner workings of a RAM controller core, he realized that he needed to capture a lot of signals in parallel and whipped up this 9-channel digital oscilloscope.

The scope is remote-controlled via a JavaScript application, and over Ethernet. Graphical output is provided as a VGA signal at full HD, so it is easy to see what is going on. Downloading sampled data to the controlling computer for analysis is in the works. [Miguel] runs his implementation on an Arty A7 development board which is currently available for around a hundred dollars, but the design is transferable to other platforms. The code and some documentation is available on GitHub and there is a demo video after the break.

Continue reading “A DIY Nine Channel Digital Scope”

Carrots In Space

For this year’s Hackaday Prize, [will.stevens] is growing his own produce and now looks for a way to shield his endeavors from the perils of the British winter. To achieve this, he decided to grow vegetables in sealed containers. Inspired by prior art and backed up by research, his approach is a wild mix of applied laziness on one hand and reckless over-engineering on the other. The sealed containers in this project are PET bottles, chosen for their availability and the produce are carrots, mainly because they can be harvested through the bottle’s mouth. Carrots also feature a high energy density and can provide fibers for plant-based construction materials so [will] deems them ideal space colonist food.

The project is currently in its fourth attempt and somewhere along the road from carrot seeds, dirt and some water in a soda bottle to the current state, the setup sprouted artificial lighting and a CO2 sensor. Fully aware that sealed greenhouses are a proven concept, [will.stevens] provides links to literature one should read before attempting something like this, alongside regular updates on his progress.

With a sensor and LEDs already in place, it is just a matter of time until a raspi will be added. Or we might see the demise of the soil in favor of a hydroponic setup.

Teardown Of An UWB Location Beacon

Outdoor navigation is a problem that can be considered solved for decades or maybe even centuries, depending on the levels of accuracy, speed and accessibility required. Indoor navigation and location, on the other hand, is a relatively new field and we are still figuring it out. Currently there are at least four competing technologies pushed by different manufacturers. One is ultra wide band radio and [Marco van Nieuwenhoven] shows us what a beacon using this technology is made of.

In his thorough tear down of an Estimote location beacon, he comes up with a complete parts list and schematics for each of the four PCB layers. The beacons are controlled by a Cortex M4 and feature Bluetooth radio in addition to the UWB part. They also come with a three-axis accelerometer, temperature, ambient light and pressure sensors and NFC capability. These boards combine a lot of functionality in a compact package and [Marco]’s stated intent is to create an open source firmware for them.

Hacking proprietary hardware, especially when doing so in public may get you in legal trouble, but in this case [Marco] has contacted the manufacturer, and the relationship seems to be friendly so far. Let’s hope it stays that way; these things look like a promising platform and may become a lower cost alternative to the evaluation kit running the same UWB radio we featured earlier. Alternatively you could ditch the UWB and use WiFi for indoor location.

34C3: Roll Your Own Network Driver In Four Simple Steps

Writing your own drivers is a special discipline. Drivers on the one hand work closely with external hardware and at the same time are deeply ingrained into the operating system. That’s two kinds of specialization in one problem. In recent years a lot of dedicated networking hardware is being replaced by software. [Paul Emmerich] is a researcher who works on improving the performance of these systems.

Making software act like network hardware requires drivers that can swiftly handle a lot of small packets, something that the standard APIs where not designed for. In his talk at this year’s Chaos Commnication Congress [Paul] dissects the different approaches to writing this special flavor of drivers and explains the shortcomings of each.

Continue reading “34C3: Roll Your Own Network Driver In Four Simple Steps”