Product Documentation

Print Friendly, PDF & Email

4.4.V25 UART Command Codes

External Control

The V25 Preamp Controller Board can be controlled by external control devices such as an Arduino board or any other programmable device with standard UART serial communications hardware or the equivalent in software.

When an external controller is employed the external controller’s UART transmit (TX) and receive (RX) signals are connected to the V25  Master Board’s RX2 and TX2 pins respectively.

In order to have reliable UART communications the user should be mindful that both devices share a common ground.

V25 master slave serial data link diagram

UART Protocol

The UARTs used by the V25 are built-in to the V25 processor’s hardware, utilize data receipt interrupts, and are considered extremely accurate and reliable.

The V25 employs the following UART communications protocol.

  • Baud Rate: 115,200 bps
  • Stop Bits: 1 stop bit
  • Parity: none
  • Data bits: 8
  • Flow Control: none

V25 UART Control Commands

The control commands available to an external controller are defined in the table below.

Collectively these commands should allow for the comprehensive control of the V25 even in the absence of any visual feedback from the V25.

The user accepts all risks in using an external controller and these commands to control their V25 controller.  

Command ValueCommand NameDesciption>
0_power_toggletoggles the on/off state of the controller
1_turnonturns controller on if it's off otherwise ignores
2_turnoffturns controller off if its on otherwise ignores
3_raiseresponse depends on controller mode - by default it raises volume 1 step
4_lowerresponse depends on controller mode - by default it lowers volume 1 step
5_leftresponse depends on controller mode - by default it shifts volume balance 1 step to the left
6_rightresponse depends on controller mode - by default it shifts volume balance 1 step to the right
7_enter* volume adjust mode - blinks display
* other modes - locks in any changes and reverts to default volume adjust mode
8** reserved ** don't use
9** reserved ** don't use
10** reserved **don't use
11_menu_volswitches controller to default volume adjust mode
12_menu_inputswitches controller to input adjust mode
13_menu_displayswitches controller to display adjust mode
14_menu_volmaxswitches controller to max volume on input change adjust mode
15_menu_impedswitches controller to impedance adjust mode
16_menu_calswitches controller to auto calibration mode
17_mute_toggletoggles mute state of controller
18_mutemutes the volume if not already muted
19_mute_switchmutes controller, then switches to new input (slow mode only), and then unmutes controller
20_unmuteunmutes the volume if it's currently muted
21_refreshrefreshes display based on current mode
22_showdisplay info associated with current mode
23** reserved ** don't use
24** reserved ** don't use
25** reserved ** don't use)
26** reserved ** don't use
27** reserved ** don't use
28** reserved ** don't use
29** reserved ** don't use
30** reserved ** don't use
31_send_vol* 2 bytes : command + value
* value = volume level 0-99
32_send_volbias* 2 bytes : command + value
* value = volume bias between -20 and+20
33_send_volmax* 2 bytes : command + value
* value = max volume upon input change between 1 and 99
(99 essentially defeats this safely feature)
34_send_input* 2 bytes : command + value
* value = input number between 1 and 6
35
_send_imped_index* 2 bytes : command + value
* value = impedance index number between 1 and 5
36_send_imped_level* 2 bytes : command + value
* value = impedance level between 1 and 99
(must run autocal after changing level before change becomes active)
37** reserved ** don't use

External Control Integration

To effectively use the UART control commands the use must be mindful of the overall V25 remote control scheme. For convenience the V25 Apple remote control scheme is shown in the table below.

For example, in order to change inputs, an external controller must first place the V25 into input control mode and then issue the appropriate raise, lower, left, right,  and enter commands consistent with instructions for changing input as described below.

Function/ModeButton(s)Description
Turn OnMenuPressing button turns the unit on.
Turn OffMenu There are 2 ways to turn off the preamp depending on the firmware version in your preamp.

1-step turn off (prior to firmware rev 1016) - Press/hold the Menu button and then release. Note that if held down too long unit may turn back on and if held down too briefly will result in muting the preamp but not turning it off.

2-step turn off (starting with firmware rev 1016) - First mute the unit by briefly pressing the Menu button. When the volume has fully ramped down to zero, a subsequent press of the Lower button will turn off the preamp. Starting with firmware rev 1019 you don't have to wait for the ramp down to finish - just a quick 2 button Mute->Lower press will shut off the preamp.
Volume MutingMenuBrief press of Mute button will mute or unmute the unit. The volume will ramp down to zero when muted. When unmuted the volume will ramp back up to its prior setting.
Volume AdjustUp/DownRaises and lowers the volume by 1 step for each press. Holding down the buttons will cause the command to repeat.
Balance AdjustLeft/RightWhile in the default Volume Adjust mode, use the left/right buttons to adjust the channel balance 1 step to the left or right a maximum of 20 steps either way. Each step changes channel balance by ~0.5 dB. As channel balance continues to skew towards a given side (left or right), the combined volume level of both sides will automatically adjust to maintain the same overall volume level.
Control ModesModeIn addition to the default Volume Control mode there are 5 other control modes as listed below. The modes are accessed by sequentially pressing the Mode button (lower right) on the Apple remote. At any time, pressing the Center button on the remote will return the unit to the default Volume Control mode.

0) Volume Adjust Mode - default
1 Input Adjust Mode
2) Impedance Adjust Mode
3) Display Adjuse Mode
4) Max Volume On Input Change Mode
5) Auto Calibration Mode

Each of these modes are explained below.
Input Adjust Mode (Slow)Mode, Raise/Lower & Left/RightPressing the Mode(play) button once will switch the unit into Input Adjust mode. The right display will show the currently selected input number. The left display will show the prior volume level associated with that input when it was last selected.

Music will continue to play on current input channel while while the preamp is in Input Adjust mode and you make your input selection.

Use the raise/lower buttons to adjust the input to desired number.

Press the Center/Enter button to activate the newly selected input and return to volume control mode.

If you select the same same input as your're currently listening to, nothing happens upon pressing the Enter button and returning to volume control mode.

If you select a new input, pressing the Enter button will cause the existing input signal volume to ramp down, the new input to then be connected, and the new input volume to ramp back up.
Input Adjust Mode (Fast)Mode, Left/RightPressing the Mode(play) button once will switch the unit into Input Adjust mode. The right display will show the currently selected input number. The left display will show the prior volume level associated with that input when it was last selected.

Unlike the Slow Mode described above, the Fast Mode immediately changes the input without first muting the volume.

Use the left/right buttons to change inputs immediately.

There will be a brief 200 millisecond delay in fast switching the inputs which will hardly be perceptible.
Impedance Adjust ModeMode, Raise/Lower, Left/Right, MutePressing Control Mode (play) twice will switch the unit into Impedance Adjust mode. The left display will show the impedance setting number (1 through 10) and the right display will show the impedance level (in xxK ohms) associated with the currently selected impedance setting number.

Use the raise/lower buttons to change the impedance setting number (1-10). Use the left/right buttons to change the impedance level for the currently selected impedance setting. Press the Center/Enter button to exit Impedance Adjust mode and return to volume control.

Changing the impedance setting number will instantly change the preamps impedance to the level associated with the setting number provided that this setting and its associated level have already been run through the auto-calibration process.

Switching to an impedance setting number (1-10) that has not already been initialized through calibration will result in the audio being turned off. This is the single most common error users make when working with the Adjustable Impedance feature.

The display will slowly blink any time you switch to an impedance setting number that has not been initialized by running through a calibration cycle. The display will similarly blink if you change the impedance level at any setting that was already calibrated. In short, a blinking impedance display indicates the current setting/level requires calibration. If the default setting #1/20k requires calibration (display blinks) you will not be able to change to any other settings 2 through 10.

Starting with the release of firmware version 2.2.5, calibration is started directly from the Impedance Adjust mode by pressing the Mute button while in this control mode. Doing so will change the display to Calibration Run. Please refer below to section on Impedance Adjust - Calibration Run below for details.
Impedance Adjust - Calibration RunEnterStarting with the release of firmware version 2.2.5, calibration is started directly from the Impedance Adjust mode by pressing the Mute button while in this control mode. Doing so will change the display to Calibration Run mode.

At the start of Calibration the unit will first quickly cycle through LDRs 1 through 4 to establish the VLo's for each LDR. The left display should cycle through values 1-4. If there's a problem establishing the VLo's the left display will hang at the LDR number that is having a problem.

The unit will then proceed to cycle through each of 4 LDRs showing the LDR number in left display and the calibration step number in right display. There are 99 calibration steps for each LDR. Upon completion of 4th LDR, unit will terminate calibration, and then return the display to normal Volume Control mode.

At the beginning of each LDR's calibration the step number will likely remain at step 1 for a while. That's normal. After no more than a minute the step count should proceed upwards. Sometimes the step count goes quickly and other times it may slow down quite a bit. This is normal.

If the calibration step process slows down and stops or never proceeds beyond step 1 and does not proceed after a minute of waiting that is a fairly definitive indication that the LDR whose number displayed in the left display has gone bad and needs replacement.

You can quit Calibration at any time by pressing the Center button on the remote but we recommend to avoid doing this to ensure ideal calibration results and performance.


Display Adjust ModeMode, Raise/Lower & Left/RightPressing Control Mode (play) three (3) times will switch the unit into Display Adjust mode.

BRIGHTNESS ADJUST

The right display will show the brightness level number between 0-15.

Use the raise/lower buttons to change the brightness level. Press the Center/Enter button to exit the Display Adjust mode and return to volume control.

TIMEOUT ADJUST

Timeout allows you to cause the display to turn off at the selected number of seconds after prior command input via the remote. Timeout only works when in Volume Adjust Mode and is disabled when the preamp is in any other control mode.

The left display will show the timeout number between 0 and 99 seconds. If set at 0 the display timeout feature is disabled. The minimum timeout setting is 5 seconds.

Use the left/right buttons to adjust the timeout to desired level. Press the Center/Enter button to exit the Display Adjust mode and return to volume control.
Max Volume On Input Change Adjust ModeMode, Raise/LowerPressing Control Mode (play) four (4) times will switch the unit into Max Volume On Input Change mode. The left display will be blank. The right display will show the maximum volume allowable when switching to a new input or when the unit is first turned on. This can be adjust between 1 and 99. The initial default value is 50. This protects your audio gear (speakers!) from accidentally going to full volume when switching to an input they may have been at or near full volume when previously selected as would be the case if the preamp was being used in a home theater bypass scenario.

Use the raise/lower buttons to change the max volume on input change level. Press the Center/Enter button to exit the max volume on input change adjust mode and return to volume control.
Auto Calibration ModeMode, RightStarting with the release of firmware version 2.2.5, calibration is started directly from the Impedance Adjust mode by pressing the Mute button while in this control mode. Doing so will change the display to Calibration Run mode. Please refer to the Impedance Adjust sections above for details. The rest of the information below relates to units with earlier firmware.

Pressing Control Mode (play) button five (5) times will switch the unit into Auto Calibration mode

Both displays will initially show 0 upon entering the auto-cal mode.

Press the Right button 3 times to enable auto-calibration. The right display will show the count up as you press the button.

Once enabled the unit go through several stages of calibration. The first stage involves making 4 adjustments during which time a 4 digit number will be displayed typically ranging from 1500-1850. If the preamp does not cycle through these 4 adjustments within say 30 seconds or so that's an indication one or more LDRs may be having a problem. If there's a problem the numbers will either continue to increase or decrease steadily until hitting some upper or lower limit and then remain fixed.

The unit will the proceed to cycle through each of 4 LDRs showing the LDR number in left display and the calibration step number in right display. There are 99 calibration steps for each LDR. Upon completion of 4th LDR, unit will terminate calibration, briefly shut off the preamp, and then start the preamp again normally.

At the beginning of each LDR's calibration the step number will likely remain at step 1 for a while. That's normal. After no more than a minute the step count should proceed upwards. Sometimes the step count goes quickly and other times it may slow down quite a bit. This is normal.

If the calibration step process slows down and stops or never proceeds beyond step 1 and does not proceed after a minute of waiting that is a fairly definitive indication that the LDR whose number displayed in the left display has gone bad and needs replacement.

You can skip over an LDR any time during autocal by pressing the right button. If you skip past the 4th LDR, autocal will terminate.
Yes No Suggest edit
Suggest Edit