ESP8266 Adds Slick Touchscreen Controls to a Stretch Limo

The popularity of the ESP8266 WiFi module has a lot to do with its ability to inexpensively connect to the Internet. However, [hwhardsoft]’s stretch limousine environmental control system explores another use for these modules: a simple way to tie together disparate systems with a common user interface.

On a basic level, the problem is one we’ve all faced: multiple devices with multiple control interfaces create an awkward user experience. Have you ever worked in an office with 6 brands of air conditioner requiring 6 different remotes? Because of its low-cost, support for Wi-Fi, serial, and GPIO, ESP8266 boards are a reasonable candidate to create a unified control system for multiple devices. This is even more true for the ESP32, as it adds Bluetooth support.

[hwhardsoft]’s use case is fairly straightforward. The limousine (a Lincoln stretch) has multiple LED lighting controllers, climate control, and a laser projector. This was not exactly a smooth user experience, so [hwhardsoft] tied all the controls to two slick touchscreen interfaces (presumably one for the driver and one for the passengers).

Each touchscreen sends commands over Wi-Fi using UDP to a control board that switches relays to control the different devices, as we’ve seen previously.

While relays are arguably not the ideal solution here, these control boards already existed and were functional, so it would have been wasteful to throw them out. An easy improvement suitable for future projects would be to use NPN transistors to simulate button presses on the remote controls. This works quite well and lowers cost, power, and parts count, while being faster, more reliable, and quiet.

If you wanted to build something similar in your home or office, but want to use an Android smartphone instead of a touchscreen, the Kivy Python module allows you to do just that. It’s quite easy to set up a simple interface with buttons, dropdown lists, and text inputs that send data to an ESP8266 over UDP.

4 thoughts on “ESP8266 Adds Slick Touchscreen Controls to a Stretch Limo

  1. Looks like a Nextion display to me…

    Never used one myself but they look super easy to work with. Basically it’s a serial controlled GUI that sends it’s buttons back over the UART. And you set it all up from a WYSIWYG interface program. They’re pretty clever.

    The one he got seems to be pretty pricey but I guess if you drive a limo it could definitely be worth it.

    https://www.itead.cc/nextion-nx8048t070.html

    1. I have one. They are pretty cool indeed.
      Like a slim version of FTDI’s EVE.
      The editor works fine too (using it with XP inside Parallels on OSX) – only drawback is so far that the SD can only be used for firmware upload at this point – no runtime access or saving of data. And you cannot send image data via serial either. Sure makes it easy tho to add 100 sliders to your Arduino hack.

      1. I am thinking of getting one, for an application where I set up a process and then launch it. Ideally, I’d be able to visualize it too, is it possible to plot real time data in a graph on them? (Eg Pressure vs Time, Temperature versus time?) I saw some indicators (pressure gauge) on the itead website, but no graphs. The p(t), T(t) data would be sent to the display via the serial “backchannel”?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.