Upgraded 3D Printed Tank Gets Better Drivetrain And Controls

When it comes to 3D printed builds, they’re often limited in size due to the small build volume of most printers. However, [Ivan Miranda] has always gone big with his builds, and his latest tank design shows that off in spades.

Looks comfy!

[Ivan] has been working on printed human-sized tanks for years, and his latest revision aims to solve many of the problems that have hampered its performance in the past. A belt drive is the first major upgrade, aiming to improve the reliability of the drivetrain which has been a pain point in the past. The motor mounts also get built out of aluminium this time to help keep things cooler, as melting was a potential concern previously.

The tank’s controls are also upgraded, this time using a simple pedal system to control the brushless motors for easier driving. There’s even a printed seat for better ergonomics. The result is a giant tank big enough for an adult human, with the bonus that it’s now easy to steer and no longer requires [Ivan] to lie down inside to fit.

[Ivan’s] big printers are key to his success on big builds. One new part for the tank weighs a full 5.8 kg, printed in just 2.5 days! We can’t wait to see what giant thing he builds next. Word is the tank will be getting a turret, too. Video after the break.

Continue reading “Upgraded 3D Printed Tank Gets Better Drivetrain And Controls”

Raspberry Pi And The Story Of SD Card Corruption

Tales of Raspberry Pi SD card corruption are available online by the fistful, and are definitely a constant in Pi-adjacent communities. It’s apparent that some kind of problems tend to arise when a Raspberry Pi meets an SD card – which sounds quite ironic, since an SD card is the official and recommended way of booting a Pi. What is up with all of that?

I can start with a history lesson. Back when Raspberry Pi launched in 2012 – which is now 10 years ago – there were SD card controller driver problems, which makes sense given the wide variety of SD cards available out there. They were verifiably fixed one by one at some point in time, as debugging goes, their impact decreased and bugs with individual cards got smoothed over. This is how the “Pi SD card corruption” meme was originally born; however, if the problems were to end there, so would the meme. Yet, tales of broken SD cards plague us to this day – way less severe than they were in the beginning, but pronounced enough that you’ll see people encounter them every now and then.

Over the years, a devoted base of Pi SD card haters has grown. Their demand has been simple – Raspberry Pi has to get an ability to boot from something else, in large part because of corruption reasons, but also undeniably because of speed and capacity/cost limitations of SD cards. Thanks to their demands and work, we’ve seen a series of projects grow from unofficial efforts and hacks into officially supported Raspberry Pi abilities – USB boot being initially more of a workaround but now something you can enable out of the box, SSD-equipped Pi enclosures becoming more of a norm, and now, NVMe boot appearing on the horizon. Every few years, we get a new way to boot a Pi. Continue reading “Raspberry Pi And The Story Of SD Card Corruption”

Kia Recalls Cars Over Airbag Controller Assembly Issue

Last month Kia Motors announced a large recall due to possibly defective airbag controller units (ACU). The recall spans many models and model years — in the United States alone it covers over 400K cars, and over half a million cars worldwide. From the NHTSA report we learn that the problem happened at assembly when the cover of some ACUs interfered with the pins of an EEPROM chip. This can cause some of the pins to open-circuit. If your car had this problem, a warning light would come on, but more seriously, the airbags would not deploy in an accident. Kia estimates that less than 1% of the cars using this ACU have this issue. Cars which have this fault will get a new ACU, and other cars will get a firmware upgrade to keep this from happening should the EEPROM pins break loose in the future.

We think this EEPROM is used for logging errors and crash events, and is therefore not in the critical path for airbag deployment. The original firmware apparently prevented deployment if the EEPROM had a fault. Presumably, after this patch, if pins break in the future, the fault indicator still lights up but you’ll have functioning airbags.

It’s not clear if these broken EEPROM pin solder joints were present from the start and the factory test procedures didn’t catch the problem. Or did the pins left the factory intact and were subsequently broke due to bumps and vibrations. Hardware issues aside, having safety critical firmware perform its primary function even when faults exist in non-essential parts of the circuit seems like a requirement that should have been applied to the ACU from the beginning.

This is a reminder of the importance of enclosure design and making sure your PCB layouts take into account all clearances necessary for the entire assembly. How many times have you got your PCB back and realized you forgot to even put mounting holes?

We covered a similar issue a couple of years ago regarding the Takata airbag fiasco. If you have a Kia, this form on their website tells you whether your vehicle is subject to the recall or not.

Modern CPUs Are Smarter Than You Might Realize

When it comes to programming, most of us write code at a level of abstraction that could be for a computer from the 1960s. Input comes in, you process it, and you produce output. Sure, a call to strcpy might work better on a modern CPU than on an older one, but your basic algorithms are the same. But what if there were ways to define your programs that would work better on modern hardware? That’s what a pre-print book from [Sergey Slotin] answers.

As a simple example, consider the effects of branching on pipelining. Nearly all modern computers pipeline. That is, one instruction is fetching data while an older instruction is computing something, while an even older instruction is storing its results. The problem arises when you already have an instruction partially executed when you realize that an earlier instruction caused a branch to another part of your code. Now the pipeline has to be backed out and performance suffers while the pipeline refills. Anything that had an effect has to reverse and everything else needs to be discarded.

That’s bad for performance. Because of this, some CPUs try to predict if a branch is likely to occur or not and then speculatively fill the pipeline for the predicted case. However, you can structure your code, for example, so that it is more obvious how branching will occur or even, for some compilers, explicitly inform the compiler if the branch is likely or not.

As you might expect, techniques like this depend on your CPU and you’ll need to benchmark to show what’s really going on. The text is full of graphs of execution times and an analysis of the generated assembly code for x86 to explain the results. Even something you think is a pretty good algorithm — like binary search, for example, suffers on modern architectures and you can improve its performance with some tricks. Actually, it is interesting that the tricks work on GCC, but don’t make a difference on Clang. Again, you have to measure these things.

Probably 90% of us will never need to use any of the kind of optimization you’ll find in this book. But it is a marvelous book if you enjoy solving puzzles and analyzing complex details. Of course, if you need to squeeze those extra microseconds out of a loop or you are writing a library where performance is important, this might be just the book you are looking for. Although it doesn’t cover many different CPUs, the ideas and techniques will apply to many modern CPU architectures. You’ll just have to do the work to figure out how if you use a different CPU.

We’ve looked at pieces of this sort of thing before. Pipelining, for example. Sometimes, though, optimizing your algorithm isn’t as effective as just changing it for a better one.

There’s More In A Cardboard Box Than What Goes In The Cardboard Box

The cardboard box is ubiquitous in our society. We all know what makes up a cardboard box: corrugated paper products, glue, and some work. Of course cardboard boxes didn’t just show up one day, delivered out of nowhere by an overworked and underpaid driver. In the video below the break, [New Mind] does a deep dive into the history of the cardboard box and much more.

Starting back in the 19th century, advancements in the bulk processing of wood into pulp made paper inexpensive. From there, cardboard started to take its corrugated shape. Numerous advancements around Europe and the US happened somewhat independently of each other, and by 1906 a conglomerate was formed to get the railroads to approve cardboard for use on cargo trains.

By then though, cardboard was still in its infancy. Further advancements in design, manufacturing, and efficiency have turned the seemingly low tech cardboard box into a high tech industry that’s heavy on automation and quality control. It’ll certainly be difficult to think of cardboard boxes the same.

There also numerous ways for a hacker to re-use cardboard, be it in template making, prototyping, model making, and more. Of course, corrugation isn’t just for paper. If corrugated plastic floats your boat, you might be interested in this boat that floats due to corrugated plastic.

Continue reading “There’s More In A Cardboard Box Than What Goes In The Cardboard Box”

The Hunt For The Voice Of Utah’s Arches

Double O Arch. Click to hear!

In the 1990 movie The Hunt For Red October, a stealth submarine is located by what a computer thinks are seismic sounds, but when sped up, they are clearly mechanical. We won’t spoil it further on the off chance that you haven’t seen. We can’t help but wonder if [Prof. Jeff Moore] and his team at the University of Utah were inspired by the movie. Why so? Because they have taken the seismic vibrations of the beautiful arches in Utah, US and sped them up 25 times, placing them right in the range of human hearing on their Red Rock Tones website. Go have a quick listen. We’ll be right here.

The resulting sound bites are just beautiful, and some of them have an almost eerie underwater tone to them as if driven along by a clandestine propulsion system. But that might just be our imagination running away a bit. That’s likely the point of this scientific exercise, however- taking raw scientific data and making it accessible and somehow relevant to even non-geologists.

The Dynamics of Rock Arches All Images Courtesy Prof Jeff Moore

[Prof Moore] and his team aren’t just placing seismometers on natural rock arches for the fun of it, even though that does sound like some fun. Instead, they are studying the natural resonances of these rock formations- both the primary frequencies and the harmonics. By monitoring changes in their resonant frequencies over time, they gain an understanding of how the rock is changing- especially as it relates to the impact that humans have on these natural wonders.

What’s more, these audible representations of seismic waves are something that may be possible for the determined hacker. We’ve featured several DIY seismometers such as this hacked USB mouse designed to detect elephants on the move. Could it be sensitive enough for measuring seismic activity? Try it out, and let us know!

Special thanks to [Prof. Jeff Moore] for permission to use the images for this article.

Daft Punk Word Clock Goes Stronger And Faster

What would you call a word clock that doesn’t tell time? The concept of a word clock is that all the words needed to be used are already there and then just selected. [Ben Combee] realized there were only 18 unique words to make up the song “Harder Faster Better Stronger” and with an extra PyBadge from Supercon 2021 on hand, it seems obvious to make a musical word clock of sorts.

The PyBadge is a 120 MHz ATSAMD51 based board with a screen, buttons, and a case that he 3d printed. To get reasonable sound quality while still fitting with the 2MB of flash storage on the device, MP3 compression was chosen. Since there was only one speaker, it was mixed down to mono and a lower bitrate, getting the size down to just 880KB. The mp3 is processed by the audiomp3 module in circuitpython with the volume level being sent to five NeoPixels to act as a VU. Getting the timing correct was the hardest part as the lyrics needed to be separated out and the timing figured out. Using Audacity’s label track feature, he had all the words tagged in the track and could export it into a format that could be massaged into a python friendly format.

The music and the text cues becoming desynchronized became a larger issue as the file plays. Increasing the MP3 buffer helped but the real trick was to peek inside the music decoder and figure out how many samples had been decoded and cue the words based on that, rather than the time since it wasn’t as accurate. All the code and files are up on his Hackaday.io page if you feel the need to make your own. If you’re sticking with Daft Punk, make sure to have your helmet ready when you rock. Though based on this summary of the compressibility of pop songs, there are a few other songs with a small enough number of unique words that they too could get the word clock treatment. Video after the break.

Continue reading “Daft Punk Word Clock Goes Stronger And Faster”