The LCDuino-1 Display I/O Processor

History

I had wanted to build a high quality volume control and input/output selector to complement my high-end amplifiers for some time, as I feel that the mechanical potentiometer and rotary selector switches are not only a performance bottleneck, they do not lend themselves to advanced control capabilities that I was looking for.

There are off-the-shelf solutions available for relay-based, chip-based or motorized pot volume controls, relay-based selectors, etc., but virtually all of them are designed for a singular purpose, some are operable with a remote control, some not. Some have a display for status, some don't. It would be nice to have all of those features, yet implement it in an extensible manner such that more capabilities could be added without wholesale redesign, and to allow a builder to tailor the system to suit his/her exact needs.

In early 2009 LinuxWorks and I began exploring the idea about building a modular platform based on the Atmel MCU and developing firmware under the Arduino environment. This would serve, initially, as the basis of the volume control and input/output selector solutions, but it would not be limited to just these. We also added an LCD module for front panel status display and the ability to use generic IR remote controls for all features.

Arduino is attractive because of the rich set of tools, libraries, code and support available for firmware development. It uses the C programming language and the GNU C compiler (gcc) in a nice graphical integrated development environment. The environment runs on Linux, Windows and MacOS X. There is also a large and active Arduino programmer and user community where Open Source is de rigeur. In all it's a very exciting and dynamic scene and fits perfectly with our project and goals.

LinuxWorks had been dabbling in Arduino programming and had built some one-off prototypes on perfboard for volume control, S/PDIF source switcher, and even an Espresso machine monitor/controller. His experience with Arduino gave the project a smooth start, we designed the hardware and LinuxWorks served as the primary firmware developer. A prototype LCDuino-1 board design was fabricated in small quantities (v008) and was our basis for firmware work for much of 2009 and part of 2010. The δ1 relay-based stereo R-2R attenuator and δ2 relay-based stereo input/output selector were also designed and announced in 2010.

Much progress was made and a basic working system was demonstrated in several meets and events, including Head-fi meets and Burning Amp Festival in 2009 and 2010. We made a major revision to the LCDuino-1 board design to add an extra IC (the H-bridge chip for potentiometer motor drive), optimized the layout further, and made it a four-layer board with ground and power planes. We reorganized the firmware source code to make it compile-time configurable for included features. The Learn IR feature and extensive menu-driven setup system became a large effort of its own. We also had to rework the code to reduce its memory footprint, as we were running into flash and RAM size limits.

In mid-2010 I created the α10 stereo pre-amplifier to showcase the system, and it served as my testbed. This pre-amplifier also made its rounds in several meets and events in 2010 and 2011.

High quality in both the hardware and software is of utmost importance to us. We entered an intensive QA phase in 2011, where many issues and bugs were found and fixed. We also spent considerable amount of time and effort to optimize the behavior, response, and "look and feel" of the system under a variety of situations.

The result is the May 2011 release of LCDuino-1 v1.01 with Volu-Master firmware v1.00, and the companion δ1 and δ2 boards.

Look forward to more exciting projects from AMB, including more developments on the LCDuino-1 system.

Acknowledgements

For Volu-Master firmware:
  • Infrared remote control support code:
  • X10 support code based on work by BroHogan
  • RTC chip driver and LCD driver initial code based on work by Tom Lackamp
  • Big fonts based on work by dcb

External Arduino links

Arduino and its compatibles have emerged as the most popular microcontroller platform and there are countless websites, articles, forums, blogs, and photo sites with related content. The following are a few useful and interesting articles for your perusal.

Main: LCDuino-1 Main | Prev: Download | Next: Buy