When Your Car Breaks Down, Simply Hack It Into A Simulator

When [Nishanth]’s Subaru BRZ came to a sudden halt, he was saddened by the wait to get a new engine installed. Fortunately, he was able to cheer himself up by hacking it into a car simulator in the mean time. This would have the added benefit of not being limited to just driving on the Road Atlanta where the unfortunate mishap occurred, but any course available on Forza and similar racing games.

On paper it seemed fairly straight-forward: simply tap into the car’s CAN bus for the steering, throttle, braking and further signals, convert it into something a game console or PC can work with and you’re off to the races. Here the PC setup is definitely the cheapest and easiest, with a single part required: a Macchina M2 Under the Dash kit ($97.50). The XBox required over $200 worth of parts, including the aforementioned Macchina part, an XBox Adaptive Controller and a few other bits and pieces. And a car, naturally.

https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd49697c6-29ae-4b4d-a27b-e2da019d32de%2FUntitled.png?table=block&id=ed4e1bf2-91c6-4494-8e0f-f10964620869&width=5120&cache=v2

The Macchina M2 is the part that listens to the CAN traffic via the OBD2 port, converting it into something that resembles a USB HID gamepad. So that’s all a matter of plug’n’play, right? Not so fast. Every car uses their own CAN-based system, with different peripherals and addresses for them. This means that with the Macchina M2 acquired, [Nishanth]’s first task was to reverse-engineer the CAN signals for the car’s controls.

At this point the story is pretty much finished for the PC side of things, but the XBox One console is engineered to only accept official peripherals. The one loop-hole here is the Adaptive Controller, designed for people with disabilities, which allows the use of alternative inputs. This also enables using a car as an XBox One controller, which is an interesting side-effect.

Continue reading “When Your Car Breaks Down, Simply Hack It Into A Simulator”

The Zen Of Mechanical Keyboard Wiring

Mechanical keyboards are all the rage right now, but the vast majority of them are purchased commercially. Only the most dedicated people are willing to put in the time and effort required to design and assemble their own custom board, and as you might imagine, we’ve featured a number of such projects here on Hackaday in the past.

But what makes this particular mechanical keyboard build from [kentlamh] so special isn’t the final product (though it’s certainly quite nice), but the care he took when hand-wiring all of the switches to the Teensy 2.0 microcontroller that serves as its controller. There’s no PCB inside this custom board, it’s all rainbow colored wires, individual diodes, and the patience to put it all together with tweezers.

[kentlamh] takes the reader through every step of the wiring process, and drops a number of very helpful hints which are sure to be of interest to anyone who might be looking to embark on a similar journey. Such as bending the diode legs en masse on the edge of a table, or twisting them around a toothpick to create a neat loop that will fit over the pin on the back of the switch.

He also uses a soldering iron to melt away the insulation in the middle of the wires instead of suffering through hundreds of individual jumpers. We’ve seen this trick before with custom keyboards, and it’s one of those things we just can’t get enough of.

Some will no doubt argue that the correct way to do this would be to use an automatic wire stripper, and we don’t necessarily disagree. But there’s something undeniably appealing about the speed and convenience of just tapping the wire with the iron at each junction to give yourself a bit of bare copper to work with.

Even if you aren’t enough of a mechanical keyboard aficionado to travel all the way to Japan to attend the official meetup or discuss the finer points of their design at the Hackaday Superconference, there’s an undeniable beauty to this custom board. With a little guidance from [kentlamh], perhaps it will be your own handwired masterpiece that’s next to grace these pages.

[Thanks to Psybird for the tip.]

Putting 3D Printed Speaker Drivers To The Test

Over the years, we’ve seen numerous projects that attempted to 3D print speaker enclosures that deliver not only a bit of custom flair, but hopefully halfway decent sound. Though as you’d probably expect, the drivers themselves are always standard run-of-the mill hardware mounted into the plastic enclosure. But given the research being conducted by [Paul Ellis], that might not be a safe assumption for much longer.

His quest to develop a full-range 3D speaker has taken him through several design revisions over the last two years, with each one being put through testing procedure that compared its frequency response to “real” speakers from manufacturers like Dayton and Bose. The project is very much ongoing, but a recently completed iteration of the driver design managed to exceed 80 dB at 1 W. In terms of audio quality, [Paul] reports they can hold their own against commercially available drivers. You can hear for yourself in the video after the break.

Ultimately, he hopes to be able to sell his 3D printed speakers in kit form to anyone who’s looking for the last word in bespoke audio hardware. The idea being that the drivers and enclosure will be completely modular, allowing the user to swap out individual components for ones printed (or not) in different materials so they can tune the in-person sound to their exact specifications. To facilitate this rapid reconfiguring of the drivers, the designs use some neat tricks like having the magnets be removable rather than glued in so they could be swapped out non-destructively.

This isn’t the first fully 3D printed speaker driver we’ve ever seen, Formlabs showed one off that was made on their SLA printer back in 2015, and we actually saw a rudimentary take on the same idea earlier this year. But the work that [Paul] has done here is certainly the most thorough, and dare we say practical, take we’ve ever seen on the concept.

Continue reading “Putting 3D Printed Speaker Drivers To The Test”

The Ultimate Guide To Artisan USB Cables

If you’ve gone through the trouble of building your own customized mechanical keyboard, the last thing you want to do is plug it into your computer with some plebeian USB cable from the local electronics shop. Your productivity, nay livelihood, depends on all those 1s and 0s being reproduced with the crisp fidelity that’s only possible with a high-end USB cable. Anything less would be irresponsible.

Or at least, that’s what the advertising on the back of the package would say if we tried to sell the custom USB cables built by [Josef Adamčík]. But alas, he’s decided to give away all the details for free so that anyone can build their own delightfully overengineered USB cables. Do you need a paracord USB cable with GX12 aviation connectors in the middle? Of course not. But you still want one, don’t you?

As [Josef] admits in his blog post, there’s nothing particularly special about what he’s doing here. If you can splice wires together, you can build your own bespoke USB cables. But what attracted us to his write-up was the phenomenal detail he goes into. Every step is clearly explained and includes a nice, well-lit, photo to illustrate what he’s doing. Honestly, when the documentation for soldering some USB connectors onto a wire looks this good, there’s no excuse why more substantial projects get little more than a few blurry shots.

Of course, even for those of us who are no stranger to the ways of the soldering iron, there’s likely a few ideas you can pull from this project. We particularly liked his tip for taping the USB connector to the workbench while soldering it rather than trying to get it to stay in a vise, and his method for adding a coil the cable with a wooden jig and a heat gun is definitely something to file away for future use.

Then again in an era where even the lowly-USB cable can potentially be a security threat, or simply not live up to published specifications, rolling your own might not be such a bad idea.

Perfecting A Bluetooth N64 Controller

Love it or hate it, the Nintendo 64 controller doesn’t seem to be going anywhere. Dedicated fans are still looking for ways to use the unique trilobed controller with modern systems, and they won’t be satisfied until they perfectly replicate the original experience. [Shyri Villar] has been working on perfecting a blend of original and modern hardware that looks very promising.

The project started when [Shyri] found that you could take the internals from a modern third party Bluetooth N64 controller made by 8BitDo and put them into the original controller’s case. This would give you the original buttons back, and overall a more authentic weight and feel. Unfortunately, this usually means dumping the original N64 joystick for the 8BitDo’s.

What [Shyri] wanted to do was install the 8BitDo PCB into an original N64 controller, but adapt Nintendo’s joystick to communicate with it. Unfortunately, since the original joystick used optical encoders and the 8BitDo version uses potentiometers, there’s something of a language gap.

To bridge the divide, both the X and Y dimensions of the joystick get their own PIC12F675 microcontroller and X9C103S digital potentiometer. The microcontrollers read the X and Y values from the original joystick’s encoders, and use the digital potentiometers to provide the 8BitDo with the expected analog input. Right now the electronics are held on two scraps of perfboard tucked into the side “wings” of the controller, but hopefully we’ll see a custom PCB in the future.

If you’re more interested in going back in time with your trusty N64 controller, then you might be interested in learning more about how one hacker managed to hook it up to the MSX.

Broken HP-48 Calculator Reborn As Bluetooth Keyboard

Considering their hardware specification, graphing calculators surely feel like an anachronism in 2019. There are plenty of apps and other software available for that nowadays, and despite all preaching by our teachers, we actually do carry calculators with us every day. On the other hand, never underestimate the power of muscle memory when using physical knobs and buttons instead of touch screen or mouse input. [epostkastl] combined the best of both worlds and turned his broken HP-48 into a Bluetooth LE keyboard to get the real feel with its emulated counterpart.

Initially implemented as USB device, [epostkastl] opted for a wireless version this time, and connected an nRF52 based Adafruit Feather board to the HP-48’s conveniently exposed button matrix pins. For the software emulation side, he uses the Emu48, an open source HP calculator emulator for Windows and Android. The great thing about Emu84 is that it supports fully customizable mappings of regular keyboard events to the emulated buttons, so you can easily map, say, the cosine button to the [C] key. The rest is straight forward: scanning the button matrix detects button presses, maps them to a key event, and sends it as a BLE HID event to the receiving side running Emu84.

As this turns [epostkastl]’s HP-48 essentially into a regular wireless keyboard in a compact package — albeit with a layout that outshines every QWERTY vs Dvorak debate. It can of course also find alternative use cases, for examples as media center remote control, or a shortcut keyboard. After all, we’ve seen the latter one built as stomp boxes and from finger training devices before, so why not a calculator?

Continue reading “Broken HP-48 Calculator Reborn As Bluetooth Keyboard”

Millenium Falcon HID: Get Unity To Talk To Teensy

Here’s one that proves a hardware project can go beyond blinking LEDs and dumping massive chunks of data onto a serial console. Those practices are fine for some, but [dimtass] has found a more elegant hack for a more civilized age. His 3D Millennium Falcon model gets orientation data from his IMU as an an HID device.

The hardware involved is an MPU6050 6-axis sensor that is interfaced with a Teensy 3.2 board. [dimtass] documents his approach to calibrating the IMU going a bit further by using a Python script to generate offsets. We’ve advocated using Jupyter notebooks in the past and this is a good example of Jupyter plotting the data and visualizing the effect of the offsets in a second pass.

When in action, the Teensy reads IMU data and sends it over a USB RAW HID interface. For the uninitiated, HID transfers are more reliable than USB CDC transfers (virtual serial port) because they use smaller data chunks per event/transaction and usually don’t require special driversOn the computer side, [dimtass] has written a small application that gets the IMU values over the RAW HID and then provides it to the visualization application.

A 3D Millennium Falcon model is rendered in Unity, the popular open source game development engine. Even though Unity has an API, this particular approach is more OS specific using a shared-memory technique. The HID application writes to a file (/tmp/hid-shared-buffer) which is then read by Unity to make orientation changes to the rendered model.

[dimtass] provides lots of details on the tools used to bring his project to life and it can be a great starting point for more projects that need interfacing sensors with a visualization system. We have seen ways to turn a person’s head into a joystick and if you need a deeper dive into Unity, look no further.

Continue reading “Millenium Falcon HID: Get Unity To Talk To Teensy”