A Headset Fit For A Hackaday Writer

I started writing this from a commuter train passing at speed through the outskirts of London, and my headset had just broken. The flexible joint that attaches one earpiece to the headband has snapped, leaving the earpiece dangling on its cable. This is annoying on its own, but what is annoying me enough to write about it is that this isn’t the first time. This is only the latest in a succession of headsets I’ve taken on the road with me has broken, not because of rough treatment, but simply due to flimsy or bad design. What on earth can I do about this?

Failure Built-In

The earpiece of an EPOS headset, detached from its band.
Failure inevitable: the whole headset relied on a tiny piece of plastic in the centre.

The most recent three have been a JVC whose rotating joint allowing the earpiece to lie at a slight angle with my ear has failed, a quite expensive Logitech whose ear sponges failed closely followed by its USB cable, and now an EPOS whose ball joint has failed.

I repaired the JVC and got a bit more life out of it and I’ll have a go at repairing this EPOS, but that’s hardly the point. I’m paying not inconsequential money and I’m getting good sound quality and electronics, but I’m not getting anywhere near the mechanical quality I need. I could buy a set of tough DJ headphones such as the Sennheiser HD25, but they don’t come with a microphone, they’re not a headset.

So if I can’t buy a decent headset without spending military grade money on one from an F16 fighter, what can I do to make my own? I’m an engineer, damnit!

At its most basic, a headset is a springy band that goes over the head, with an earpiece at its end. But a human head is not a cube with vertical parallel sides, it’s a complex shape and every one is different. So those earpieces have to have some “give” in them in order to fit comfortably against the ear. In the simplest case this is achieved by giving the earpiece a soft surround that moulds itself to the ear, but most headsets incorporate some articulation. The earpiece must rotate a little around a vertical line parallel with the ear, and also with a horizontal line at right angles to the axis of the ear. The EPOS managed both axes by means of a ball joint, while the JVC had a stirrup with pins to achieve the horizontal motion, and a circular joint — the part which broke — for the vertical. In both case the weak point was a thin part of the plastic moulding which broke, on the EPOS a short stalk for the ball in the ball joint, and in the JVC a similar stalk for the circular joint. Any design I come up with must avoid this type of weak point, and spread the load of an earpiece over considerably more material than my broken headset. Continue reading “A Headset Fit For A Hackaday Writer” →

The EDG C++ Compiler Frontend Has Been Open Sourced

Recently [John Spicer] of the EDG C++ compiler front-end project announced that the project will be made open source, from now on managed by the non-profit C++ Alliance. Related source code can be found on the GitHub account.

The Edison Design Group (EDG) is a US company which has made compiler front-ends since 1988, previously also for Java and Fortran. They are used in the Intel C++ compiler, Microsoft’s VC++, NVIDIA’s CUDA compiler, as well as many other commercial products. Last year the decision was made to shutdown the company in 2026 and transition to an open source model, with the details outlined on the EDGCPP site.

Although far from the only C++ front-end, EDGCPP will be very interesting still for supporting bleeding-edge features and having been used in such wide-ranging, demanding applications by a host of commercial customers. For most of us C++ developers our contact with it will have been via the MSVC and Intel Compiler Collection tooling, but of course it’s just one part of the entire toolset.

We’re looking forward to seeing what this means for the wider open source C++ ecosystem, especially as it pertains to GCC and LLVM’s Clang.

Using LineageOS For Phones And DIY Smart TVs Is Pretty Nifty

Although Android is essentially just another Linux distribution, most people only experience it in the form of the rather restrictive and proprietary versions found on smartphones, tablets and smart TVs. While this is probably fine for the average person, there’s also a lot to be said for the more pure Android experience in the form of LineageOS.

With this fully open and community-supported version of Android you’re free to muck about with your hardware to your heart’s content, without annoyances like unremovable bloatware apps and restrictions on e.g. enabling developer mode.

Even more fun is that there are ports of LineageOS to systems such as the Raspberry Pi SBC, including in the Android TV configuration. This means that not only can your ten year old Android phone get a make-over with a recent version of Android, you can also create your own Android TV-based smart TV without all the spying and other nasty things that commercial smart TVs love to do.

Continue reading “Using LineageOS For Phones And DIY Smart TVs Is Pretty Nifty” →

USB-C PD Tamed With This Analyzer

USB-C Power Delivery (PD) has been a boon to anyone working with low-voltage DC power, because at a stroke it replaces a vast array of wall warts, power supplies, and connector standards with one simple and straightforward commoditized system. But with varying capabilities between sources and sinks, it can be difficult to know what’s going on.

[Marco Tabini] has created Dr. PD, a USB -C PD protocol analyzer. It can sit between USB-C PD source and sink, or emulate a sink in order to characterize a source. It supports an impressive range of USB power protocols, and can work up to the full 48 volt/240 watt limits of the technology. The project is open source and is to be the subject of a crowdfunding campaign should you want one without the extra work.

It’s likely that many of you will have had bad experiences with cheap USB-C PD gear failing to follow standards, being unable to handle the specified current, or just plain supplying the wrong voltage. We have, and while USB-C PD is genuinely a great technology, this regrettable hardware represents its grubby underbelly. This is just the project we need on the bench in our hackerspace.

In the past we’ve written about USB-C PD as a great example of new technology done right.

A New Type Of LLM On The Block: Decision-Making Models

Large language models (LLMs) output language, but they are commonly tasked with making a decision or classification of some kind instead of writing an essay or chat reply. An LLM will be provided with input, and asked to classify that content in some way: with a rating, yes/no answer, a best-fit categorization, and so forth. A recent new type of model by the name of Jev was released only weeks ago and it is extremely fast, ultra-cheap, and laser-focused on that decision-making role. It can’t write even a single sentence, but it can classify and categorize very, very quickly.

Jev works like this: it still accepts text input, but it outputs only floating-point numbers. Those numbers are the “answers” to user-specified yes/no type questions, lists of choices, and scoring-type requests. [Simon Willison] provides a concise summary of what Jev does, and what makes this new category of model so interesting.

To say that the idea has caught on would be a wild understatement. Folks are making their own decision-type models and experiments in a flurry. Kev and Nimble are two examples (Nimble was added as a supported model in Ollama just recently, and is small enough to run locally with relative ease.)

If this type of local AI model was the missing link you needed to get an idea working, don’t keep it to yourself! Tell us all about it on the tips line.

Two Microcontrollers Talking, All It Needs Is An LED

There are some projects that seem at first sight to be easy, but anyone who tries them finds a whole heap of unexpected problems and turns to the off-the-shelf device. PCB antennas for example, or data links using LEDs, whether IR or visible. The latter doesn’t faze [Luca Soltoggio] though, because he has two ESP32s talking to each other using visible light. Best of all, both use a single LED as both transmitter and receiver.

The software is called SecurePair, and is an Arduino library for exchanging keys and communicating with encryption. The LEDs are the cool hardware hack but it’s designed to work with ESPNow or LoRa too, indeed a typical use case would see light for pairing and wireless for the exchange of encrypted data.. In case you were wondering, it relies on the property of an LED that it’s also a photodiode of sorts. Best of all, while the examples have two ESP32s, it’s not limited to that number and many more can join the conversation if needed.

Check out the video below to see it in action — if you’re curious about LEDs as sensors, we’ve been there too.

Continue reading “Two Microcontrollers Talking, All It Needs Is An LED” →

3D-Printed Filter Removes Most Microplastics From Water

With the rise of synthetic polymers in everywhere from clothing, packaging and beyond, we have also seen a corresponding rise in fragments of these polymers in the environment. These micro- and nanoplastics (MNPs) come in a wide variety of sizes, but have in common that they do not break down very easily, leaving filtration as an important way to keep them out of our potable water sources. A recent paper by [Ethan A. Crawford] et al. in  Separation and Purification Technology details a way to use a low-cost, 3D-printed filtration mesh to filter out up to 90% of MNPs using their prototype.

This prototype uses a multi-layer filtration system printed in PLA, creating a flow-through system in which polyethylene glycol (PEG) acts as a sacrificial additive to the PLA. Whereas creating the fine pores required for filtration of MNPs is impossible using FDM printing, the spheres of PEG that form inside the printed filter can be subsequently etched away using nothing but hot (80°C) water, leaving behind a porous surface capable of trapping fine particles.

These pores are characterized in the paper, with the PLA-PEG10 sample showing the best porous structure while maintaining structural integrity of the PLA material. With 20 layers of these filters a filtration efficiency of 90% was achieved, though as the authors note aspects like improving the system and potential reusability still have to be investigated.

We have previously looked at MNPs, including how little we know about how many of them really are inside our bodies right now, and how lab gloves may be contaminating test results.