RemoteXY Simplifies Arduino Control

[Labpacks] wanted to build a robot car controlled by his phone. As a Hackaday reader, of course you probably can imagine building the car. Most could probably even write a phone application to do the control. But do you want to? In most cases, you are better off focusing on what you need to do and using something off the shelf for the parts that you can. In [Labpacks’] case, he used Visuino to avoid writing ordinary code and RemoteXY to handle the smartphone interface.

RemoteXY is a website that allows you to easily build a phone interface that will talk to your hardware over Bluetooth LE, USB, or Ethernet (including WiFi). One thing of interest: even though the interface builder is Web-based, the service claims that the interface structure stays on the controller. There’s no interaction with the remote servers when operating the user interface so there is no need for an external Internet connection.

Continue reading “RemoteXY Simplifies Arduino Control”

36C3: All Wireless Stacks Are Broken

Your cellphone is the least secure computer that you own, and worse than that, it’s got a radio. [Jiska Classen] and her lab have been hacking on cellphones’ wireless systems for a while now, and in this talk gives an overview of the wireless vulnerabilities and attack surfaces that they bring along. While the talk provides some basic background on wireless (in)security, it also presents two new areas of research that she and her colleagues have been working on the last year.

One of the new hacks is based on the fact that a phone that wants to support both Bluetooth and WiFi needs to figure out a way to share the radio, because both protocols use the same 2.4 GHz band. And so it turns out that the Bluetooth hardware has to talk to the WiFi hardware, and it wouldn’t entirely surprise you that when [Jiska] gets into the Bluetooth stack, she’s able to DOS the WiFi. What this does to the operating system depends on the phone, but many of them just fall over and reboot.

Lately [Jiska] has been doing a lot of fuzzing on the cell phone stack enabled by some work by one of her students [Jan Ruge] work on emulation, codenamed “Frankenstein”. The coolest thing here is that the emulation runs in real time, and can be threaded into the operating system, enabling full-stack fuzzing. More complexity means more bugs, so we expect to see a lot more coming out of this line of research in the next year.

[Jiska] gives the presentation in a tinfoil hat, but that’s just a metaphor. In the end, when asked about how to properly secure your phone, she gives out the best advice ever: toss it in the blender.

Getting The Heat On With A Thermal Camera

Need a quick way to tell your temperature before work tomorrow? Student maker [The Marpe] recently fashioned a sleek home-use thermal camera that even looks like a point and shoot. It works as an Android hardware add-on by integrating the readings from a MLX90640 far-infrared (FIR) thermal sensor with a STM32F042F6Px microcontroller. All this connects to an Android application via USB (MicroUSB or Type C).

On the app, users are able to view, take photos, and display the resulting thermal images from the open thermal camera. The code for the open Android application is also available on his GitHub.

The FIR sensors contain a small array of IR pixels, integrated to measure the ambient temperature of the internal chip, and supply sensor to measure the VDD. Each pixel on the sensor array responds to the IR energy focused on it to produce an electronic signal, which is processed by the camera processor to create a map of the apparent temperature of the object. The outputs of the sensors and VDD are stored in an internal RAM and are accessible through 3.3V I2C. They’re not only low-cost and fairly high resolution, but also available by order on Digi-Key.

The microcontroller is based on the STM32 platform, with 32-bit performance, low-power operation (at 2V to 3.6V and 48 MHz) and is fairly low-cost. The custom-designed PCBs are fitted inside a 3D-printed casing with M2.5 inserts to ease assembly. [The Marpe] used an Esra soldering iron to create a heat insert tool for easier assembly and more consistent results with the heat inserts, which made for a nicer overall finish.

The project has since been presented at the Ljublana Mini Maker Faire in Slovenia and the Trieste Mini Maker Faire in Italy. Here, the open thermal camera is being tested out on a faulty PCB with a shorted component, showing the location of the short on the Android application’s thermal camera display.

Other uses for the camera could be home insulation inspection, water leakage detection, wildlife observation, or even figuring out if your soldering iron is hot enough to use. We’ll say it’s a pretty useful DIY project!

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.]