The LCDuino-1 display I/O processor

Before you begin

  • This section assumes that you have unmodified Volu-Master versions 1.02 or 1.03, or γ3 versions 1.02 or 1.03 firmware pre-flashed on the Atmel MCU.
  • The 5V DC "constantly-on" power to your LCDuino-1 board should be connected and powered up before you continue with these procedures.
  • The PWR/CFG switch mentioned below refers to the front panel mounted momentary pushbutton switch.
  • If it is the first power-up of your LCDuino-1, you may need to adjust the LCD contrast trimpot (VR1) in order to have a clear, legible display.

Setup overview

The LCDuino-1 system hardware and firmware were designed to be feature-rich, yet highly flexible and configurable, so that most people could build a system to their requirements using the pre-flashed firmware (without the need to hack the firmware source code). It makes building the system much less daunting. An integral part of this is the setup procedures outlined below.

There are two groups of setup steps you need to perform before using your LCDuino-1. These are outlined below. You may also need to re-do these steps if you changed your hardware configuration or want to make other adjustments.
  1. Basic initialization
    Do these first after you power up the system for the first time.

  2. Menu setup
    The following is a list of screens that you can browse through in Menu Setup mode.

    Volu-Master γ3

1. Basic initialization

If your LCDuino-1 is in the "On" state, turn it Off by pressing and holding the PWR/CFG button for a few seconds. With Volu-Master, the display changes to show the first banner in the "Off" state. If the real-time clock is configured, the current time also appears. With γ3, the display changes to show both banners in the "Off" state.

Press PWR/CFG briefly to switch system "On", then quickly press it a second time to enter "Config mode". The following appears on the display:

Then the following prompt appears on the display:

Press PWR/CFG if you want to reset all stored setup information back to factory defaults (all previously programmed settings will be lost). Otherwise, just wait a few seconds for the next prompt.

Note: If it is your first power-up of this MCU chip, we recommend that you press the button to reset to factory defaults. It should rarely be necessary to reset again, except for the unlikely event that a corruption to the Atmel MCU's internal EEPROM occurs.

Depending on whether you chose to reset to factory defaults or not, the display will show one of the following messages:

The display then shows the next prompt:

Press PWR/CFG briefly if you want to enter the "Learn IR" mode to adapt your LCDuino-1 to your handheld remote control. Otherwise, just wait a few seconds and the LCDuino-1 will continue to start up normally.

If you chose to enter the Learn IR mode, the display changes to the following:

The blinking "Up Arrow" is a prompt for you to aim the remote control at the IR receiver and press the up-arrow key. If you cannot see the blinks, the LCD contrast (VR1) may need further adjustment. If the LCDuino-1 received and recognized the key-press signal, the prompt will stop blinking and an asterisk (∗) mark will be shown before it. This is to indicate that the key has been successfully learned:

If you press PWR/CFG while LCDuino-1 is waiting for you to press a remote key, it will skip that key and proceed to the next one (if there was a previously learned key for that function, it will remain unchanged):

If the LCDuino-1 does not detect any remote control key-press, and you do not press PWR/CFG to skip the key, then it will eventually time-out and proceed to start up normally. Otherwise, you will go through the above step for each of the following list of keys:
Up Arrow
Down Arrow
Right Arrow
Left Arrow
Up Alias
Down Alias
Sleep* or Anti-clip**
Multi-out* or Filter**

  1. The dagger symbol (†) in the list above denote required keys for essential operation. The remaining keys may be skipped for reduced functionality.
  2. Single asterisk symbol (*) denotes Volu-Master only. Double asterisks (**) denotes γ3 only.
  3. The remote control's printed key labels are not required to match what's shown in the list above. You decide which key is assigned to each of the functions. For example, you may assign the Channel Up, Channel Down (TV remote) or Next Track, Previous Track (DVD player remote) keys for Up Alias, Down Alias, respectively. Obviously, if your remote control has labels that match the keys, then assigning them accordingly helps make it easier to use. See the User guide for details on the remote control functions.

At the end of the learning sequence, the following will be shown on the display, and then LCDuino-1 will proceed to start up normally.

2. Menu setup

The following describes how to navigate the Menu Setup screens and fields.

  • Menu Setup is done using your remote control. You must have previously completed the Learn IR procedure.
  • Enter the Menu Setup mode by pressing the Menu key while the LCDuino-1 is in the "On" state and displaying the Main screen.
  • There are a series of screens you may cycle through by pressing the Up Alias or Down Alias keys.
  • Within a screen, you may step through the different fields using the Left Arrow or Right Arrow keys. The currently selected field is shown blinking.
  • You may change a field by pressing the Up Arrow or Down Arrow keys. If your LCDuino-1 has the front panel potentiometer, you may also turn the knob to change the field. Pressing the Mute key will set the field to its default value.
  • If the field you're changing is a text character (e.g., for the user-defined banners or input/output port names), pressing the Multi-out (Volu-Master) or Filter (γ3) key will change between upper-case, lower-case and punctuations modes. Together with the front panel potentiometer, this makes entering text quicker and easier.
  • To exit Menu Setup mode, press the Menu key again. The display then reverts to the main screen. LCDuino-1 remembers the last Menu Setup screen you visited (even across a power off/on cycle), so that if you enter Menu Setup again, you return to that screen.
  • Note that all normal functions (such as turning the power on and off, selecting input or output, or changing the volume) are not available while in Menu Setup mode.

The following paragraphs describe each of the Menu Setup screens. The screens are not listed in the order as you browse them using the remote control, because some of them are common between Volu-Master and γ3, while others are specific to each platform. The default field values are shown in the screen examples.

δ1 relays, dB/step (Volu-Master only)

This screen has two parameters to set, both of them pertaining to your δ1 hardware configuration (see the δ1 website). If you have two δ1 boards, they must both have the same number of relays and resistor values.

  • d1 Relays: The valid number is 5 through 8, and must match the actual number of relays installed on your δ1 board.
  • dB/Step: The dB increment per attenuator step. Valid choices are 0.1dB, 0.5dB and 1.0dB. This must match the resistor values used on your δ1 board.

Motor, potentiometer and clock presence (Volu-Master and γ3)

With Volu-Master, this screen has three fields to let you define the presence or absence of the front panel potentiometer, whether it is motorized, and if the real-time clock chip (U2) is installed. With γ3, there are only two fields because the real-time clock is not supported. All fields have a legal value of 0 or 1 (or "Off" / "On", respectively).

Volu-Master     γ3

  • Motor: If you have a front panel potentiometer and it's motorized, then set this field to 1 (or "On").
  • Pot: If you have a front panel potentiometer, set this field to 1 (or "On").
  • Clock: If the real-time clock chip is installed, set this field to 1 (or "On") (Volu-Master only).

Volume and input/output selector engine setup (Volu-Master only)

This screen lets you set the volume and input/output selector engine configuration. Specifically, the number of δ1 and δ2 boards in the system are set up here. You should set these to reflect your actual hardware configuration.

The Volu-Master firmware supports from zero to two δ1 boards and zero to two δ2 boards per system.

  • Volume
    • n/a: No volume control engine installed
    • 1 d1: One δ1 board installed
    • 2 d1: Two δ1 boards installed
    • PGA: (for future expansion - not yet supported)
  • I/O sel
    • n/a: No input/output selector engine installed
    • 1 d2: One δ2 board installed
    • 2 d2: Two δ2 boards installed
    • S-Addr: (for future expansion - not yet supported)
    • S-Mask: (for future expansion - not yet supported)

Note: If no I/O selector engine is configured, the Main screen will still show port 1's name in the input port name field. You may set a custom string to be displayed there (e.g., to show a logo-string).

Power-on muting delay, Sleep timer (Volu-Master only)

This screen lets you set two different timer intervals, as described below.

  • Amp Delay: After power-up, the delay interval in seconds before the δ2 output ports are enabled. This is to avoid thump noises (00-99 seconds).
  • Sleep: When Sleep Mode is activated, the number of minutes to remain powered-on until auto-shutoff (01-99 minutes).

Backlight dim and bright levels (Volu-Master and γ3)

This screen sets the minimum and maximum display backlight brightness. The minimum level is what the display will dim to in "Backlight: Auto" mode after a few seconds of inactivity. The maximum level is used for all other modes except when set to "Backlight: Off". See the User guide for more information.

Note: The actual display backlight level of this screen is adjusted as you change the settings to let you see the effects in real-time. The minimum level cannot be set equal or greater than the maximum level.

  • Min: The minimum backlight level (000-255)
  • Max: The maximum backlight level (000-255)

Fine volume adjustment step size (γ3 only)

This screen lets you select the step size (in dB) when making "fine" volume adjustments. You can choose between 0.5dB or 1.0dB. For Volu-Master, see the dB/Step configuration shown above for somewhat similar functionality.

  • Volume Step/Fine: The fine volume adjustment step size in dB.

Coarse volume adjustment step size (Volu-Master and γ3)

This screen lets you set up the step size (in dB) when making "coarse" volume adjustments. See the User guide for more information.

Note: The valid range and increment depends on the number of δ1 relays installed, and the dB/Step configuration shown above.

  • Volume Step/Coarse: The coarse volume adjustment step size in dB.

Volume control range limits (Volu-Master and γ3)

This screen sets the minimum and maximum limits of the volume control.

Note: The minimum volume cannot be set greater than the maximum level. If the minimum volume is set to be equal to the maximum, then the volume will be locked at the specified setting, and the volume and mute functions (via front panel knob/pushbutton or remote control keys) are disabled. For Volu-Master, the valid range and increment depends on the number of δ1 relays installed, and the dB/Step configuration shown above.

  • MinVol: The minimum volume setting in dB.
  • MaxVol: The maximum volume setting in dB.

User-defined banner 1 (Volu-Master and γ3)

This screen lets you set a custom text string (up to 16 characters long) to be displayed on the top row during start-up (as a result of pressing the front panel PWR/CFG button). It is also displayed in the powered-off state, if the display is not set to "Backlight: Off" mode.

  • Banner 1: The text string, editable one-character at a time.

User-defined banner 2 (Volu-Master and γ3)

This screen lets you set a second custom text string (up to 16 characters long) to be displayed on the bottom row during start-up (as a result of pressing the front panel PWR/CFG button). With γ3, It is also displayed in the powered-off state, if the display is not set to "Backlight: Off" mode.

Volu-Master     γ3

  • Banner 2: The text string, editable one-character at a time.

Input/output ports configuration, User-defined port names (Volu-Master only)

These screens sets up each of the eight δ2 input/output ports and lets you define custom port names. The number shown on the top row is the port number corresponding to the ports on the δ2 board. Since this number starts at 1, but the δ2 schematic and board silkscreen have zero-based designations, you must subtract the displayed port number by one to get the physical port number (i.e., Port 1 shown on the screen is actually port 0 on the board).

The second row has two configurable fields. The first field defines the port as an input port, an output port, or disabled. This must match the way you built your δ2 board. If you have two δ2 boards, then both of them must have the same port configurations. The second field lets you define a custom name for each port, which will be displayed on the main screen when the port is active.


  • Port type
    • n/a: This port is deactivated.
    • Input: This port is an input port.
    • Output: This port is an output port.
  • Port name
    • A user-defined port name text string, such as "DAC", "DVD", "Phones", etc. It is editable one-character at a time (up to 8 characters long).

Set the clock (Volu-Master only)

This screen lets you set the clock (if the real-time clock chip is installed and configured). For this purpose the clock is shown in 24-hour time format (HH:MM:SS). The hour, minute and second fields are adjusted separately.

  • HH:MM:SS: set the hour, minute and second in 24-hour time format.

δ1 and δ2 I²C addresses (Volu-Master only)

These screens let you configure the I²C addresses of the δ1 and δ2 boards (up to two of each board type). Each board has two I²C address, the positive bank and the negative bank. These correspond to the JP1+ and JP1- jumper blocks on the board. The I²C addresses are shown in two formats on the screen: decimal and binary. The top row is the positive bank, the bottom row is the negative.

The three least significant (rightmost) bits of the binary numbers correspond to the A, B and C jumpers on each of these blocks. A binary 1 means the jumper should be installed across the header's 1-2 pins. A binary 0 means the jumper should be installed across the 2-3 pins.

For example, in the δ1-1 screen shown below, the positive bank's last three bits are "111", so JP1C+, JP1B+ and JP1A+ should each have a jumper installed across the 1-2 pins. For the negative bank, the last 3 bits are "110", so JP1C- and JP1B- should have jumpers installed across the 1-2 pins, but JP1A- should have a jumper across the 2-3 pins.

The four most significant (leftmost) bits of the I²C address should be "0111" if you used the PCF8574A port expander chip (U1+ and U1- on the δ1 or δ2 boards). If you used the PCF8574 (no A-suffix), then these bits should be "0100". All the screens below are set up for the PCF8574A.

The following diagram illustrates all this in a more succinct manner:

You may use this online decimal/binary calculator to convert from one format to another or vice versa.

The jumpers on your δ1 and δ2 boards should match this configuration, and the chip-type should also be correctly set. If not, the LCDuino-1 won't be able to communicate with them.


  • I²C address, positive bank: decimal and binary
  • I²C address, negative bank: decimal and binary

Up-sample rate select (γ3 only)

This screen lets you set the PCM digital audio up-sample rate.

  • 192.0KHz: Up-sample to 192.0KHz.
  • 96.0KHz: Up-sample to 96.0KHz.

Digital output mode (γ3 only)

This screen lets you set the mode for the γ3 digital outputs.

  • Up-sample: The digital outputs are up-sampled to the rate selected by the "Up-sample" screen.
  • Loop-out: Use the native sample rate. Note that if the input source is USB, the digital output is always up-sampled.

Absolute phase (γ3 only)

This screen lets you set the analog outputs' absolute phase.

  • Normal: The analog outputs preserve absolute phase (i.e., are non-inverting).
  • Invert: The analog outputs inverts absolute phase.

De-emphasis mode (γ3 only)

Some old and rare CDs were recorded with pre-emphasis, and a corresponding de-emphasis must be applied during playback to restore a flat frequency response. This screen lets you set the de-emphasis mode for all AES/EBU and S/PDIF digital inputs (including XLR, coax and optical, but not USB). De-emphasis works on 44.1KHz and 48KHz sample rate only.

  • Auto: The γ3 will automatically enable de-emphasis when needed.
  • Off: The γ3 will never enable de-emphasis.

USB audio class selection (γ3 only)

This screen lets you select the USB audio class. If you change this setting, it does not take effect until you browse to another menu screen or exit Menu Setup Mode.

  • UAC1: USB audio class 1 - supports 44.1KHz and 48.0KHz sample rates only. No special software driver needed on all supported OS platforms.
  • UAC2: USB audio class 2 - supports 44.1KHz, 48.0KHz, 88.2KHz, 96.0KHz, 176.4KHz and 192KHz sample rates. The Win-Widget ASIO software driver is needed on Windows platforms.

Digital inputs user-defined names (γ3 only)

The following screens let you customize the name of each of the digital inputs. The selected input name is displayed on the screen during normal operation. Input 0 refers to the USB port, inputs 1 through 4 refer to each of the four AES/EBU or S/PDIF inputs.


  • Input name: The names are editable one-character at a time. Each name should be 7 characters long or less, to separate them from the sample rate display during normal operation.

Main: LCDuino-1 Main | Prev: Wiring | Next: User guide