The CAN bus is a rich vein to mine for a hacker: allowing the electronic elements of most current vehicles to be re-purposed and controlled with ease. [MikrocontrollerProjekte] has reverse engineered a CAN bus media and navigation controller and connected it to an STM32F746G-Discovery board. The STM32 is in turn connected to an Android phone, and allows the media controller to trigger a large number of functions on the phone, including music playback, maps, and general Android navigation.
When reverse engineering the controller, [MikrocontrollerProjekte] employed a variety of approaches. A small amount of information was found online, some fuzzing was done with random CAN bus IDs and messages, as well as some data logging with the device inside the car to identify message data to the relevant IDs on the bus.
The STM32F746G-Discovery board acts as a Human Interface Device (HID), emulating a mouse and keyboard connected to the Android phone via USB OTG. The LCD screen shows the output of the keystrokes and touchpad area. We’re not sure how useful the mouse-emulation would be, given that the phone has a touchscreen, but the media functions work really well, and would also make a really snazzy music controller for a PC.
We’ve covered plenty of other cool CAN bus hacks, like reverse-engineering this Peugeot 207, or this general purpose CAN sniffer.
Continue reading “Reverse Engineered Media Controller From Car Is Best Friends With Android”
In the United States, TV and radio stations have to give the opportunity of equal airtime to all candidates. In that spirit, we thought we should show you [Jayden17’s] hack that puts Google Assistant into a Teddy Ruxpin. You can see the hacked bear do its thing in the video below.
Teddy was the best-selling toy for 1985 and 1986, and is still available, so over 30 years there are a lot of these hanging around. If you never looked at how they work, the original ones were quite simple. A cassette player routed one stereo channel to a speaker and used the other channel to control servo motors to move the mouth and eyes. The cassette was eventually replaced with a digital cartridge, and newer versions of Teddy only use two motors instead of the three in the original.
Continue reading “Teddy Ruxpin: Navigate To 143 Main Street”
We’ve all been there: after assessing a problem and thinking about a solution, we immediately rush to pursue the first that comes to mind, only to later find that there was a vastly simpler alternative. Thankfully, developing an obscure solution, though sometimes frustrating at the time, does tend to make a good Hackaday post. This time it was [David Wehr] and AudioSerial: a simple way of outputting raw serial data over the audio port of an Android phone. Though [David] could have easily used USB OTG for this project, many microcontrollers don’t have the USB-to-TTL capabilities of his Arduino – so this wasn’t entirely in vain.
At first, it seemed like a simple task: any respectable phone’s DAC should have a sample rate of at least 44.1kHz. [David] used Oboe, a high performance C++ library for Android audio apps, to create the required waveform. The 8-bit data chunks he sent can only make up 256 unique messages, so he pre-generated them. However, the DAC tried to be clever and do some interpolation with the signal – great for audio, not so much for digital waveforms. You can see the warped signal in blue compared to what it should be in orange. To fix this, an op-amp comparator was used to clean up the signal, as well as boosting it to the required voltage.
Prefer your Arduino connections wireless? Check out this smartphone-controlled periodic table of elements, or this wireless robotic hand.
Continue reading “Serial Connection Over Audio: Arduino Can Listen To UART”
As a gamer, [Lexie Dostal] dreamed of a smartphone that was a viable gaming platform: something with enough power to run the games and emulators he was interested in, with the controls to make playing them feel natural. So when he got his hands on an early version of Kite, the modular open hardware platform designed to be hacked and customized, that’s exactly what he decided to build. The Kite kit would provide the touch screen and Android-equipped motherboard, he just needed to design a case and integrate controls to make it a real gaming device.
The case design [Lexie] came up with is inspired by the bottom half of the Nintendo 3DS, and ended up only a few centimeters wider than the stock case from the Kite kit. Unfortunately, his delta 3D printer wasn’t large enough to fit the device’s case, so he ended up having to break it into five separate pieces and glue them together. With the case in one piece he worked his way from 220 to 400 grit sand paper, filling any voids in the print with glue as he went. A few coats of primer, more sanding, and a final matte texture spray give the final case a very professional-looking finish.
Not only was the Nintendo 3DS an inspiration for the device, it was also a donor for some of the parts. The directional pad, analog “nub”, and buttons are replacement 3DS hardware, which is interfaced to the KiteBoard with an Arduino Nano. When he couldn’t find springs small enough to use for the shoulder buttons, he bought some thin music wire and wound them himself. Talk about attention to detail.
There’s quite a bit of gear packed into the case, but [Lexie] thinks there’s probably still room to make some improvements. He could free up some room by dropping the connectors and soldering everything directly, and says he’d like to come up with a custom PCB to better interface with the 3DS’s hardware to cut down on some of the wiring required. With the extra room he thinks the battery, currently a 3200 mAh pack designed for the LG V20 smartphone, could probably be replaced with something even bigger.
Readers may recall that the Kite is currently in the running for the 2018 Hackaday prize. Seeing Kite already delivering on the promise of making it easier to develop powerful Android devices is very exciting, and we can’t wait to see what else hackers will be able to do with it.
While we here at Hackaday never question why an individual took on a particular project, it surely doesn’t stop our beloved readers from grabbing their pitchforks and demanding such answers in the comments. Perhaps no posts generate more of this sort of furore than the ones which feature old audio gear infused with modern hardware. In almost every case the answer is the same: the person liked the look and feel of vintage hardware, but didn’t want to be limited to antiquated media.
That sentiment is perhaps perfectly personified by the TapeLess Deck Project, created by [Artur Młynarz]. His creations combine vintage cassette decks with an Android phone small enough to fit behind the tape door. An Android application which mimics the look of a playing tape, complete with “hand written” track info, completes the illusion.
The output from the phone is tied into the deck where the audio signal from the tape head would have been, so the volume controls and VU meters still work as expected. Watching the meters bounce around while the animated “tape” plays on the screen really does look incredibly slick, though the effect is somewhat hindered by the fact the physical playback controls don’t seem to be implemented. Incidentally, the whole experience works better if the plastic window on the tape door is removed; that way you can utilize the touch and swipe interface [Artur] has in the software.
We’ve seen previous attempts to modernize the audio cassette experience, but they’ve tended to be more of a novelty than anything. But these decks are nice enough that you can like them non-ironically. Though if we’re talking about portable tape players, there’s only room for one in our cold mechanical hearts.
[Thanks to Nikolai for the tip]
Continue reading “Ditch The Tapes, Put An Android In Your Deck”
We love to hack IKEA products, marvel at Raspberry Pi creations, and bask in the glow of video projection. [Nord Projects] combined these favorite things of ours into Lantern, a name as minimalist as the IKEA lamp it uses. But the result is nearly magic.
The key component in this build is a compact laser-illuminated video projector whose image is always in focus. Lantern’s primary user interface is moving the lamp around to switch between different channels of information projected on different surfaces. It would be a hassle if the user had to refocus after every move, but the focus-free laser projector eliminates that friction.
A user physically changing the lamp’s orientation is detected by Lantern’s software via an accelerometer. Certain channels project an information overlay on top of a real world object. Rather than expecting its human user to perform precise alignment, Lantern gets feedback from a Raspberry Pi camera to position the overlay.
Speaking of software, Lantern as presented by [Nord Projects] is a showcase project under Google’s Android Things umbrella that we’ve mentioned before. But there is nothing tying the hardware directly to Google. Since the project is open source with information on Hackster.io and GitHub, the choice is yours. Build one with Google as they did, or write your own software to tie into a different infrastructure (MQTT?), or a standalone unit with no connectivity at all.
Continue reading “IKEA Lamp With Raspberry Pi As The Smartest Bulb In The House”
Have an ESP8266 development board such as the NodeMCU or Wemos D1? You’re currently reading Hackaday, so probably. Got an Android device kicking around? Also seems fairly likely. In that case, you should check out ESP8266 Loader by [Bluino Electronics]. This recently released application lets you not only flash new binaries to any ESP8266 board using the FTDI, PL2303, CH34X and CP210X USB chipsets, but also offers a serial monitor for debugging on the go.
You’ll need a USB OTG cable to get your ESP board jacked in to your Android device, but you don’t need root or even to fiddle with the development settings. Here at the Hackaday R&D Dungeon we had somewhat mixed success getting a random selection of Android devices to work fully; all of the ones tried could at least open the serial monitor and read what a pre-programmed ESP was saying, but not all of them could successfully program a board.
Even on the devices where programming worked, it was slow. Just a basic LED blinking Sketch took long enough to write to our test Wemos D1 Mini that we contemplated getting a snack. But still, it shows a lot of promise for managing devices in the field, especially if you don’t have over the air update enabled in your code.
We especially liked that ESP8266 Loader helpfully downloaded a bunch of example binaries, many of which could be of practical use. There are programs for toggling the different GPIO pins on the board, creating Wi-Fi access points, and even a basic web server. With these in hand, you could actually do some testing and diagnostic work right from your mobile device.
This isn’t the first time we’ve seen an ESP8266 team up with a mobile device, but generally speaking, the magic is done over WiFi or Bluetooth.