Parametric Design Process Produces Unique Speakers

When building one-off projects, it’s common to draw up a plan on a sheet of paper or in CAD, or even wing it and hope for the best outcome without any formal plans. Each of these design philosophies has its ups and downs but both tend to be rigid, offering little flexibility as the project progresses. To solve this, designers often turn to parametric design where changes to any part of the design are automatically reflected throughout the rest, offering far greater flexibility while still maintaining an overall plan. [Cal Bryant] used this parametric method to devise a new set of speakers for an office, with excellent results.

The bulk of the speakers were designed with OpenSCAD, with the parametric design allowing for easy adjustments to accommodate different drivers and enclosure volumes. A number of the panels of the speakers are curved as well, which is more difficult with traditional speaker materials like MDF but much easier with this 3D printed design. There were a few hiccups along the way though; while the plastic used here is much denser than MDF, the amount of infill needed to be experimented with to achieve a good finish. The parametric design paid off here as well as the original didn’t fit exactly within the print bed, so without having to split up the print the speakers’ shape was slightly tweaked instead. In the end he has a finished set of speakers that look and sound like a high-end product.

There are a few other perks to a parametric design like this as well. [Cal] can take his design for smaller desk-based speakers and tweak a few dimensions and get a model designed to stand up on the floor instead. It’s a design process that adds a lot of options and although it takes a bit more up-front effort it can be worth it while prototyping or even for producing different products quickly. If you want to make something much larger than the print bed and slightly changing the design won’t cut it, [Cal] recently showed us how to easily print huge objects like arcade cabinets with fairly standard sized 3D printers.

Most Powerful Laser Diodes, Now More Powerful

Many hobbies seem to have a subset of participants who just can’t leave well enough alone. Think about hot rodders, who squeeze every bit of power out of engines they can, or PC overclockers, who often go to ridiculous ends to milk the maximum performance from a CPU. And so it goes in the world of lasers, where this avalanche driver module turns Nichia laser diodes into fire-breathing beasts.

OK, that last bit might be a little overstated, but there’s no denying the coolness of what laser jock [Les Wright] has accomplished here. In his endless quest for more optical power, [Les] happened upon a paper describing a simple driver circuit that can dump massive amounts of current into a laser diode to produce far more optical power than they’re designed for. [Les] ran with what few details the paper had and came up with a modified avalanche driver circuit, with a few niceties for easier testing, like accommodation for different avalanche transistors and a way to test laser diodes in addition to the Nichia. He also included an onboard current sensing network, making it easy to hook up a high-speed oscilloscope to monitor the performance of the driver.

For testing, [Les] used a high-voltage supply homebrewed from a Nixie inverter module along with a function generator to provide the pulses. The driver was able to push 80 amps into a Nichia NUBM47 diode for just a few nanoseconds, and when all the numbers were plugged in, the setup produced about 67 watts of optical power. Not one to let such power go to waste, [Les] followed up with some cool experiments in laser range finding and dye laser pumping, which you can check out in the video below. And check out our back catalog of [Les]’ many laser projects, from a sketchy tattoo-removal laser teardown to his acousto-optical filter experiments. Continue reading “Most Powerful Laser Diodes, Now More Powerful”

Reverse Engineering A Keyboard Driver Uncovers A Self-Destruct Code

Should you be able to brick a keyboard just by writing a driver to flash the lights on it? We don’t think so either. [TheNotary] got quite the shock when embarking on a seemingly straightforward project to learn C++ on the x86-64 architecture with Windows and sent it straight to Silicon Heaven with only a few seemingly innocent USB packets.

The project was a custom driver for the XVX S-K80 mechanical keyboard, aiming to flash LED patterns across the key LEDs and perhaps send custom images to the integrated LCD. When doing this sort of work, the first thing you need is the documentation of the communications protocols. Obviously, this was not an option with a closed-source project, so the next best thing is to spy on the existing Windows drivers and see how they worked. Using Wireshark to monitor the USB traffic whilst twiddling with the colour settings, it was clear that communications were purely over HID messages, simplifying subsequent analysis. Next, they used x32dbg (now x64dbg, but whatever) to attach to the existing driver process and trap a few interesting Windows system calls. After reading around the Windows API, a few candidate functions were identified and trapped. This gave them enough information to begin writing code to reproduce this behaviour. Then things got a bit odd.

Continue reading “Reverse Engineering A Keyboard Driver Uncovers A Self-Destruct Code”

An Open Source 6kW GaN Motor Controller

We don’t know how you feel when designing hardware, but we get uncomfortable at the extremes. High voltage or current, low noise figures, or extreme frequencies make us nervous.  [Orion Serup] from CrabLabs has been turning up a few of those variables and has created a fairly beefy 3-phase motor driver using GaN technology that can operate up to 80V at 70A. GaN semiconductors are a newer technology that enables greater power handling in smaller packages than seems possible, thanks to high electron mobility and thermal conductivity in the material compared to silicon.

The KiCAD schematic shows a typical high-power driver configuration, broken down into a gate pre-driver, the driver itself, and the following current and voltage sense sub-circuits. As is typical with high-power drivers, these operate in a half-bridge configuration with identical N-channel GaN transistors (specifically part