Ask Hackaday: What’s In Your Fastener Bin?

A Saturday afternoon. The work week was done, the household chores were wrapped up, and with almost a week left until Christmas, there was just enough wiggle room to deny that there was still a ton of work left to prepare for that event. It seemed like the perfect time to escape into the shop and knock out a quick project, one that has been on the back burner since at least March. I’m nothing if not skilled in the ways of procrastination.

This was to be a simple project — adding an aluminum plate to a plastic enclosure that would serve as an antenna entry point into my shack. Easy as pie — cut out an rectangle of aluminum, cut and drill a few holes, call it a day. Almost all of my projects start out that way, and almost every time I forget that pretty much every one of those builds goes off the rails at exactly the same point: when I realize that I don’t have the fasteners needed. That’s what happened with this build, which had been going swimmingly up to that point — no major screw-ups, no blood drawn. And so it was off to the hardware store I trundled, looking for the right fasteners to finish the job.

Finding hardware has long been where my productivity goes to die. Even though I live a stone’s throw from at least half a dozen stores, each with a vast selection of hardware and most open weekends and nights, the loss of momentum that results from changing from build-mode to procure-mode has historically been deadly to my projects. I’m sure I’m not the only one who has run into this issue, so the question is: what can a hacker do to prevent having to run out for just the right fasteners?

Continue reading “Ask Hackaday: What’s In Your Fastener Bin?”

The V-Bomber Ejector Seat Controversy

Once upon a time, bailing out of a plane involved popping open the roof or door, and hopping out with your parachute, hoping that you’d maintained enough altitude to slow down before you hit the ground. As flying speeds increased and aircraft designs changed, such escape became largely impossible.

Ejector seats were the solution to this problem, with the first models entering service in the late 1940s. Around this time, the United Kingdom began development of a new fleet of bombers, intended to deliver its nuclear deterrent threat over the coming decades. The Vickers Valiant, the Handley Page Victor, and the Avro Vulcan were all selected to make up the force, entering service in 1955 through 1957 respectively. Each bomber featured ejector seats for the pilot and co-pilot, who sat at the front of the aircraft. The remaining three crew members who sat further back in the fuselage were provided with an escape hatch in the rear section of the aircraft with which to bail out in the event of an emergency.

Continue reading “The V-Bomber Ejector Seat Controversy”

The Shell And The Microcontroller

One of the nicest amenities of interpreted programming languages is that you can test out the code that you’re developing in a shell, one line at a time, and see the results instantly. No matter how quickly your write-compile-flash cycle has gotten on the microcontroller of your choice, it’s still less fun than writing blink_led() and having it do so right then and there. Why don’t we have that experience yet?

If you’ve used any modern scripting language on your big computer, it comes with a shell, a read-eval-print loop (REPL) in which you can interactively try out your code just about as fast as you can type it. It’s great for interactive or exploratory programming, and it’s great for newbies who can test and learn things step by step. A good REPL lets you test out your ideas line by line, essentially running a little test of your code every time you hit enter.

This is your development environment

The obvious tradeoff for ease of development is speed. Compiled languages are almost always faster, and this is especially relevant in the constrained world of microcontrollers. Or maybe it used to be. I learned to program in an interpreted language — BASIC — on computers that were not much more powerful than a $5 microcontroller these days, and there’s a BASIC for most every micro out there. I write in Forth, which is faster and less resource intensive than BASIC, and has a very comprehensive REPL, but is admittedly an acquired taste. MicroPython has been ported over to a number of micros, and is probably a lot more familiar.

But still, developing MicroPython for your microcontroller isn’t developing on your microcontroller, and if you follow any of the guides out there, you’ll end up editing a file on your computer, uploading it to the microcontroller, and running it from within the REPL. This creates a flow that’s just about as awkward as the write-compile-flash cycle of C.

What’s missing? A good editor (or IDE?) running on the microcontroller that would let you do both your exploratory coding and record its history into a more permanent form. Imagine, for instance, a web-based MicroPython IDE served off of an ESP32, which provided both a shell for experiments and a way to copy the line you just typed into the shell into the file you’re working on. We’re very close to this being a viable idea, and it would reduce the introductory hurdles for newbies to almost nothing, while letting experienced programmers play.

Or has someone done this already? Why isn’t an interpreted introduction to microcontrollers the standard?

Bare-Metal STM32: Universal, Asynchronous Communication With UARTs

One of the most basic and also most versatile communication interfaces on an MCU is the UART, or Universal Asynchronous Receiver/Transmitter. Usually found in the form of either a UART or USART, the former allows for pure asynchronous serial communication, whereas the latter adds flow control. When working with MCUs, they’re also one of the most common ways to output debug information.

While somewhat trickier to set up and use than a GPIO peripheral, the U(S)ART of ST’s STM32 families is fairly uncomplicated to use, and immediately provides one with an easy way to communicate in a bi-directional fashion with a device. In this article we’ll see what it takes to get started with basic UART communication on STM32 microcontrollers.

Continue reading “Bare-Metal STM32: Universal, Asynchronous Communication With UARTs”

Active Camouflage Material Shows Promise At Hiding From Infrared Or Visual Detection

An invisibility cloak may seem like science fiction, but despite that, many scientists and engineers have put much time into developing the concept, pushing it closer to reality. A device which detects the nature of its surroundings and changes its own properties to blend in may be complex, but a multitude of examples in the animal world show that it’s not impossible to achieve.

A team from Seoul National University recently developed a flexible material designed in part as a flexible “cloaking” material. We’ll take a look at the underlying concept behind such devices below, and look at how this work furthers the state of the art in the field.

Continue reading “Active Camouflage Material Shows Promise At Hiding From Infrared Or Visual Detection”

The Day The Russians And Americans Met 135 Miles Up

If you watched the original Star Trek series, you’d assume there was no way the Federation would ever work with the Klingons. But eventually the two became great allies despite their cultural differences. There was a time when it seemed like the United States and Russia would never be friends — as much as nations can be friends. Yet today, the two powers cooperate on a number of fronts.

One notable area of cooperation is in spaceflight, and that also was one of the first areas where the two were able to get together in a cooperative fashion, meeting for the first time in orbit, 135 miles up.  The mission also marks the ultimate voyage of the Apollo spacecraft, a return to space for the USSR’s luckiest astronauts, and the maiden flight of NASA’s oldest astronaut. The ability to link US and Soviet capsules in space would pave the way for the International Space Station.  The Apollo-Soyuz mission was nothing if not historic, but also more relevant than ever as more nations become spacefaring. Continue reading “The Day The Russians And Americans Met 135 Miles Up”

You Got Something On Your Processor Bus: The Joys Of Hacking ISA And PCI

Although the ability to expand a home computer with more RAM, storage and other features has been around for as long as home computers exist, it wasn’t until the IBM PC that the concept of a fully open and modular computer system became mainstream. Instead of being limited to a system configuration provided by the manufacturer and a few add-ons that really didn’t integrate well, the concept of expansion cards opened up whole industries as well as a big hobbyist market.

The first IBM PC had five 8-bit expansion slots that were connected directly to the 8088 CPU. With the IBM PC/AT these expansion slots became 16-bit courtesy of the 80286 CPU it was built around. These slots  could be used for anything from graphics cards to networking, expanded memory or custom I/O. Though there was no distinct original name for this card edge interface, around the PC/AT era it got referred to as PC bus, as well as AT bus. The name Industry Standard Architecture (ISA) bus is a retronym created by PC clone makers.

With such openness came the ability to relatively easy and cheaply make your own cards for the ISA bus, and the subsequent and equally open PCI bus. To this day this openness allows for a vibrant ecosystem, whether one wishes to build a custom ISA or PCI soundcard, or add USB support to a 1981 IBM PC system.

But what does it take to get started with ISA or PCI expansion cards today? Continue reading “You Got Something On Your Processor Bus: The Joys Of Hacking ISA And PCI”