Fixing Issues With Knockoff Altera USB Blasters

Using an external MCU as a crude clock source for the Altera CPLD. (Credit: [Doug Brown])
One exciting feature of hardware development involving MCUs and FPGAs is that you all too often need specific tools to program them, with [Doug Brown] suffering a price tag aneurysm after checking the cost of an official Altera/Intel USB Blaster (yours for $300) to program a MAX 10 FPGA device with. This led him naturally down the path of exploring alternatives, with the $69 Terasic version rejected for ‘being too expensive’ and opting instead for the Waveshare USB Blaster V2, at a regretful $34. The amazing feature of this USB Blaster clone is that while it works perfectly fine under Windows, it works at most intermittently under Linux.

This led [Doug] down the path of reverse-engineering and diagnosing the problem, ultimately throwing in the towel and downclocking the Altera CPLD inside the adapter after finding that it was running a smidge faster than the usual 6 MHz. This was accomplished initially by wiring in an external MCU as a crude (and inaccurate) clock source, but will be replaced with a 12 MHz oscillator later on. Exactly why the problem only exists on Linux and not on Windows will remain a mystery, with Waveshare support also being clueless.

Undeterred, [Doug] then gambled on a $9 USB Blaster clone (pictured above), which turned out to be not only completely non-functional, but also caused an instant BSOD on Windows, presumably due to the faked FTDI USB functionality tripping up the Windows FTDI driver. This got fixed by flashing custom firmware by [Vladimir Duan] to the WCH CH552G-based board after some modifications shared in a project fork. This variety of clone adapters can have a range of MCUs inside, ranging from this WCH one to STM32 and PIC MCUs, with very similar labels on the case. While cracking one open we had lying around, we found a PIC18 inside, but if you end up with a CH552G-based one, this would appear to fully fix it. Which isn’t bad for the merest fraction of the official adapter.

Thanks to [mip] for the tip.

A Compact Electrohydrodynamic Pump Using Copper And TPU

Electrohydrodynamics (EHD) involves the dynamics of electrically charged fluids, which effectively means making fluids move using nothing but electric fields, making it an attractive idea for creating a pump out of. This is the topic of a 2023 paper by [Michael Smith] and colleagues in Science, titled “Fiber pumps for wearable fluidic systems”. The ‘fiber pumps’ as they call the EHD pumps in this study are manufactured by twisting two helical, 80 µm thick copper electrodes around a central mandrel, along with TPU (thermoplastic polyurethane) before applying heat. This creates a tube where the two continuous electrodes are in contact with any fluids inside the tube.

For the fluid a dielectric fluid is required to create the ions, which was 3M Novec 7100, a methoxy-fluorocarbon. Because of the used voltage of 8 kV, a high electrical breakdown of the fluid is required. After ionization the required current is relatively low, with power usage reported as 0.9 W/m, with one meter of this pump generating a pressure of up to 100 kilopascals and a flowrate of 55 mL/minute. One major limitation is still that after 6 days of continuous pumping, the copper electrodes are rendered inert due to deposits, requiring the entire system to be rinsed. Among the applications the researchers see artificial muscles and flexible tubing in clothing to cool, heat and provide sensory feedback in VR applications.

While the lack of moving parts as with traditional pumps is nice, the limitations are still pretty severe. What is however interesting about this manufacturing method is that it is available to just about any hobbyist who happens to have some copper wiring, TPU filament and something that could serve as a mandrel lying around.

Thanks to [Aaron Eiche] for the tip.

Oral-B Hopes You Didn’t Use Your $230 Alexa-Enabled Toothbrush

With companies desperate to keep adding more and more seemingly random features to their products, Oral-B made the logical decision to add Alexa integration to its Oral-B Guide electric toothbrush. Taking it one step beyond just Bluetooth in the toothbrush part, the Guide’s charging base also acted as an Alexa-enabled smart speaker, finally adding the bathroom to the modern, all-connected smart home. Naturally Oral-B killed off the required Oral-B Connect smartphone app earlier this year, leaving Guide owners stranded in the wilderness without any directions. Some of the basics of this shutdown are covered in a recent Ars Technica article.

Amidst the outrage, it’s perhaps good to take a bit more of a nuanced view, as despite various claims, Oral-B did not brick the toothbrush. What owners of this originally USD$230 device are losing is the ability to set up the charging base as an Alexa smart speaker, while the toothbrush is effectively just an Oral-B Genius-series toothbrush with Bluetooth and associated Oral-B app. If you still want to have a waterproof smart speaker listening in while in the bathroom, you’ll have to look elsewhere, it seems. Meanwhile existing customers can contact Oral-B support for assistance, while the lucky few who still have the Connect app installed better hope it doesn’t disconnect, as reconnecting it to the smart speaker seems to be impossible, likely due to services shut down by Oral-B together with the old “oralbconnect.com” domain name.

We recently looked at a WiFi-enabled toothbrush as well, which just shows how far manufacturers of these devices are prepared to go, whether they intend to support it in any meaningful fashion or not.

The End Of BLHeli_32: Long Live AM32?

An essential part of drones are the Electronic Speed Controller (ESC) which translate the commands from the flight computer into responses by the connected brushless motors (generally BLDCs). As the ESC determines a lot of the performance characteristics of a drone, it has its own firmware, which for (FPV) drones is overwhelmingly BLHeli, specifically the 32-bit version (BLHeli_32). Now the Norwegian company (BLHeli AS) behind this closed source firmware has thrown in the towel, citing illegal use of its firmware by sanctioned countries like Russia for purposes like warfare. This news and its implications are covered in detail in a video by the [Mads Tech]  YouTube channel, including the message sent to customers by the company’s lawyer.

So far the GitHub repository is still online, featuring binary images for BLHeli_32, as well as the open source BLHeli (8-bit Atmel/Silabs) firmware and BLHeli_S (multirotor 8-bit Silabs) firmware. Due to the open source nature of these earlier projects forks already exist, such as BlueJay for BLHeli_S, and with the AM32 project there is an open source 32-bit ESC alternative. For 8-bit platforms it would thus seem that even with BLHeli_32 vanishing there is no impact at all, while for 32-bit platforms AM32 seems to be largely a drop-in solution.

Regardless of the reasons behind BLHeli_32 vanishing like this, the community and businesses can now hopefully move their (financial) support over to the AM32 project, making this more of a blip than an outright disaster for those who are into their high-end multicopter drones.

Thanks to [Frank Zhao] for the tip.

Continue reading “The End Of BLHeli_32: Long Live AM32?”

Programming Ada: Records And Containers For Organized Code

Writing code without having some way to easily organize sets of variables or data would be a real bother. Even if in the end you could totally do all of the shuffling of bits and allocating in memory by yourself, it’s much easier when the programming language abstracts all of that housekeeping away. In Ada you generally use a few standard types, ranging from records (equivalent to structs in C) to a series of containers like vectors and maps. As with any language, there are some subtle details about how all of these work, which is where the usage of these types in the Sarge project will act as an illustrative example.

In this project’s Ada code, a record is used for information about command line arguments (flag names, values, etc.) with these argument records stored in a vector. In addition, a map is created that links the names of these arguments, using a string as the key, to the index of the corresponding record in the vector. Finally, a second vector is used to store any text fragments that follow the list of arguments provided on the command line. This then provides a number of ways to access the record information, either sequentially in the arguments vector, or by argument (flag) name via the map.

Continue reading “Programming Ada: Records And Containers For Organized Code”

Building And Testing A 1912-style Radio

A glimpse at a high-end radio set, for 1912. (Credit: [glasslinger], YouTube)
Doing electronics in the 1910s was rather rough, with the radio probably the pinnacle of hi-tech. Despite this, with some know-how and basic wood- and metal-working skills you could get pretty far with DIY-ing a radio set. As [glasslinger] demonstrates in a YouTube video, you can even build your own set with your own crafted tube-amplifier. With items like a hand-crafted resistor and capacitor – as well as tuning elements and period-correct point-to-point wiring – it definitely has that retro vibe to it.

Such DIY projects used to be very commonly featured in electronics magazine, even after the transistor came onto the scene by the 1950s. The fancier designs use a regenerative design, like this one by [Dick Whipple] which provides not only some background theory, but also the full schematic and how-to in case you feel like giving it a shake yourself.

Even if you’re not into crafting your own basic electronic components, radios like these are a great introduction to a lot of RF theory and amplification basics.

Continue reading “Building And Testing A 1912-style Radio”

Walking Through A Scene From Riven On The Apple II

Twenty years before the 1997 release of Riven – Cyan’s sequel to the critically acclaimed title Myst – a fruity company in California released the Apple II, a 6502-based microcomputer that would be produced until 1993. With the upcoming remake by Cyan of Riven into a fully 3D experience, [deater] found themselves wondering how much of the original game’s click-and-puzzle game would fit on a 140 kB floppy for the Apple II series of computers. Since Myst was able to be squeezed  onto a mere three floppies and provide a reasonably playable version of the game on the Apple II, surely the same could be done for this sequel?

The Maglev in the Apple II port of Riven. (Credit: [deater])
The Maglev in the Apple II port of Riven. (Credit: [deater])
Just a look at the system requirements for Riven (Win95+, 100 MHz Pentium, 16 MB RAM and 75 MB disk space) and the knowledge that the game came on five CD-ROMs (until the DVD release) should instill some trepidation that a serious demake would be needed. Ultimately [deater] managed to set the system requirements for the port to any Apple II with at least 48 kB of RAM. The same custom game engine as for the Myst port is used, with the original CG stills downsampled and the movies rotoscoped at fairly low framerate.

Although the ‘Disk 39’ in the video is currently the sole floppy, containing part of Dome Island and the Maglev, it is probably a fair assessment of how many 140 kB disks would be needed to port the entire game. Even with the downsampled graphics, [deater] reckons it would take on the order of hundreds of floppies to fit the whole thing.

Continue reading “Walking Through A Scene From Riven On The Apple II”