Open Source Smart Display Takes The Long Way Around

Thanks to the relatively low cost of the Raspberry Pi and high resolution LCD screens, “smart displays” have become a favorite project of those looking to clear out their parts bins. Just hook the Pi up to the screen, setup some software, and you’ve got yourself a digital bulletin board for your home that can show your schedule, the weather, etc. Build it into a mirror, and you’ve got yourself at least double Internet points.

But when [John Basista] started planning his own smart display, he decided to take the path less traveled. He’s entered the resulting open source project into the 2019 Hackaday Prize, and we’re very excited to see where it goes from here. Even in these early days he’s already made some great strides, with nary a Raspberry Pi in sight.

[John] has nothing against using the Raspberry Pi for these smart displays, and indeed, it has a number of traits which make it particularly well suited to the task. But the problem for him was that it only supported HDMI, and he had his heart set on using an Embedded DisplayPort (eDP) screen. Namely the Innolux N173HCE-E31, a 17.3 inch IPS LCD designed for laptops.

He tried to find a Linux or Android compatible SBC that featured eDP, but found it to be a challenge. There were some x86 options, but didn’t want to go down that road. Eventually he settled on the Dragonboard 410c, which features a quad-core Qualcomm APQ8016E CPU running at 1.2 GHz and 1GB of RAM. This board didn’t have eDP either, but it did have Display Serial Interface (DSI), which he could convert to eDP with the Texas Instruments SN65DSI86 IC.

From there, he started developing a PCB which would hold the Dragonboard 410c and the SN65DSI86. The board also breaks out I2C and UART so he can connect it to various other sensors and gadgetry down the road, and includes all the necessary power regulation to drive everything. The whole thing fits in the palm of your hand, and judging by the renders [John] has put together, should nestle nicely into the back of the 3D printed enclosure when everything is finished.

There’s still quite a bit left to do on this project, but [John] has plenty of time to tie up the loose ends. Currently there’s little information about the software side of things, but as you can see in the video after the break, it’s now running Android which should make things relatively easy.

Continue reading “Open Source Smart Display Takes The Long Way Around”

Installing Android On Your Nintendo Switch, Because Why Not?

In a continuing trend of ‘but does it run Android?’, enterprising folk over at the XDA-Developers forum have found a way to get LineageOS (the successor to CyanogenMod) installed and running on the Nintendo Switch using Switchroot source code. Promising to release the necessary files to replicate this effort has obviously made other people at XDA-Developers forum as well as on Reddit rather excited.

As for the question of ‘why?’, one has to remember that internally the Nintendo Switch is an Nvidia Tegra X1-based system with a Maxwell GPU, making it definitely one of the nicer ARM-based portable systems out there if one wants to do some Android-based gaming. Even better, the entire Nvidia Shield TV-derived ROM runs from the SD card, so just popping out this SD card is sufficient to return to playing Switch games.

Currently a few nagging issues still have to be worked out with this ROM, such as touchscreen issues, sleep mode not working, auto-rotation not working as communication with the sensor needs to be figured out, and so on. This should make it clear that it won’t be a production ready piece of software, but definitely something that should be used at your own risk.

While it shouldn’t harm the Switch, one should probably not try it on a Switch one cares deeply about. Just in case.

The Augmented Reality Breadboard Of The Future

You’d be hard pressed to find a carpenter who didn’t own a hammer, or a painter that didn’t have a couple of brushes kicking around. Some tools are simply so fundamental to their respective craft that their ownership is essentially a given. The same could be said of the breadboard: if you’re working with electronics on the hobby or even professional level, you’ve certainly spent a decent amount of time poking components and wires into one of these quintessential prototyping tools.

There’s little danger that the breadboard will loose its relevance going forward, but if [Andrea Bianchi] and her team have anything to say about it, it might learn some impressive new tricks. Developed at the Korean Advanced Institute of Science and Technology, VirtualComponent uses augmented reality and some very clever electronics to transform the classic breadboard into a powerful mixed-reality tool for testing and simulating circuits. It’s not going to replace the $3 breadboard you’ve got hiding at the bottom of your tool bag, but one day it might be standard equipment in electronics classrooms.

The short version is that VirtualComponent is essentially a dynamic breadboard. Holes in the same row are still electrically linked like in the classic breadboard, but with two AD75019 cross-point switch arrays and an Arduino in the base, it has the ability to virtually “plug in” components at arbitrary locations as selected by the user. So rather than having to physically insert a resistor, the user can simply tell the software to connect a resistor between two selected holes and the cross-point array will do the rest.

What’s more, many of those components can be either simulated or at least augmented in software. For example, by using AD5241 digital potentiometers, VirtualComponent can adjust the value of the virtual resistor. To provide variable capacitance, a similar trick can be pulled off using an array of real capacitors and a ADG715 digital switch to connect them together; essentially automating what the classic “Decade Box” does. In the demonstration video after the break, this capability is extended all the way out to connecting a virtual function generator to the circuit.

The whole system is controlled by way of an Android tablet suspended over the breadboard. Using the tablet’s camera, the software provides an augmented reality view of both the physical and virtual components of the circuit. With a few taps the user can add or edit their virtual hardware and immediately see how it changes the behavior of the physical circuit on the bench.

People have been trying to improve the breadboard for years, but so far it seems like nothing has really stuck around. Given how complex VirtualComponent is, they’ll likely have an even harder time gaining traction. That said, we can’t help but be excited about the potential augmented reality has for hardware development.

Continue reading “The Augmented Reality Breadboard Of The Future”

Bike Computer Exploration Uncovers A Hidden Android

As a happy side-effect of the smartphone revolution, the world is now awash with tiny computers that are incredibly cheap thanks to the nearly unfathomable volumes in which their components are manufactured. There wouldn’t be a $10 Raspberry Pi Zero if the billions of smartphones that were pumped out before it hadn’t dropped the cost of the individual components to literal pennies. That also means that smartphone hardware, or at least systems that are very close to it, have started to pop up in some unexpected places.

When [Joshua Wise] recently took ownership of a Wahoo ELEMNT BOLT bike computer, he wondered how it worked. With impressive list of features such as Internet connectivity, GPS mapping, and Bluetooth Low Energy support, he reasoned the pocket-sized device must have some pretty decent hardware under the hood. With some poking and prodding he found the device was powered by a MediaTek SoC and incredibly had a full-blown install of Android running in the background.

So how does one find out that their lowly bike computer is essentially a cleverly disguised smartphone? If you’re [Joshua], you listen to who it’s trying to talk do when doing a firmware update over the Internet. He used mitmproxy running between his Internet connection and a WiFi access point setup specifically for the BOLT, from there, he was able to see all of the servers it was connecting to. Seeing the device pull some data down from MediaTek’s servers was a pretty good indication of whose hardware was actually inside the thing, and when it ultimately downloaded some Android .apk files from the Wahoo website, it became pretty clear what operating system it was running underneath the customized user interface.

Further examination of the Bolt’s software brought to light a few troubling issues. It turned out that the firmware made extensive use of Apache-licensed code, for which no attribution was given. [Joshua] contacted the company and was eventually referred to the Wahoo’s CEO, Chip Hawkins. Refreshingly, Chip was not only very interested in getting the licensing issues sorted out, but even had some tips on hacking and modifying the device, including how to enable ADB.

Before the publication of this article, we reached out to Chip Hawkins (yes, he really does respond to emails) for a comment, and he told us that not only has he made sure that all of the open source packages used have now been properly attributed to their original authors, but that his team has been providing source code and information to those who request it. He says that he’s been proud to see owners of his products modifying them for their specific needs, and he’s happy to facilitate that in any way that he can.

Open source license compliance is a big deal in the hacking community, and we’ve seen how being on the wrong side of the GPL can lead to lost sales. It’s good to see Wahoo taking steps to make sure they comply with all applicable licences, but we’re even more impressed with their positive stance on customers exploring and modifying their products. If more companies took such an enlightened approach to hacking, we’d all be a lot better off.

[Thanks to Roman for the tip.]

Monitor Your 3D Printer With Node-RED And Tasker

Anyone with a desktop 3D printer knows that it can be a bit nerve-wracking to leave the machine alone for any extended period of time. Unfortunately, it’s often unavoidable given how long more complicated prints can take. With big prints easily stretching beyond the 20 hour mark, at some point you’re going to need to leave the house or go to sleep. We hope, anyway.

In an effort to make his time away from his printer a bit less stressful, [Mat] from NotEnoughTECH has put together a comprehensive framework for monitoring his machine on the go. After looking at existing remote monitoring solutions, he found none gave him the level of information he was after. His system collects up an incredible number of data points about the printer’s current status and pushes it all to his Android phone as a rich notification. Best of all, he’s documented the entire system in exquisite detail for anyone else who might want to follow in his footsteps.

There’s a considerable amount of hardware and software involved in this system, and getting it up and running won’t be quite as straightforward as using some of the turn-key solutions out there. Octoprint is responsible for controlling and monitoring the printer, and [Mat] is pulling data from its API using Node-RED. That data is formatted and ultimately delivered to his Android device as a notification with Tasker. On the hardware side he’s got a Sonoff POW R2 to not only turn the printer on and off but measure its energy consumption, a USB camera to provide a live view of the printer, and a couple of Raspberry Pis to run it all.

Even if you don’t have a 3D printer, or maybe just don’t leave the house to begin with, the video [Mat] has put together after the break that shows how all the elements of this system are pulled together in Node-RED is a fascinating look at the flow-based visual programming tool. Similarly, it’s a great demonstration on how Tasker can be used to add some very slick Android notifications for your project without having to commit to developing a native application for the platform.

If you like the idea of remotely monitoring your printer but aren’t ready to dive into the deep end like [Mat], there are easier options. With a Raspberry Pi running Octoprint added to your 3D printer and one of the existing mobile monitoring and control front-ends installed, you’ll be well on the way to tackling those big prints without having to pitch a tent in the lab.

Continue reading “Monitor Your 3D Printer With Node-RED And Tasker”

Immersive Augmented Reality On A Budget

By now we’ve all seen the cheap headsets that essentially stick a smartphone a few inches away from your face to function as a low-cost alternative to devices like Oculus Rift. Available for as little as a few dollars, it’s hard to beat these gadgets for experimenting with VR on a budget. But what about if you’re more interested in working with augmented reality, where rendered images are superimposed onto your real-world view rather than replacing it?

As it turns out, there are now cheap headsets to do that with your phone as well. [kvtoet] picked one of these gadgets up for $30 USD on AliExpress, and used it as a base for a more capable augmented reality experience than the headset alone is capable of. The project is in the early stages, but so far the combination of this simple headset and some hardware liberated from inexpensive Chinese smartphones looks to hold considerable promise for delivering a sub-$100 USD development platform for anyone looking to jump into this fascinating field.

On their own, these cheap augmented reality headsets simply show a reflection of your smartphone’s screen on the inside of the lenses. With specially designed applications, this effect can be used to give the wearer the impression that objects shown on the phone’s screen are actually in their field of vision. It’s a neat effect to be sure, but it doesn’t hold much in the way of practical applications. To turn this into a useful system, the phone needs to be able to see what the wearer is seeing.

To that end, [kvtoet] relocated a VKWorld S8 smartphone’s camera module onto the front of the headset. Beyond its relatively cost, this model of phone was selected because it featured a long camera ribbon cable. With the camera on the outside of the headset, an Android application was created which periodically flashes a bright LED and looks for reflections in the camera’s feed. These reflections are then used to locate objects and markers in the real world.

In the video after the break, [kvtoet] demonstrates how this technique is put to use. The phone is able to track a retroreflector laying on the couch quickly and accurately enough that it can be used to adjust the rendering of a virtual object in real time. As the headset is moved around, it gives the impression that the wearer is actually viewing a real object from different angles and distances. With such a simplistic system the effect isn’t perfect, but it’s exciting to think of the possibilities now that this sort of technology is falling into the tinkerer’s budget.

If you don’t want to go the DIY route, Leap Motion has been teasing an open source augmented reality headset which has us quite excited. We’re still waiting on the hardware, but that hasn’t stopped hackers from coming up with some fascinating AR applications in the meantime.

Continue reading “Immersive Augmented Reality On A Budget”

Play Chess Like Harry Potter

If you are a Harry Potter fan, you might remember that one of the movies showed an Isle of Lewis chess set whose pieces moved in response to a player’s voice commands. This feat has been oft replicated by hackers and [amoyag00] has a version that brings together a Raspberry Pi, Arduino, Android, and the Stockfish chess engine in case you want to play by yourself. You can see a video of the game, below.

Interestingly, the system uses Marlin — the 3D printing software — to handle motion using the Arduino. We suppose moving chess pieces over a path isn’t much different than moving a print head. It is certainly a novel use of GCode.

Continue reading “Play Chess Like Harry Potter”