Displays We Love Hacking: SPI And I2C

I’ve talked about HD44780 displays before – they’ve been a mainstay of microcontroller projects for literal decades. In the modern hobbyist world, there’s an elephant in the room – the sheer variety of I2C and SPI displays you can buy. They’re all so different, some are LCD and some are OLED, some have a touchscreen layer and some don’t, some come on breakouts and some are a bare panel. No matter which one you pick, there are things you deserve to know.

These displays are exceptionally microcontroller-friendly, they require hardly any GPIOs, or none extra if you already use I2C. They’re also unbelievably cheap, and so tiny that you can comfortably add one even if you’re hurting for space. Sure, they require more RAM and a more sophisticated software library than HD44780, but with modern microcontrollers, this is no problem at all. As a result, you will see them in almost every project under the sun.

What do you need for those? What are the requirements to operate one? What kind of tricks can you use with them? Let’s go through the main aspects.

Continue reading “Displays We Love Hacking: SPI And I2C”

Teardown Of FGM-148 Javelin Missile’s Guidance Computer

You know it’s a good teardown when [Michel] starts off by saying to not ask him where exactly he got the guidance section of an FGM-148 Javelin from. This shoulder-launched anti-tank guided missile (ATGM) is a true marvel of engineering that has shown its chops during recent world events. As a fire-and-forget type guided missile it is designed to use the internal IR tracker to maintain a constant lock on the target, using its guidance system to stay exactly on track.

FGM-148 Javelin schematic overview. (Source: U.S. Army, FM 3-22.37)
FGM-148 Javelin schematic overview. (Source: U.S. Army, FM 3-22.37)

Initially designed in 1989 and introduced into service in 1996, it has all the ceramic-and-gold styling which one would expect from a military avionics package from the era. Tasked with processing the information from the IR sensor, and continuously adjusting the fins to keep it on course, the two sandwiched, 3 mm thick PCBs that form the main section of the guidance computer are complemented by what looks like a milled aluminium section which holds a sensor and a number of opamps, all retained within the carbon-fiber shell of the missile.

In the video [Michel] looks at the main components, finding datasheets for many commercially available parts, with the date codes on the parts confirming that it’s a late 80s to early 90s version, using presumably a TMS34010 as the main CPU on the DSP board for its additional graphics-related instructions. Even though current production FGM-148s are likely to use far more modern parts, this is a fun look at what was high-end military gear in the late 1980s and early 1990s.

Continue reading “Teardown Of FGM-148 Javelin Missile’s Guidance Computer”

How Do You Test If An EEPROM Can Hold Data For 100 Years?

Data retention is a funny thing. Atmel will gladly tell you that the flash memory in an ATmega32A will retain its data for 100 years at room temperature. Microchip says its EEPROMs will retain data for over 200 years. And yet, humanity has barely had a good grasp on electricity for that long. Heck, the silicon chip itself was only invented in 1958. EEPROMs and flash storage are altogether younger themselves.

How can these manufacturers make such wild claims when there’s no way they could have tested their parts for such long periods of time? Are they just betting on the fact you won’t be around to chastise them in 2216 when your project suddenly fails due to bit rot.

Well, actually, there’s a very scientific answer. Enter the practice of accelerated wear testing.

Continue reading “How Do You Test If An EEPROM Can Hold Data For 100 Years?”

Tesla’s Plug Moves Another Step Closer To Dominance

Charging an EV currently means making sure you find a station with the right plug. SAE International has now published what could be the end to the mishmash of standards in North America with the J3400 North American Charging Standard.

The SAE J3400TM North American Charging Standard (NACS) Electric Vehicle Coupler Technical Information Report (TIR), which just rolls off the tongue, details the standard formerly only available on Tesla vehicles. We previously talked about the avalanche of support from other automakers this year for the connector, and now that the independent SAE standard has come through, the only major holdout is Stellantis.

Among the advantages of the NACS standard over the Combined Charging System (CCS) or CHAdeMO is a smaller number of conductors given the plug’s ability to carry DC or AC over the same wires. Another benefit is the standard using 277 V which means that three separate Level 2 chargers can be placed on a single 3-phase commercial line with no additional step down required. Street parkers can also rejoice, as the standard includes provisions for lampost-based charger installations with a charge receptacle plug instead of the attached cable required by J1772 which leads to maintenance, clutter, and ADA concerns.

Now that J3400/NACS is no longer under the purview of a single company, the Federal Highway Administration has announced that it will be looking into amending the requirements for federal charger installation subsidies. Current rules require CCS plugs be part of the installation to qualify for funds from the Bipartisan Infrastructure Bill.

If you want to see how to spice up charging an EV at home, how about this charging robot or maybe try fast charging an e-bike from an electric car plug?

Arduino Measures Remaining Battery Power With Zero Components, No I/O Pin

[Trent M. Wyatt]’s CPUVolt library provides a fast way to measure voltage using no external components, and no I/O pin. It only applies to certain microcontrollers, but he provides example Arduino code showing how handy this can be for battery-powered projects.

The usual way to measure VCC is simple, but has shortcomings.

The classical way to measure a system’s voltage is to connect one of your MCU’s ADC pins to a voltage divider made from a couple resistors. A simple calculation yields a reading of the system’s voltage, but this approach has two disadvantages: one is that it constantly consumes power, and the other is that it ties up a pin that you might want to use for something else.

There are ways to mitigate these issues, but it would be best to avoid them entirely. Microchip application note 2447 describes a method of doing exactly that, and that’s precisely what [Trent]’s Arduino library implements.

What happens in this method is one selects Vbg (a fixed internal voltage reference that is temperature-independent) as Vin, and selects Vcc as the ADC’s voltage reference. This is essentially backwards from how the ADC is normally used, but it requires no external hookup and is only a bit of calculation away from determining Vcc in millivolts. There is some non-linearity in the results, but for the purposes of measuring battery power in a system or deciding when to send a “low battery” signal, it’s an attractive solution.

Being an Arduino library, CPUVolt makes this idea very easy to use, but the concept and method is actually something we have seen before. If you’re interested in the low-level details, then check out our earlier coverage which goes into some detail on exactly what is going on, using an ATtiny84.

Homebrew Gel Fuel Keeps The Steam Coming, Legally

All it takes is one knucklehead to go and do something stupid to screw things up for everyone. We’re not exactly sure who the knucklehead is behind the recent ban on hexamine fuel tablets, but given that it’s now proscribed in the UK under the “Control of Poisons and Explosives Precursors Regulations 2023,” we expect that that story is a doozy.

So what’s hexamine, and why should we care if it’s banned? As [Markus Bindhammer] explains, hexamine is a solid fuel commonly used to power model steam engines, among myriad other uses. Its ban leaves a bit of a hole in the model steam community, which [Markus] seeks to fill with this quick and easy gel fuel chemistry project.

The “California Snowball” is a homebrew version of what’s in those solid fuel cans you see heating chafing pans at catered events, with one common brand being Sterno. [Markus] used a saturated solution of calcium acetate (6 g in 50 ml of water) and added that to 150 ml of ethanol; commercial formulations usually use methanol to prevent anyone from drinking the stuff, with varying degrees of success. The calcium acetate forms a gel that looks like whipped cream and traps the ethanol inside. The gel can be easily scooped up and spread around, and burns with a clean, smokeless flame.

It may not exactly be a “plug and play” replacement for hexamine tablets, but one does what one can. And if there’s one thing we can celebrate about model steam engineers, it’s their persistence. We got a bunch of them together last year for a Hack Chat with [Quinn Dunki], and their passion for making things move with steam was pretty impressive.

Continue reading “Homebrew Gel Fuel Keeps The Steam Coming, Legally”

Multi-View Wire Art Meets Generative AI

DreamWire is a system for generating multi-view wire art using machine learning techniques to help generate the patterns required.

The 3-dimensional wire pattern in the center creates images of Einstein, Turing, and Newton depending on viewing angle.

What’s wire art? It’s a three-dimensional twisted mass of lines which, when viewed from a certain perspective, yields an image. Multi-view wire art produces different images from the same mass depending on the viewing angle, and as one can imagine, such things get very complex, very quickly.

A recently-released paper explains how the system works, explaining the role generative AI plays in being uniquely suited to create meaningful intersections between multiple inputs. There’s also a video (embedded just under the page break) that showcases many of the results researchers obtained.

The GitHub repository for the project doesn’t have much in it yet, but it’s a good place to keep an eye on if you’re interested in what comes next.

We’ve seen generative AI applied in a similarly novel way to help create visual anagrams, or 2D patterns that can be interpreted differently based on a variety of orientations and permutations. These sorts of systems still need to be guided by a human, but having machine learning do the heavy lifting allows just about anybody to explore their creativity.

Continue reading “Multi-View Wire Art Meets Generative AI”