Off-The-Shelf Hacker: Displays + Microcontrollers = Practical Portable Projects
Something I’ve learned while experimenting with the JeVois camera is that it is extremely handy to have a way to view the video output feed available as you develop projects. This is critically important for portable operation on battery power, such as when I tried to demo Hedley, the robotic skull on the patio at a pub while attending OSCON. I certainly needed a lightweight portable display for that situation. Batteries, too. Likewise, being able to view a terminal or the desktop without 120-volt power, when working with a Raspberry Pi is a huge help.
Quite a few microcontroller projects have probably died untimely deaths because the developer simply couldn’t find a practical, portable display solution. You have the same problem whether using a Raspberry Pi, BeagleBone or any other number of HDMI-output microcontroller boards. Lots of cool projects simply can’t go headless.
This may explain why we don’t see very many Raspberry Pi and BeagleBone projects out in everyday life.
The situation has haunted me for quite a while. Carrying a 17-inch HDMI equipped LG monitor around, while possible, isn’t very practical. Portable operation is out with this setup unless you have a handy generator or inverter available since the monitor itself requires 120-volt power. A regular monitor is also much too bulky and certainly won’t fit into Hedley’s travel case. Yes, I have carried the 17-inch LG hulk into my offsite office, Panera Bread. No doubt people have definitely labeled me a geek. I figure it enhances my eccentric Dr. Torq crazy inventor persona (Editor’s note: Persona?!?).
Are there other practical ways to display the output from a Raspberry Pi and the JeVois sensor?
Let’s contemplate a couple of options to the dilemma.
Building a 10.1-inch HDMI Display
Banggood has a nice 10.1 inch HDMI capable display for around $70. I recently ordered one and will build it into a rugged steampunk-themed portable display for Hedley and his Raspberry Pi 3. I chose a bare display so I could put my own steampunk spin on the case and make it compatible with other projects. It comes with a little controller board and function buttons. Look for that build in upcoming articles.
A ruggedized, portable 10.1-inch display, along with a short lightweight HDMI cable helps keep projects compact and easily managed logistically. Getting a handle on your cables and batteries is important for a reliable design and that “finished” look, even though it might still be a prototype.
This display runs on 12 volts, so I also ordered a 15,000 mAh li-ion battery to avoid needing a power outlet (for a wall wart) on location. We ought to be able to get at least five good hours of usage per charge from this battery.
A recent trip to Lowes netted me a 10-watt LED shop light for $5. It was a floor model without a box. I certainly couldn’t pass it up because this one runs on both 120-volts AC and 12-volts DC. It came with a 15-foot long cable that plugs into a 12-volt car outlet. So, I’ll also be able to run the shop light from the big lithium-ion battery. I bring this up because there have been times where required lighting for the JeVois sensor has been marginal. While the sensor CAN function in low-light conditions, you’ll have to slow the video frame rate way down, for proper exposure. Lighting up the scene lets you run at reasonable frame rates. Trying to move a servo in sync with video at 1 or 2 frames per second is just painful and ineffective for most tasks. Using the display with the shop light will require a custom two port outlet, which I’ll build.
The combination of 10.1-inch display and its accompanying big battery, the JeVois camera, the Raspberry Pi 3, a compact wireless keyboard/mousepad and a couple of 5-volt power packs will finally unchain Hedley from the Earthly bonds of 120-volt outlet dependence. At least long enough for a decent promo demo out on the pub patio.
Resurrecting an Old EEEPC
An alternative to the dedicated portable display is a small notebook computer.
I also recently dug out my old EEEPC 1000HE notebook and figured it could be pressed into service as a practical display.
The antique 10.2-inch machine has an Intel Atom N270 chip running at 1.66GHz, a 160GB hard drive, 2GB of DDR2-533/667 RAM, a 1024×600 screen, a 1.3-megapixel camera and a 6-cell lithium-ion battery. Of course, there is also WiFi-N, an RJ-45 Ethernet port and Bluetooth. Runtime is about four or five hours on a full charge. The machine was purchased new back in 2009. You can find used examples on E-Bay anywhere from about $20 up to around $120 depending on condition. Funny, the specs are similar to a Raspberry Pi! Look how far we’ve come.
I replaced the old 10.xx version of Xubuntu with the latest shiny new 18.04 edition. The hot ticket is to download the .ISO file to your big Linux notebook and burn it to a USB stick using the dd command. Check this example.
rob@linux-notebook% sudo dd bs=4M if=xubuntu-18.04.1-desktop-i386.iso of=/dev/sdb
Note that I downloaded and used the 386 PC version, since the EEEPC is a 32-bit machine.
You can then boot the EEEPC from the USB stick and run from there if you like. I chose to just go ahead and install Xubuntu 18.04 after pulling all the old files I wanted to keep off the hard drive and transferring them to long-term storage.
Xubuntu runs great on the tiny notebook and everything works out of the box. WiFi and wired Ethernet connected without issue.
Using a small notebook with Hedley is just short of optimal.
Sadly, the EEEPC only has two onboard USB ports, so we’ll take up all available ports when using the JeVois sensor (it requires two USB connections). Additional USB ports for Hedley’s two Arduinos will require using a powered USB hub. That, of course, complicates things because then you need power for the wall wart. Or, you could always gin up a custom 5-volt to power pack cable.
The other shortcoming is that you can’t put the output of the Raspberry Pi’s HDMI port directly into another machine. There are no HDMI inputs on anything except monitors. To get around this problem, you can always run a short Ethernet patch cable between the Pi and the EEEPC, then use ssh to remotely run programs like guvcview. It introduces some latency into the process.
I’ll just plug the JeVois into the EEEPC and work out the other USB connects over time. The 10.1-inch display will be here soon. I’m happy with using the EEEPC and it will work fine for a number of projects.
Making practical portable microcontroller projects is difficult. The display and power are the two big issues in my professional opinion. I definitely know how the early laptop engineers must have felt. Modern microcontroller projects aren’t much different from early notebooks, just with a bunch of general-purpose built-in input/output pins.
Embrace the challenges and go build some awesome microcontroller projects with little displays and portable power.
Feature image via Pixabay.