Garage Door Controller Gets The IoT Treatment

[TheStaticTurtle] built a custom controller for automating his garage doors. He wanted to retain the original physical button and RF remote control interfaces while adding a more modern wireless control accessible from his internet connected devices. Upgrading an old system is often a convoluted process of trial and error, and he had to discard a couple of prototype versions which didn’t pan out as planned. But luckily, the third time was the charm.

The original door-closer logic was pretty straightforward. Press a button and the door moves. If it’s not going in the desired direction, press the button once again to stop the motor, and then press it a third time to reverse direction. With help from the user manual diagrams and a bit of reverse-engineering, he was able to get a handle on how to plan out his add-on controller to interface with the old system.

There are many micro-controller options available these days when you want to add IoT to a project, but [TheStaticTurtle] decided to use the old faithful ESP8266 as the brains of his new controller. For his add-on board to work, he needed to detect the direction in which the motor was turning, and detect the limit switches when the door reached end of travel in either direction. Finally, he needed a relay contact in parallel with the activation button to send commands remotely.

To sense if the motor was moving in the “open” or “close” direction, he used a pair of back-to-back opto-couplers in parallel with the motor terminals. He connected another pair of opto-couplers across the two end-limit switches which indicated when the door was fully open or closed, and shut off the motor supply. Finally, a GPIO from the ESP8266 actuates a relay to send the door open and close commands. The boards were designed in EasyEDA and with a quick turnaround from China, he was able to assemble, test and debug his boards pretty quickly.

The code was written using the Arduino IDE and connects the ESP8266 to the MQTT server running on his home automation computer. The end result is a nice dashboard with three icons for open, close and stop, accessible from all the devices connected to his home network. A 3D printed enclosure attaches outside the original control box to keep things tidy. Using hot melt glue as light pipes for the status LED’s is a pretty nifty hack. If you are interested in taking a deeper look at the project, [TheStaticTurtle] has posted all resources on his Github repository.

Rex Wasn’t Really A PDA, It Was The First Great Digital Rolodex

Back in the 1990s I was fascinated with small computers. I used the HP200LX palmtop computer for almost ten years, which I wrote about back in December. Naturally, the Franklin Rex 3 PCMCIA-sized organizer caught my attention when it was released in 1997. Here was a Personal Digital Assistant (PDA) the size of a credit card that could fit not just in your pocket, but in your shirt pocket.

Viewed today, it was an interesting paradigm. The screen takes up almost the entire front face of the device with a few buttons for navigation. But isn’t it a deal-breaker that you can’t enter or edit contact info on the device itself? This was long before cellphones were pervasive, and if you had the option to connect to the internet a telephone or Ethernet cable was involved. The ability to have a large data set in your pocket viewable without slapping a brick-like laptop on a table was pretty huge.

I think the killer feature was the PCMCIA interface. I challenged myself to reverse engineer the API so that I could sync data outside of the

Continue reading “Rex Wasn’t Really A PDA, It Was The First Great Digital Rolodex”

Raspberry Pi Takes Over Volvo’s Integrated LCD

As [Luuk Esselbrugge] explains in a recent blog post, his 2002 Volvo S60 had an optional GPS navigation system and backup camera that used a motorized display that would rise out of the dashboard when needed. His particular car didn’t come with the hardware installed, but after getting his hands on a display module and doing some research, he figured out how he could drive it with the Raspberry Pi and a couple of microcontrollers.

Given the age of the display, you probably won’t be surprised to hear that it uses composite video. Not exactly high resolution, but in the demonstration after the break, we have to admit it looks more than up to the task. [Luuk] is running Android Auto on the Raspberry Pi 3 through the openauto project, which gives him a nice big display and access to all the navigation and media applications you’d expect. The display doesn’t support touch, but thanks to an ESP32 plugged into the CAN bus, he’s able to control the software by reading the buttons built into the Volvo’s steering wheel.

Composite video sources are switched with a simple relay.

To actually raise and lower the display, [Luuk] found you just need to fire a few bytes down the 1,200 baud serial bus that’s built into the display’s wiring harness. The ESP32 handles this duty as well, at least partly because it’s already plugged into the CAN bus and can tell when the vehicle is in reverse. This lets it bring up the screen to show the video feed from the newly installed backup camera in the event that the Pi hadn’t already asked to raise the display. Incidentally plugging in the phone normally triggers the system to wake up and raise the screen, and disconnecting it will command the screen to lower back into the stowed position.

The attentive reader or Volvo aficionado may be wondering how [Luuk] got the audio working. Since his car’s sound system doesn’t feature an auxiliary input, he’s using an Arduino to spoof the existence of a CD changer, which allows him to inject an audio signal into one of the pins on the back of the radio. Eventually he wants to move this task over to the ESP32, but he says a big change like that will have to wait until warmer weather.

This isn’t the first time we’ve seen the Raspberry Pi used to add enhanced features to a somewhat older vehicle. While some bemoan the increased complexity of modern vehicles, it seems some hackers can’t get enough of it.

Continue reading “Raspberry Pi Takes Over Volvo’s Integrated LCD”

Automating Your Car With A Spare Fob And An ESP8266

Despite the name, home automation doesn’t have to be limited to only the devices within your home. Bringing your car into the mix can open up some very interesting possibilities, such as automatically getting it warmed up in the morning if the outside air temperature drops below a certain point. The only problem is, not everyone is willing to start hacking their ride’s wiring to do it.

Which is exactly why [Matt Frost] went the non-invasive route. By wiring up an ESP8266 to a cheap aftermarket key fob for his Chevrolet Suburban, he’s now able to wirelessly control the door locks and start the engine without having to make any modifications to the vehicle. He was lucky that the Chevy allowed him to program his own fob, but even if you have to spend the money on getting a new remote from the dealer, it’s sure to be cheaper than the repair bill should you cook something under the dash with an errant splice or a misplaced line of code.

The hardware for this project is about as simple as it gets. The fob is powered by the 3.3 V pin on the Wemos D1 Mini, and the traces for the buttons have been hooked up to the GPIO pins. By putting both boards into a custom 3D printed enclosure, [Matt] came up with a tidy little box that he could mount in his garage and run off of a standard USB power supply.

On the software side of things [Matt] has the device emulating a smart light so it can easily be controlled by his Alexa, with a few helpful routines sprinkled in that allow him to avoid the awkward phraseology that would be required otherwise. There’s also a minimal web server running on the microcontroller that lets him trigger various actions just by hitting the appropriate URLs, which made connecting it to Home Assistant a snap. One downside of this approach is that there’s no acknowledgement from the vehicle that the command was actually received, but you can always send a command multiple times to be sure.

This isn’t the first time we’ve seen an ESP8266 used to “push” buttons on a remote. If you’ve got a spare fob for your device, or can get one, it’s an excellent way to automate it on the cheap.

Designing And Building A Custom Optical Fuel Sensor

At some time or another, we’ve all had an idea we thought was so clever that we jumped on the Internet to see if somebody else had already come up with it. Most of the time, they have. But on the off chance that you can’t find any signs of it online, you’re left with basically two possible conclusions. Either you’re about to enter uncharted territory, or your idea is so bad that everyone has collectively dismissed it already.

Which is precisely where [James Stanley] recently found himself. He had an idea for an non-contact optical sensor which would detect when his racing mower was about to run out of gas by analyzing light passed through a clear section of fuel hose. He couldn’t find any previous DIY examples of such a device, nor did there appear to be a commercial version. But did that mean it wouldn’t work, or that nobody had ever tried before?

Continue reading “Designing And Building A Custom Optical Fuel Sensor”

An Open Source IR Gateway Based On The ESP8266

The market is absolutely inundated with smart gadgets, with everything from coffee makers to TVs advertising that they support the latest and greatest in home automation platforms. Don’t worry about how many of those platforms and services will still up up and running in the next few years, the thing will probably stop working before then anyway. No sense worrying about the details in a disposable world.

Of course, not all of us are so quick to dump working hardware in the name of the latest consumer trend. Which is why [Viktor] has developed an open source infrared gateway that can connect your “dumb” devices to the latest flash in the pan backend service with nothing more than a software update. Though even modern smart TVs still include IR remotes, so there’s nothing stopping you from using it with newer gear if you don’t trust like the built-in implementation.

The hardware here is really quite simple, essentially boiling down to a few IR LEDs and an IR receiver hanging off the GPIO ports of an ESP8266. While the receiver isn’t strictly necessary, it does allow [Viktor] to rapidly implement new IR codes. He just points the existing remote at the board, hits a button, and the decoded command gets sent out over MQTT where he can easily snap it up.

[Viktor] has done the hard work of creating the PCB design and testing out different IR LEDs to find the ones with the best performance. But if you wanted to just throw something together in a weekend, you should be able to get his firmware running with little more than a bare ESP and a random IR LED salvaged from an old remote. But don’t be surprised if you get hooked on the concept and end up rolling your own home automation system.

Linux Fu: The Linux Android Convergence

The Android phone that you carry in your pocket is basically a small computer running Linux. So why is it so hard to get to a usable Linux environment on your phone? If you could run Linux, you could turn your cell phone into an ultra-portable laptop replacement.

Of course, the obvious approach is just to root the phone and clean-slate install a Linux distribution on it. That’s pretty extreme and, honestly, you would probably lose a lot of phone function unless you go with a Linux-specific phone like the PinePhone. However, using an installer called AnLinux, along with a terminal program and a VNC client, you can get a workable setup without nuking your phone’s OS, or even having root access. Let’s see what we can do. Continue reading “Linux Fu: The Linux Android Convergence”