Reverse Engineering how a USB Switch Switches

[Daniel] found himself with a need to connect a single USB device to two Linux servers. After searching around, he managed to find an inexpensive USB switch designed to do just that. He noticed that the product description mentioned nothing about Linux support, but he figured it couldn’t be that hard to make it work.

[Daniel] started by plugging the device into a Windows PC for testing. Windows detected the device and installed an HID driver automatically.  The next step was to install the control software on the Windows system. This provided [Daniel] with a tray icon and a “switch” function. Clicking this button disconnected the HID device from the Windows PC and connected the actual USB device on the other side of the USB switch. The second computer would now have access to the HID device instead.

[Daniel] fired up a program called SnoopyPro. This software is used to inspect USB traffic. [Daniel] noticed that a single message repeated itself until he pressed the “switch” button. At that time, a final message was sent and the HID device disconnected.

Now it was time to get cracking on Linux. [Daniel] hooked up the switch to a Linux system and configured a udev rule to ensure that it always showed up as /dev/usbswitch. He then wrote a python script to write the captured data to the usbswitch device. It was that simple. The device switched over as expected. So much for having no Linux support!

Hacking An Android Laptop To Run Linux

A few years ago, someone at Lenovo realized they could take an Android tablet, add a keyboard, and sell a cheap netbook that’s slightly more useful than a YouTube and Facebook machine. Since then, Lenovo has stopped making the A10 notebook and has moved on to manufacturing Chromebooks. That doesn’t mean this little Laptop doesn’t have some life left in it: it still has a Cortex A9 Quad core CPU, is reasonably priced on the ‘defective’ market, and can now run a full-blown Linux.

When the A10 notebook was released, there was a statement going around saying it was impossible to install Linux on it. For [Steffen] that was a challenge. He cracked open this netbook and took a look around the Flash chips. There were two tiny pads that could be shorted to put the device in recovery mode, and the entire thing can be booted from a USB stick.

[Steffen] ran into a problem while putting a new kernel on the netbook: there was a null pointer reference in some device during boot. The usual way of diagnosing this problem is to look at the console to see what device failed. This netbook doesn’t have a UART, though, and [Steffen] had to use an FTDI chip and set the console to USB to see why this device failed.

Just about everything on this tiny laptop works right now, with a few problems with WiFi, webcam, and standby mode – all normal stuff for a putting Linux on a random machine. It’s worth it, though: the quad-core ARM is a very good chip, and [Steffen] is running x86 apps with qemu. Not bad for something that can be found very, very cheap.

Hacklet 50 – Hydroponic Projects

Growing plants without soil has been has been amazing people for centuries. First written about in the 1600’s, hydroponics has become an industry with numerous techniques for germinating and sustaining both plant and animal life. It comes as no surprise then that hackers, makers, engineers, and scientists have been working with and improving hydroponic systems for centuries. Hydroponic plant growth is a project you can really sink your teeth into, as there’s nothing sweeter than eating the fruits and vegetables of your labor. This week’s Hacklet is all about the best hydroponic projects on!

hydropwnWe start with HydroPWNics, [Adam Vadala-Roth’s] entry in The 2015 Hackaday Prize. [Adam] is creating a universal system with will work with both hydroponic and soil based grow systems. The hydroponic setup will consist of plants in a PVC gutter system. Water will be pumped to the top gutter, and flow down via gravity through the plant roots and back to the reservoir. The system will be monitored and controlled by a DyIO controller. Props to [mad.hephaestus] for creating DyIO, a project seeing reuse in the community!


hydro2Next up is [Justin] with AAGriculture, an Automated Aquaponic Garden. AAGriculture is aquaponic system, which means it uses a symbiotic relationship between plants and fish to make more food for humans to eat. The fish in this case are bluegill and bullhead. A Raspberry Pi controls the system, while A Teensy-LC is used to help out with some of the real-time duties, like monitoring a PH probe. [Justin] is even using CO2 tanks to keep dissolved gasses in check. He must be doing something right, as his tomatoes are now over 23″ tall!


homer[Em] brings us 5g Aquaponics. 5g aquaponics isn’t a next generation cellular system, nor a 5.8 GHz WiFi setup, it’s an aquaponic system in a 5 Gallon bucket. Anyone from the US  will recognize the orange “Homer Bucket” from Home Depot. 5g Aquaponics includes a window, allowing the underwater workings to be monitored. Speaking of monitoring, 5g aquaponics is a manual affair – [Em] hasn’t used any electronics here. The idea is to create a system that is easy to get up and running for those who are new to Hydro/Aquaponic setups. [Em] is using a dual zone root system. The plant grows in dirt within a burlap fabric. The fabric then sits in a water bath which also houses the fish. Air pumped through an airstone keeps everything circulating. [Em’s] initial version of the project worked a bit too well. The tomato plant grew so large that the roots strangled the fish! Hopefully both flora and fauna are happy with this new rev 2.0!


smartAquaFinally we have [Kijani grows] with Smart Aquaponics, which was [Kijani’s] entry in The 2014 Hackaday Prize. One wouldn’t expect fish, plants and Linux to mix, but that is exactly what is going on here. Linux runs on the popular Wr703n router, while a custom ATmega328 Arduino compatible board keeps track of the sensors.  The second version of the system will run on an ATmega2560 and an AR9331 module, all housed on one board. The system does work, and it’s been expanded from a single fish tank to a large flood/drain table complete with grow lights, all kept at [Kijani’s] office. The biggest problems [Kijani] has run into are little things like misplaced resistors masquerading as kernel bugs.

Still haven’t eaten your veggies? Want to see more hydroponic projects? Check out our new hydroponic projects list! That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of!

Googly Eyes Follow You Around the Room

If you’re looking to build the next creepy Halloween decoration or simply thinking about trying out OpenCV for the first time, this next project will have you covered. [Glen] made a pair of giant googly eyes that follow you around the room using some servos and some very powerful software.

The project was documented in three parts. In Part 1, [Glen] models and builds the eyes themselves, including installing the servo motors that will eventually move them around. The second part involves an Arduino and power supply that will control the servos, and the third part goes over using OpenCV to track faces.

This part of the project is arguably the most interesting if you’re new to OpenCV; [Glen] uses this software package to recognize different faces. From there, the computer picks out the most prominent face and sends commands to the Arduino to move the eyes to the appropriate position. The project goes into great detail, from Arduino code to installing Ubuntu to running OpenCV for the first time!

We’ve featured some of [Glen]’s projects before, like his FPGA-driven LED wall, and it’s good to see he’s still making great things!

Continue reading “Googly Eyes Follow You Around the Room”

Transparent Alarm Clock Runs Linux

[Benoit] was using an extremely old alarm clock which normally ran on mains power, and he plugged it in to his computer’s UPS to keep it operational during power outages. He noticed that when the UPS switched on that the clock would run fast, though, and apparently it was keeping time by watching the power system frequency. To solve this problem he created his own feature-dense clock which runs Linux.

This alarm clock has everything: seven-segment displays housed in clear epoxy, a touch interface, battery backup, the ability to retrieve the time from an NTP server, and a web interface to change the clock’s settings over the network. That was a large part of [Benoit]’s decision to have the clock run Linux; the network capabilities add a lot of functionality to the clock like the ability to send commands to other devices at particular times. The clock runs on an Aria G25 SOM and has a custom case that looks very professional.

We’re suckers for a high-quality clock builds here, and [Benoit]’s most recent project hits all of our buttons. Even though it doesn’t currently drive people insane or tell confusing time, the Linux and networking capabilities could certainly open up options!

Interview with the Creators of CHIP, a $9 Single-Board Computer

Single-board computing is hot on the DIY scene right now and riding that knife edge is C.H.I.P., a project currently in crowd-funding which prices the base unit at just $9. I was happy to run into the crew from Next/Thing Company who developed C.H.I.P. They were happy because, well, the project’s reception has been like a supernova. Right now they’re at about $1.5M of their original $50k goal. We spoke about running Linux on the board, what connectors and pinout headers are available, as well as the various peripheral hardware they have ready for the board.

Continue reading “Interview with the Creators of CHIP, a $9 Single-Board Computer”

LED Notification Cube is a Good First Project

Two years ago, [Matt] made a move away from his software hacks and into the physical world. He was part of a pilot program to provide mentorship to children as part of the Maker Education Initiative. This program gave him access to 3D printers, CNC machines, and laser cutters within the New York Hall of Science makerspace. [Matt] chose to build an illuminated notification cube for his first physical project. The idea being that smart phones have so many alerts, many of which are unimportant. His project would help him to visualize and categorize each alert to better understand its importance.

The brain of the system is a Raspberry Pi. [Matt] found a Python library that allowed him to directly control an RGB LED strip based on the LPD8806 chip. He wired the data pins directly to the Pi and used an old 5V cell phone charger to power the LEDs. The strip was cut into smaller strands. Each face of the cube would end up with three strands of two LEDs each, or six LEDs per side. [Matt] found a mount for the Pi on Thingiverse and used a 3D printer to bring it into existence. The sides were made of frosted laser cut acrylic. The frosted look helps to diffuse the light from the LEDs.

Over time [Matt] found that the cube wasn’t as useful as he originally thought it would be. He just didn’t have enough alerts to justify the need. He ended up reprogramming the Pi to pull weather information instead, making use of the exact same hardware for another, more useful purpose.