Skip to content

The microcontroller human interface

Generally, anytime I see a little box with a 2 line by 16 or 20 character display and a few buttons and whatnot, I think microcontroller. An example is the West Mountain Radio Target Tuner designed to assist in tuning mobile screwdriver antennas. Sometimes the display is a small OLED graphical display – I’ve seen Ardutesters (RCLT identification and characteristic determination) with this sort of display. The display and buttons can come to near half then entire parts costs of these devices. This illustrate the difficulties and costs of a decent user interface. So what next?

Engadget says You can now get a 7-inch 3G Android phablet for just $54 in China. “you get a 1,024 x 600 LCD screen, 1GB of RAM, 8GB of internal storage, 0.3MP/2MP cameras, a 1,800mAh battery and even HSPA+ connectivity.” That means you get a decent sized high resolution graphics display with touch capability and an operating system to use it. What this article doesn’t mention are the multitude of sensors and capabilities that are common on such devices. You can sometimes see these mentioned in Ebay listing for Android devices in this price range. They include such things as GPS, WiFi, position sensors, and acceleration detection.

This opens the potential for using a cheap Android device for display and input and letting the microcontroller focus on the peripheral stuff. That is where Microchip’s PIC brand name came from as PIC is an acronym for Peripheral Interface Controller. An example of first steps in this direction is Sparkfun’s IOIO for Android.

“The IOIO board contains a single MCU that acts as a USB host and interprets commands from an Android app. In addition, the IOIO can interact with peripheral devices in the same way as most MCUs. Digital Input/Output, PWM, Analog Input, I2C, SPI, and UART control can all be used with the IOIO. Code to control these interfaces is written in the same way as you write an Android app with the help of a simple to use app-level library. In other words, you can combine the awesome computing power, Internet/Bluetooth connectivity, touch screen, and a variety of sensors from your Android device with the ability to easily add peripheral devices to interact with the outside world. Also, using the IOIO does not require any hardware or software modifications to your Android device, thus preserving the warranty as well as making the functionality available to non-hackers.

This has now been updated to IOIO-OTG for about $40. The home page for this project is at github. Other examples include the Bluetooth method at vimeo or with a PIC at NBcafe.

Instead of a display with buttons and the circuit board real estate in your mcu project, what you’ll need is a USB, Wifi, or Bluetooth circuit with appropriate software. Then you’ll need to put together an Android app. As you can see, there is a lot of work in progress on these fronts. It will be interesting to see how it evolves.

Post a Comment

You must be logged in to post a comment.