Finally, A Use For Old Cellphones

In what is now a three-year long search, I’ve finally found the perfect use for an old cellphone. And with it, the answer to a burning question: Why aren’t we hacking cellphones?

First, the application. The Octo4a project lets you use an old Android phone as a 3D printer server, web interface, and even time-lapse camera to make those nice movies where the print seems to grow up out of nothing before your eyes. It’s the perfect application for an old phone, making use of the memory, WiFi, graphics capabilities, and even the touch-screen if you want local control of your prints.

Connecting to the phone was the main hurdle that I’ve always seen in developing for cellphone projects, because I have robotics applications in mind. But Octo4a gets around this with low or no effort. Most 3D printers are designed to run on USB anyway, so connecting it to the phone is as simple as buying a USB OTG cable. With the USB port taken over, powering the phone long-run becomes a tiny problem, which can be solved with a Y-cable or a little solder. Keep the OS from going to sleep, somehow, and it’s problem solved!

But here’s why this isn’t a solution, and it points out the deeper problem with cellphone hacking that many pointed out in the comments three years ago. Octoprint is written in Python, and because of this is very easy to write extensions for and to hack on, if that’s your thing. When I first saw Octo4a, I thought “oh great, a working Android Python port”. Then I went to dig into the code.

Octo4a is written in Kotlin and uses the Gradle framework. It’s a complete port of Octoprint, not just to a different platform, but to a different programming language and to an almost entirely different programming paradigm. My hat is off to [feelfreelinux] for doing it, but my guess is that the community of other people fluent enough in Kotlin and Python to help port across upstream changes in Octoprint is a lot smaller than the community of Python programmers would have been. Octo4a is a great project, but it’s not a walk in the park to develop on it.

So all of you who wrote in the comments to my previous piece that it’s the Android software ecosystem that’s preventing phone reuse, well here’s the exception that proves your rule! A dedicated and talented, multi-lingual developer community could pull it off, but the hurdle is so high that few will rise to it.

Anyway, thanks [Feelfree Filip] for your great work! I’ll be putting this on my old S4.

Build Yourself A Nifty Cable Smartphone Mount

Smartphones have supplanted cameras in day to day use for the vast majority of purposes. However, unlike cameras, they don’t come with tripod mounts or any real good way of holding them in a set position. [Mrballeng] has built an excellent mount, however, that uses cable to hold a smartphone in all manner of positions, for photography or other purposes.

The mount relies on vinyl-coated steel cable. Upon this cable are slotted four blocks that are 3D printed out of resin. The blocks are also fitted with strong magnets. This allows them to be positioned along the vinyl cable while sticking themselves in place thanks to the magnetic attraction to the steel core. The blocks can also be used to attach the cable to magnetic objects like drywall screws or light fittings.

Using the mount is simple. The cable is wrapped around the phone and the blocks cinched up to hold it in place. Then, the magnets in the blocks can be used to hold the phone to walls or other surfaces.

It’s a tidy build, and one we can imagine using regularly if we had one. Of course, there’s no reason you couldn’t produce the parts on a more common filament-based printer, either. We’ve seen some other great smartphone photography hacks too, like this mod that lets you use your phone as a microscope for under $10. Video after the break.

Continue reading “Build Yourself A Nifty Cable Smartphone Mount”

Giving Control Of A Smartphone Robot To A Raspberry Pi

Most gadgets that interface with smartphones have a rather short lifespan and inevitably end up as E-waste. Unless hackers give them a second life, as is the case with the Romo, a little smartphone-controlled robot. [David Goeken] has successfully reverse-engineered the communication protocol to allow the Romo to controlled Raspberry Pi (or microcontroller)

The Romo was a little iPhone-controlled robot brought to market with a Kickstarter campaign back in 2013. It originally used the audio jack from the iPhone for the control interface, but was quickly followed by an updated version that used iPhone 4’s 30 pin connector and later the Lightning port. Romotive, the company behind Romo, eventually went out of business, but fortunately, they open-sourced the IOS app and the firmware. This has led to a few third-party apps currently on the app store.

[David] wanted to use other hardware for control, so he set about reverse-engineering the protocol using the open-source software and a logic analyzer. Unsurprisingly, it uses a serial interface to send and receive commands, with two additional pins to detect the connection and wake up the Romo. After breaking out the interface header on the board, he was able to modify the Romo to mount a Raspberry Pi Zero, and power it using the internal battery.

[David] has not made his code public yet, but it sounds like he plans to. It looks like Romo’s can be a fun little experimentation platform, and they can be found for cheap on eBay. We covered another cool Romo hack back in 2014, which used a projector and vision system to create a Mariokart-like game.  For a completely open-source smartphone robot, check out the OpenBot.

How To Drive Smartphone Screens Over HDMI

Compared to most small LCDs sold to makers, smartphone screens boast excellent color, brightness, and insanely high resolution. Unfortunately, driving them is rarely straightforward. In an attempt to make it easier, [peng-zhihui] set about developing tools to allow such screens to be driven from a simple HDMI feed. For those whose Chinese is a little rusty, the Google Translate link might prove useful.

The first attempt was using Toshiba’s TC358870XBG ASIC, capable of driving screens over MIPI DSI 1.1 from an HDMI input. [peng-zhihui] designed a simple test module for the chip based on the company’s evaluation board design, with [ylj2000] providing software to help get that solution off the ground.

However, for now that solution is imperfect, so [peng-zhihui] also experimented with the Longxun LT6911 HDMI to MIPI driver. While cheap, information on the part is scarce, and the company’s own source code for using the hardware is only accessible by signing an NDA. However, [peng-zhihui] made pre-compiled firmware available for those that wish to work with the hardware.

[peng-zhihui] has put these learnings to good use, building a power bank with a MIPI screen using what appears to be the Longxun chip. The device can supply power over USB and also act as an HDMI display.

While it’s early days yet, and driving these screens remain difficult, it’s great to see hackers getting out there and finding a way to make new parts work for them. We’ve seen similar work before, using an FPGA rather than an off-the-shelf ASIC. If you’ve found your own way to get these high-end displays working, be sure to drop us a line!

[Thanks to peterburk for the tip!]

LoRa Messenger In Nokia’s Shell

The arrival of LoRa a few years ago gave us at last an accessible licence-free UHF communication protocol with significant range. It’s closed-source, but there are plenty of modules available so it’s found its way into a variety of projects in our community over the years. Among them we’ve seen a few messaging devices, but none quite so slick as [Trevor Attema]’s converted Nokia E63 BlackBerry-like smartphone. The original motherboard with its cellphone radio and Symbian-running processor have been tossed aside, and in its place is a new motherboard that hooks into the Nokia LCD, keypad, backlighting and speaker. To all intents and purposes from the outside it’s a Nokia phone, but one that has been expertly repurposed as a messenger.

On the PCB alongside a LoRa module is an STM32H7 microcontroller and an ATECC608 secure authentication chip for encrypted messages. It’s designed to form a mesh network, further extending the range across which a group can operate.

We like this project for the quality of the work, but we especially like it for the way it uses the Nokia’s components. We’ve asked in the past why people aren’t hacking smartphones, but maybe we’re asking the wrong question. If the smartphone as a unit isn’t useful, then how about its case, components, and form factor? Perhaps a black-brick Android phone will yield little, but the previous generation such as this Nokia use parts that are easy to interface with and well understood. Let’s hope it encourages more experimentation.

Samsung Releases Minimum Viable Galaxy Upcycling

It’s a tragedy every time a modern smartphone is tossed into e-waste. We prefer to find another life for these bundles of useful hardware. But given all the on-board barriers erected by manufacturers, it’s impractical to repurpose smartphones without their support. A bit of good news on this front is Samsung testing the waters with a public beta of their “Galaxy Upcycling at Home” program, turning a few select devices into SmartThings sensor nodes.

More devices and functionality are promised, but this initial release is barely a shadow of what Samsung promised in 2017. Missed the announcement back then? Head over to a “How it started/How it’s going” comparison from iFixit, who minced no words starting with their title Galaxy Upcycling: How Samsung Ruined Their Best Idea in Years. They saw a bunch of Samsung engineers at Bay Area Maker Faire 2017, showing off a bunch of fun projects reusing old phones as open hardware. The placeholder GitHub repository left from that announcement still has a vision of a community of makers dreaming up novel uses. This is our jam! But sadly it has remained a placeholder for four years and, given what we see today, it is more likely to be taken down than to become reality.

The stark difference between original promise and actual results feel like an amateur Kickstarter, not something from a giant international conglomerate. Possibly for the same reason: lack of resources and expertise for execution. It’s hard to find support in a large corporate bureaucracy when there is no obvious contribution to the bottom line. Even today’s limited form has only a tenuous link of possibly helping to sell other SmartThings-enabled smart home devices.

Ars Technica was similarly unimpressed with launch functionality, but was more diplomatic describing the beta as “a very modest starting point”. XDA-Developers likewise pinned their hopes on the “more devices will be supported in the future” part of Samsung’s announcement. Until Samsung delivers on more of the original promise, we’ll continue to be hampered by all the existing reasons hacking our old cell phones are harder than they should be. Sometimes an idea can be fulfilled by helpful apps but other times will require hacking into our devices the old-fashioned way.

Open Source Self-Driving Smartphone Robot

Our smartphones are incredibly powerful computers in their own right, yet we don’t often see them directly integrated into projects. Intel Intelligent Systems Lab has done exactly that with the release OpenBot, an open source smartphone based self-driving robot.

Most of the magic happens on the smartphone, which runs an app built on TensorFlow Lite, and integrates the camera and array of sensors on the smartphone, as well as the data from ultrasonic sensors and wheel encoders on the robot. The robot itself is relatively simple, with four geared DC motors, motor drivers wired to an Arduino Nano that interfaces with an Android Phone over serial.

The app created by the Intel ISL team comes preloaded with three AI models that can do either person following, or two different modes of autonomous navigation. By connecting a Bluetooth controller to the smartphone and drive the robot around manually in your specific environment while collecting data, you can train a custom autonomous driving policy to suit your environment.

This looks like an excellent way to get a taste of autonomous robots on a small budget, while still being a viable base for more demanding applications. We’ve seen only a few smartphone based robots like DriveMyPhone and SmartiPresense, which don’t have AI capabilities, but are intended for telepresence applications. We’ve always wondered why we don’t see more projects with cellphones, so we welcome the example.

Continue reading “Open Source Self-Driving Smartphone Robot”