Emulating OBD-II On The ESP32

It used to be that you could pop the hood and with nothing more than flat head screwdriver, some baling wire, and tongue held at the optimal angle, you could fix anything that ailed your car. But today, for better or for worse, the average automobile is a rolling computer that runs on gasoline and hope (if it even still has a gasoline engine, that is). DIY repairs and maintenance on a modern car is still possible of course, but the home mechanic’s toolbox has needed to evolve with the times. If you want to do anything more advanced than changing a tire, you’ll really want to have the gear to interface with the vehicle’s computer via the OBD-II port.

But for some, even that isn’t enough. [limiter121] recently wrote in to tell us of an interesting project which doesn’t read the OBD-II port in a vehicle, but actually emulates one. Like so many others this hack was born out of necessity, as a way to test an OBD-II project without having to sit out in the driveway all day. It allows you to create fictitious speed and engine RPM values for the OBD-II device or software under test to read, complete with a slick web interface to control the “car”.

So what makes it tick? Surprisingly little, actually. At the most basic level, an ESP32-WROOM-32 is connected up to a SN65HVD230 CAN transceiver chip. You’ll also need a 3.3V power supply, as well as a USB to serial adapter to do the initial programming on the ESP32. From there it’s just a matter of compiling and flashing the code [limiter121] has made available in the GitHub repo.

If you’re wondering if such products don’t already exist on the commercial market, they do. But like so many other niche projects, the price is a bit hard to swallow for the home hacker. Compared to the nearly $300 USD list price of commercial offerings such as the Freematics OBD-II Emulator, building one of these ESP32 based emulators should only cost you around $20.

Unless you’re developing an OBD-II reader, you probably don’t have much use for an OBD-II emulator. But this project could still be useful for anyone who wants to learn more about OBD from the comfort of their couch.

1920’s Claratone Radio Runs Windows 10

In the past we’ve mentioned how there are different schools of thought in terms of how to bring a vintage piece of hardware into the 21st century. You can go down the preservationist’s route, carefully grafting the original components with more modern ones, or you can take the nuclear option and blow all that dusty old gear out of the water. [Derek Traxler] clearly decided to go with the latter option on his recent conversion of 1920’s era Claratone tube radio to an Internet radio and podcast player. Not only is there little left of the original device beyond its knobs and wooden case, but he’s even managed to cram a Windows 10 computer into the base for good measure.

The core of the radio is a LattePanda, an extremely powerful Intel single board computer. It’s running Windows, and loads up a list of Internet radio streams and podcasts to play from a USB thumb drive that’s built into an old vacuum tube. The LattePanda uses its built-in Arduino to interface with the radio’s original front panel knobs, which now are used to switch between streams. A particularly neat effect is the static and cross-talk that’s artificially added when switching “stations”, making it sound like you’re really dialing in a station rather than just selecting between digital files.

On the audio side, the LattePanda is connected to a SX400 amplifier, which in turn drives the external speakers. While [Derek] mentions it isn’t quite perfected, a MSGEQ7 graphic equalizer chip is used to control LEDs mounted inside the original radio’s vacuum tubes. In the video after the break, you can see the tubes flashing madly along with the music, giving an interactive effect to the final product. Unfortunately it seems you can only see the tubes when the radio has its “hood” up, though.

If this egregious lack of historical preservation has brought a tear to your eye, never fear. We’ve covered some proper restoration work on vintage audio gear which may level you out.

Continue reading “1920’s Claratone Radio Runs Windows 10”

Simple Quantum Computing In 150 Lines Of Python

What does it take to build a quantum computer? Lots of exotic supercooled hardware. However, creating a simulator isn’t nearly as hard and can give you a lot of insight into how this kind of computing works. A simulator doesn’t even have to be complicated. Here’s one that exists in about 150 lines of Python code.

You might wonder what the value is. After all, there are plenty of well-done simulators including Quirk that we have looked at in the past. What’s charming about this simulator is that with only 150 lines of code, you can reasonably read the whole thing in a sitting and gain an understanding of how the different operations really affect the state.

Continue reading “Simple Quantum Computing In 150 Lines Of Python”

Bringing Guitar Synthesis To The Microcontroller

If you’re working with audio in an embedded environment, the best option for years now has been the Teensy 3 microcontroller board. This choice has mostly been due to its incredible power and audio libraries, but until now we really haven’t seen a stompbox-style interface that used the Teensy to its fullest extent. Now we have, in [Wolkstein]’s GitSynth, everything you could want in a synthesizer that processes the signals from an electric guitar.

The core of this build is a Teensy 3, and all the audio goodies that come with that. Also included is a USB MIDI and audio interface, smartly both attached to a panel-mount USB-B connector on the back of the stompbox. Other controls include a single mono in jack for guitars and synths, two mono out jacks for stereo-ish output, a bunch of footswitches for bypass, tap tempo, preset selection, a jack for an expression pedal, and some buttons to move around the LCD user interface.

While putting a powerful microcontroller in a stomp box for is a project we’ve seen many times, this project really shines with the MIDI GUI that’s built for a device with a real display and a mouse. [Wolkstein] built a PyQt-based app for this synth, and it’s a plethora of buttons and sliders that looks similar enough to a real synthesizer. There’s enough configurability here for anyone.

You can check out the demo video (in German, but auto-translate subtitles exist) below.

Thanks [Mynaru] for the tip!

Continue reading “Bringing Guitar Synthesis To The Microcontroller”

Micro Chainsaw Gets A Much Needed Nitro Power Boost

When life hands you the world’s smallest chainsaw, what’s there to do except make it even more ridiculous? That’s what [JohnnyQ90] did when he heavily modified a mini-electric chainsaw with a powerful RC car engine.

The saw in question, a Bosch EasyCut with “Nanoblade technology,” can only be defined as a chainsaw in the loosest of senses. It’s a cordless tool intended for light pruning and the like, and desperately in need of the [Tim the Toolman Taylor] treatment. The transmogrification began with a teardown of the drivetrain and addition of a custom centrifugal clutch for the 1.44-cc nitro RC car engine. The engine needed a custom base to mount it inside the case, and the original PCB made the perfect template. The original case lost a lot of weight to the bandsaw and Dremel, a cooling fan was 3D-printed, and a fascinatingly complex throttle linkage tied everything together. With a fuel tank hiding in the new 3D-printed handle, the whole thing looks like it was always supposed to have this engine. The third video below shows it in action; unfortunately, with the engine rotating the wrong direction and no room for an idler gear, [JohnnyQ90] had to settle for flipping the bar upside down to get it to cut. But with some hacks it’s the journey that interests us more than the destination.

This isn’t [JohnnyQ90]’s first nitro rodeo — he’s done nitro conversions on a cordless drill and a Dremel before. You should also check out his micro Tesla turbine, too, especially if you appreciate fine machining.

Continue reading “Micro Chainsaw Gets A Much Needed Nitro Power Boost”

Recharging Drones On The Go With A Supercharger

If Techcrunch is to be believed, our skies will soon be filled with delivery robots, ferrying tacos and Chinese food and Amazon purchases from neighborhood-area dispatch stations to your front door. All of this is predicated on the ability of quadcopters to rapidly recharge their batteries, or at the very least swap out batteries automatically.

For their Hackaday Prize entry, [frasanz], [ferminduaso], and [david canas] are building the infrastructure that will make delivery drones possible. It’s a drone supercharger, or a robot that grabs a drone, swaps out the battery, and sends it off to deliver whatever is in its cargo compartment.

This build is a droneport of sorts, designed to have a drone land on it, have a few stepper motors and movable arms spring into action, and replace the battery with a quick-change mechanism. This can be significantly more difficult than it sounds — you need to grab the drone and replace the battery, something that’s easy for human eyes and hands, but much harder for a few sensors and aluminum extrusion.

To change batteries, the team is just letting the drone land somewhere on a platform that’s a few feet square. Arms then move it, pushing the drone to the center, and a second arm then moves in to swap the battery. The team is using an interesting locking cam solution to clamp the battery to the drone. It’s much easier for a machine to connect than the standard XT-60 connector found on race quads.

Is this the project the world needs? Quite possibly so. Drones are going to be awesome once battery life improves. Until then, we’ll have to live with limited flight times and drone superchargers.

Continue reading “Recharging Drones On The Go With A Supercharger”

Margaret Hamilton Takes Software Engineering To The Moon And Beyond

If you were to create a short list of women who influenced software engineering, one of the first picks would be Margaret Hamilton. The Apollo 11 source code lists her title as “PROGRAMMING LEADER”. Today that title would probably be something along the line of “Lead software engineer”

Margaret Hamilton was born in rural Indiana in 1936. Her father was a philosopher and poet, who, along with grandfather, encouraged her love of math and sciences. She studied mathematics with a minor in philosophy, earning her BA from Earlham College in 1956. While at Earlham, her plan to continue on to grad school was delayed as she supported her husband working on his own degree from Harvard. Margaret took a job at MIT, working under Professor Edward Norton Lorenz on a computer program to predict the weather. Margaret cut her teeth on the desk-sized LGP-30 computer in Norton’s office.

Hamilton soon moved on to the SAGE program, writing software which would monitor radar data for incoming Russian bombers. Her work on SAGE put Margaret in the perfect position to jump to the new Apollo navigation software team.

The Apollo guidance computer software team was designed at MIT, with manufacturing done at Raytheon. To say this was a huge software project for the time would be an understatement. By 1968, over 350 engineers were working on software. 1400 man-years of software engineering were logged before Apollo 11 touched down on the lunar surface, and the project was lead by Margaret Hamilton.
Continue reading “Margaret Hamilton Takes Software Engineering To The Moon And Beyond”