A Basic USB-C Primer

Over the last five years or so there has been a quiet take-over of the ports on laptops, phones, and other devices, as a variety of older ports as well as the familiar USB A and micro USB sockets have been replaced by the now-ubiquitous USB-C port. It’s a connector which can do so many things, so many in fact that it bears a handy explanation. The Electromagnetic Field 2022 hacker camp has been quietly uploading videos of its talks, and a recent one has [Tyler Ward] explaining the intricacies of the interface.

Many of you will be familiar with XKCD number 927 which makes a joke about proliferating connector standards, and it’s evident that USB-C is a rare case of a connector which bucks the trend of simply making another standard, and has instead created something with which it makes sense to replace what went before. We learn about the intricacies of inter-device communications and USB-PD, and the multiple high-speed connection  lanes shoehorned into it. That one small connector can plug into a laptop and provide power, USB peripherals including network, and display, is nothing short of amazing. Take a look at the video below the break, and if you’re interested in diving deeper, have a look at our colleague [Arya Voronova]’s USB-C for hackers series.

Continue reading “A Basic USB-C Primer”

Design Secrets Of Fantastic, Hand-made Puzzle Boxes

[Kagen Sound] is a woodworker and artist who gives a great behind-the-scenes look at his amazingly high-quality puzzle boxes (video). Not only do his varied puzzle box designs show his math background, but they are all made entirely of wood. There are no nails or fasteners; just intricately-fitted wood and some glue.

There’s a lot of variety in his designs, and while it’s all fantastic from beginning to end, two things stood out to us as being of particular interest. One is the “Plus Box” which makes a clicking sound when the pieces are moved (at 2:47) thanks to a clever wooden spring. [Kagen] shows an example of the concept, where a flat wood piece with slots cut from the sides acts as a spring and clicks into notches when moved, providing audible and tactile feedback without anything other than wood.

The other is a patterned puzzle box (at 7:10) whose geometric designs change as the user moves the pieces. A reminder that [Kagen]’s devices are made entirely of wood and glue, so the design comes from two different types of wood assembled and cut at an angle to create the patterns seen. [Kagen] shaves thin layers of veneer from this block to attach to the puzzle pieces as needed to create the patterns without resorting to ink, paint, or decals.

[Kagen] has a math degree but is entirely self-taught as a woodworker, so don’t let lack of formal training stop you from experimenting. You can watch him give a tour of his work in the video, embedded below.

Feeling the urge to make your own puzzle boxes? Take a look at some we’ve seen over the years, and we even have a collection of single-line cryptex fonts to make laser-engraving puzzle bits a little easier.

Continue reading “Design Secrets Of Fantastic, Hand-made Puzzle Boxes”

Simon Says With An RP2040

The team of [Michael] and [Chimdi] from Cornell’s Designing with Microcontrollers (ECE 4760) Fall 2023 session designed a version of Simon Says on an RP2040 which they call Pico Says. It uses UDP packets over WiFi to communicate between the players, and supports VGA graphics for output. Each player’s hardware consists of a Pico W module plus a control panel containing the four LEDs and buttons ( red, green, yellow, and blue ) plus send and reset buttons.

For purposes of this lab, the modules were build on a solderless breadboard and used perfboard for the control panels. They weren’t entirely happy with their choice of UDP because they experienced frequent datagram dropouts in the noisy environment of the microcontroller lab. They also planned to implement sound effects, but ran out of time after spending too much time on the WiFi implementation, and had to drop that feature. In the end, however, they wrapped up their project and demonstrated a working game. We can only speculate whether this bonus lesson in resource management was intended by [Dr. Hunter Adams] or not.

Two ECE 4760 course references are highlighted in the write-up that helped them jump-start the project: the UDP and VGA examples for the Pico. These are good links to put in your RP2020 toolbox for future projects, in addition to the ECE 4760 course home page itself. We’ve covered several of these projects recently, as well as the curriculum switch from the Microchip PIC32MX-based Microstick II to the RP2040 last Spring.

Continue reading “Simon Says With An RP2040”

Human-Interfacing Devices: The Descriptor Heist

Today, we’ll build our own input devices. And they will be easy to create and write firmware for, they will work perfectly, and they will be cross-platform. We can do that with help of the Human Interface Device (HID) standard, and by way of introduction, so that you never get confused by what a “descriptor” means, and we’ll build our own HID device — a Human Interface Device device. The way we build them won’t require reading specifications – instead, I’ll teach your how to steal HID descriptors from existing devices, tweak them for our purposes, and use them in our devices to harness the power of HID.

For decades now, it’s been possible to build a HID mouse or keyboard by using a library or two, and it’s been a godsend for hackers all around the world. However, these libraries are typically confined to a certain template and inflexible, and we hackers often go outside of what’s expected. HID allows for much more than a simple keyboard or a mouse. That’s why today we’re building a touchscreen – something not yet covered online or by libraries.

HID lets you build devices that are friendly. They don’t need drivers, they are plug and play, and they do what you expect them to do. At its core, the HID standard is as simple as is ubiquitous. You can tunnel HID over USB, Bluetooth, I2C, and modern-day operating systems support all three of these. Today, let’s go through the basics of HID, and then build a USB touchscreen out of a SPI-connected resistive touchscreen, with help of the usual RP2040+MicroPython combo. I will also give you a toolkit for how to debug a Human Interface Device device as thoroughly as possible – specifically on Linux, showing all the HID debug and introspection capabilities that Linux gives you. But it’ll work on Windows too through the beauty of standardization.

Continue reading “Human-Interfacing Devices: The Descriptor Heist”

The World’s First Microprocessor: F-14 Central Air Data Computer

When the Grumman F-14 Tomcat first flew in 1970, it was a marvel. With its variable-sweep wing, twin tail, and sleek lines, it quickly became one of the most iconic jet fighters of the era — and that was before a little movie called Top Gun hit theaters.

A recent video by [Alexander the ok] details something that was far less well-documented about the plane, namely its avionics. The Tomcat was the first aircraft to use a microprocessor-driven flight system, as well as the first microprocessor unit (MPU) ever demonstrated, beating the Intel 4004 by a year. In 1971, one of the designers of the F-14’s Central Air Data Computer (CADC) – [Ray Holt] – wrote an article for Computer Design magazine that was naturally immediately classified by the Navy until released to the public in 1998.

The MPU in the CADC is called the Garrett AiResearch MP944, and consists of a number of ICs that together form a full computer. These were combined in the CADC with additional electronics to control many elements of the airplane automatically, including the weapons system and the variable-sweep wing configuration. This was considered to be essential based on experiences with the F-111 and its very complex electromechanical flight computer, which was an evolution of the 1950s-era Bendix CADC.

The video goes through the differences between the 4-bit Intel 4004 and the 20-bit MP944, questioning whether the 4004 is even really an MPU, the capabilities of the MP944 and its system architecture. Ultimately the question of ‘first’ and that of ‘what is an MPU’ will always be somewhat fuzzy depending on your definitions, but there is no denying that the MP944 was a marvel of large-scale integration.

Continue reading “The World’s First Microprocessor: F-14 Central Air Data Computer”

The Past, Present, And Future Of Inflatable Space Habitats

Recently, a prototype inflatable space station module built by Sierra Space exploded violently on a test stand at NASA’s Marshall Space Flight Center in Alabama. Under normal circumstances, this would be a bad thing. But in this case, Sierra was looking forward to blowing up their handiwork. In fact, there was some disappointment when it failed to explode during a previous test run.

LIFE Module Burst Test

That’s because the team at Sierra was looking to find the ultimate bust pressure of their 8.2 meter (26.9 foot) diameter Large Integrated Flexible Environment (LIFE) module — a real-world demonstration of just how much air could be pumped into the expanding structure before it buckled. NASA recommended they shoot for just under 61 PSI, which would be four times the expected operational pressure for a crewed habitat module.

By the time the full-scale LIFE prototype ripped itself apart, it had an internal pressure of 77 PSI. The results so far seem extremely promising, but Sierra will need to repeat the test at least two more times to be sure their materials and construction techniques can withstand the rigors of spaceflight.

Sierra is a targeting no earlier than 2026 for an in-space test, but even if they nail the date (always a dubious prospect for cutting edge aerospace projects), they’ll still be about 20 years late to the party. Despite how futuristic the idea of inflatable space stations may seem, NASA first started experimenting with the concept of expandable habitat modules back in the 1990s, and there were practical examples being launched into orbit by the early 2000s.

Continue reading “The Past, Present, And Future Of Inflatable Space Habitats”

Ingenuity May Be Grounded, But Its Legacy Will Be Grand

[Eric Berger] has a thoughtful and detailed article explaining why Ingenuity, NASA’s small helicopter on Mars, was probably far more revolutionary than many realize, and has a legacy to grant the future of off-world exploration that is already being felt.

Ingenuity was recently grounded due to rotor damage, having already performed far beyond the scope of its original mission. The damage, visible by way of a shadow from one of the rotors, might not look like much at first glance, but flying in the vanishingly-thin atmosphere of Mars requires the 1.18 meter (3.9 foot) carbon fiber blades to spin at very high speeds — meaning even minor rotor damage could be devastating.

Perseverance and Ingenuity pose for a selfie on Mars.

[Eric] points out a lot that is deeply interesting and influential about Ingenuity. Not only is successful powered flight on another planet a real Wright brothers moment, but how Ingenuity came to be validates a profoundly different engineering approach for NASA.

To work in the space industry is to be constrained by mass. But even so, Ingenuity‘s creators had a mere four pounds to work with. That’s for rotors, hardware, electronics, batteries, solar panel — all of it. NASA’s lightest computer module alone weighed a pound, so engineers had no choice but to depart from the usual NASA way of doing things to get it done at all. Not everyone  at NASA was on board. But Ingenuity worked, and it worked wonderfully.

Powered flight opens new doors, and not just for support roles like navigation planning. There’s real science that can be done if powered flight is on the table. For example, [Eric] points out that inaccessible terrain such as the Valles Marineris canyon on Mars is doubtlessly scientifically fascinating, but at 4,000 km long and up to 7 km deep, rover-based exploration is not an option.