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.
I recently spent a largely sleepless night at a hotel, and out of equal parts curiosity and boredom, decided to kill some time scanning the guest network to see what my fellow travelers might be up to. As you’d probably expect, I saw a veritable sea of Samsung and Apple devices. But buried among the seemingly endless number of smartphones charging next to their sleeping owners, I found something rather interesting. I was as picking up a number of Amazon-made devices, all of which had port 5555 open.
As a habitual Android tinkerer, this struck me as very odd. Port 5555 is used for Android Debug Bridge (ADB), a development tool used to control and perform various administrative tasks on an Android device over the network or (more commonly) locally over USB. The number of users who would have legitimately needed to enable network ADB on their devices is surely rather low, so to see a half dozen of them on the network at the same time seemed improbable to say the least.
Why would so many devices manufactured by Amazon all have network ADB enabled? I realized there must be a connection, and it didn’t take long to figure it out.
Continue reading “Fix Your Insecure Amazon Fire TV Stick”
When project inspiration strikes, we’d love to do some quick tests immediately to investigate feasibility. Sadly we’re usually far from our workbench and its collection of sensor modules. This is especially frustrating when the desired sensor is in the smartphone we’re holding, standing near whatever triggered the inspiration. We could download a compass app, or a bubble level app, or something similar to glimpse sensor activity. But if we’re going to download an app, consider Google’s Science Journal app.
It was designed to be an educational resource, turning a smartphone’s sensor array into a pocket laboratory instrument and notebook for students. Fortunately it will work just as well for makers experimenting with project ideas. The exact list of sensors will depend on the specific iOS/Android device, but we can select a sensor and see its output graphed in real-time. This graph can also be recorded into the journal for later analysis.
Science Journal was recently given a promotional push by the band OK Go, as part of their OK Go Sandbox project encouraging students to explore, experiment, and learn. This is right up the alley for OK Go, who has a track record of making music videos that score high on maker appeal. Fans would enjoy their videos explaining behind-the-scene details in the context of math, science, and music.
An interesting side note. Anyone who’s been to Hackaday Superconference or one of the monthly Hackaday LA meetups will likely recognized the venue used in many of the OK Go Sandbox videos. Many of them were filmed at the Supplyframe Design Lab in Pasadena. It’s also nice to see AnnMarie Thomas (Hackaday Prize Judge from 2016 and 2017) collaborated with OK Go for the Sandbox project.
While the Science Journal app has provisions for add-on external sensors, carrying them around would reduce its handy always-available appeal. Not that we’re against pairing smartphones with clever accessories to boost their sensing capabilities: we love them! From trying to turn a smartphone into a Tricorder, to an inexpensive microscope, to exploring serious medical diagnosis, our pocket computers can do it all.