The Deep Magic Of 3D Graphics Perspective

Many of us of a certain age will have had their first true, good 3D video game experience with Super Mario 64. Unlike previous 3D games, the camera was an object controllable by the player, rather than a first-person-ony mode or one where the game tries to guess the best placement for the camera. We might take this mechanic for granted today, but 3D was a new technology at the time that took experimentation before settling on the norms we have today. From a programming perspective, 3D graphics can be a bit of a head-scratcher but [Gabriel] shows that perspective and the camera can be as simple as a few lines of math.

When starting out as a programmer, [Gabriel] used various tools that provided a camera somewhat automatically. But after reaching the limits of these types of frameworks, the next step is to learn how that works from scratch. It turns out that it’s a bit of matrix math, with values for foreground and background clipping planes as well as aspect, field of view, and position. This basically replicates a trapezoidal prism which can be thought of as a viewer looking at a scene from the perspective of a camera. To provide the depth effect, the X and Y coordinates are divided by the Z coordinate within this matrix system, making far-away objects smaller and generating the 3D effect.

On [Gabriel]’s site which explains this method, there are a few sliders in several examples that demonstrate how changing values of each of these variables changes the perspective and the object being displayed. For a math lesson it is very interactive and helps intuit these concepts. Cameras aside, the generation of 3D objects has its own unique set of math equations to learn about that are “equally” interesting.

Improved Double-Sided Toner Transfer Method

In the era before PCB shops would make almost any PCB imaginable, as well making many other manufacturing processes for prototypes available to hobbyists, there were several ways of making PCBs at home. Many of which involve harsh chemicals and were easy to mess up. Getting a single-layer PCB using the toner transfer method, for example, took a bit of practice (and a fume hood) to get right. [Bettina Neumryr] is working on a custom two-layer PCB, and has a new trick to get it to come out right despite the added complexity of the second layer.

The method starts out as a standard single-layer board in effect. Toner is ironed onto a copper board, in this case using a laminator, which allows the board to go into an acid bath which washes away all of the un-tonered copper. But with the second layer exposed, this would wash away the other side of the board completely. [Bettina] is using a new method here to protect that layer during the first bath: covering it in ink from a magic marker. With the first board etched, the ink and toner get washed off and the second layer is carefully lined up, put through the laminator, and then the opposite side gets covered in ink for the second acid bath.

After the process is complete and many layers of ink and toner are removed, [Bettina] is left with a PCB that’s ready to receive electronic components, if a little stained from all the ink. As to what this specific board is going to be used for, she’s kept that a bit cryptic as it’s the subject of a future video. Her builds usually revolve around designs from antique elecronics magazines, so it’s almost certainly something of that nature, and that’s also why this specific design couldn’t be just sent off to a board shop.

Continue reading “Improved Double-Sided Toner Transfer Method” →

Two-Dimensional Material Now Easier To Manufacture

We often see scientific breakthroughs in journals or other media that’s reported on as if it’s a revolutionary technology guaranteed to reshape human existence, only to never hear about it again. A more cynical reason for this phenomenon is a certain amount of clickbait or engagement farming, but the real culprit often tends to be the discovery of a process that can’t produce the new material or effect at a scale that makes sense for mass production. One of those are MXenes (“max-enes”), a two-dimensional material first produced over a decade ago, but new research into them has developed a much more efficient way of producing them.

Before this discovery, these materials were produced in a convoluted process involving the MXene precursor materials, combining them with an etchant, washing them off, and then repeatedly spinning them in a centrifuge to separate out unwanted byproducts. As one can imagine, this doesn’t produce material in an industrial quantity. But the new method uses a vapor deposition process which simplifies the precursor steps using less expensive materials, as well as skips the etching step. After that, the researchers have found that the MXenes can grow in a much more controlled way, allowing for greater production amounts and higher quality.

In the intervening years since their discovery and first synthesis MXenes have shown potential for wide-ranging applications, from battery production to antennas to water purification. Another interesting application is as a switchable Faraday cage, as we’ve covered in the past. Hopefully the slow plod of scientific discovery continues and we can start seeing more of these incremental gains improving our lives, even if we don’t get a sudden technological revolution from it.

An IR Blaster Project, In A Nutshell

The speed that computers have gotten smaller is a bit mind-bending. Most of us now walk around with computers in our pockets that would have rivaled the supercomputers from a few decades ago. And, although it seems like the speed at which things are getting smaller and faster has slowed a bit compared to the rapid pace of the 90s and 00s, some truly minuscule computers are accessible nowadays. So much so that it’s possible to do useful computing inside a walnut shell.

The first step in this build is to crack into a walnut. Most have a natural seam that separates two hemispheres, so splitting it open, enjoying a small snack, and then adding some small neodymium magnets on the inside of that seam to close up the shell is not too difficult. From there, some LEDs were installed at various points in the shell, with an ESP32-C3 installed in the middle to control everything and oriented so that its USB port is still accessible.

Although putting a small microcontroller in a nutshell might seem like a novelty, [JSK-koubou] is actually using the LEDs to perform a useful task. The walnut sits in his living room and connects to a home automation system through the ESP32, and when it receives a command it uses the LEDs to send infrared signals to non-connected devices. Hiding projects in unexpected places is a fun pastime, like this Meshtastic node hidden in a landscape light.

Continue reading “An IR Blaster Project, In A Nutshell” →

Center-Pivot System Modified To Mow Lawn

When flying over the United States, Australia, and a few other vast and relatively empty parts of the world, strange circular formations can be spotted. These are typically center-pivot irrigation systems, an effective way to irrigate crops if efficient use of space is not too big of a priority. Keeping these massive machines in a straight line is an interesting engineering problem, though, and [rctestflight] built a miniature version of his that works on the same principle but mows his lawn instead.

These systems work as semi-independent sections that are flexibly coupled at either end. The control scheme initially used here was to drive the outermost set of wheels at a constant speed, and then use limit switches at each coupling inside of that to drive inner sets of wheels once the outer set passes a setpoint. Eventually a potentiometer-based proportional controller was installed in place of the limit switches. With some other drivetrain issues sorted out it was on to building the mower attachment. This uses a pair of pivoting precision knives mounted to motors that ride along a carriage attached to any one of the linkages of the center-pivot system. Limit switches keep the carriage riding back and forth cutting the lawn as it traverses the grass.

With the system in place, [rctestflight] set out to optimize it mostly out of a desire to tinker with a thing that he had built. The challenge for him is that his location in the Pacific Northwest is generally very damp, so in addition to corrosion and other water damage on various parts, there were also issues of mud complicating the way the wheels navigated the terrain, as well as the plant growth being fairly rapid and often impeding the process of the robot as well. One of the perks, though, was that the circular area was already largely carved out thanks to some of his earlier projects testing the durability of RC cars.

Continue reading “Center-Pivot System Modified To Mow Lawn” →

Reverse Engineering Apple’s Mikey Chip

On the old iPods, generally referred to here in the future as iPod Classic, there lives a tiny, undocumented chip called Mikey. It sits at the headphone output and performs only two functions: powering the Apple wired headset microphone and handling button presses from the three buttons. Despite these headphones and iPods having existed for nearly two decades, no one in the open source community has figured out the protocol Apple used for these buttons until now.

As [Hemant] discovered after finding a single archived blog post from 16 years ago about it, the chip is relatively simple by modern standards. Besides handling microphone bias, it sits on an I2C bus and monitors presses from the three buttons on the headset. Each button has its own resistive load, so a press from any of them drops the voltage on the line to a certain amount which the chip can read. The more involved part is a “chirp” that’s a sort of handshake between headset and iPod, which took a bit of work with a debugger that [Hemant] built into a custom Rockbox firmware.

With the chirp sorted out, [Hemant] built the feature into an existing version of Rockbox, and submitted the update to the Rockbox team for integration in future official builds. It’s a long overdue feature for those still using wired headphones and iPods from the turn of the century, but welcome. Some of those iPods are still working to this day, but only conditionally if they’re very cold.

Basically, Galvanizing Metal Without Acid

As useful as steel and iron are to the modern world, their tendency to rust is a major downside. There’s a spectrum of ways to prevent it, from quickly slapping on a coat of paint to alloying, chromizing, or physical vapor deposition. For a middle ground accessible to the home shop, galvanizing is a go-to method of rust prevention that deposits a layer of zinc onto the metal instead, but even this generally involves the use of strong acids. This method makes galvanizing accessible without any acids. (Spoiler alert: substitute strong bases.)

Although the acids are omitted, the solution is caustic, so similar safety measures are still advised. The first step in the process is to dissolve sodium hydroxide into a container of distilled water. Metallic zinc can then be dissolved in the solution, with a bit of sugar and liquid soap to improve the finished quality of the coating. An electric current is applied to the solution, using a graphite plate at the anode and the part to be electroplated as the cathode. After some time, the part will be uniformly coated in a layer of zinc, which can then be brightened in a solution of only-mildly-acidic citric acid if needed.

One of the benefits of using a strong base to galvanize a metal part, beyond the preference of avoiding strong acids, is that this process can be better at plating parts that are non-uniform in shape, so things with deep crevices or other odd shapes that might coat unevenly in acid. If there’s a preference for electroplating with acid, there are some ways of producing one’s own using various methods.

Continue reading “Basically, Galvanizing Metal Without Acid” →