A Pin Switch Matrix Board
Sniffs the comms to automatically configure the pin to function mapping.
This is a four layer SMD version board 186 x 144mm. Fairly big but the relays are not small and the traces for the high heater currents have to be quite wide, even using 2oz copper. Also the high voltage pins need a respectable clearance. The BOM cost came out quite a bit higher than my original estimates primarily it seems due to the poor global supply situation.
I have a few made and the available in the store here . I’m only offering them fully assembled and tested to avoid a time consuming support situation.
Here is a pic of it working with a tracer. In this case this is a “FUtracer” board that was generously donated to the cause.



Installation
The tube socket pins connect to the ten screw terminals. The terminals are labelled 1 through 10. In between the two screw terminal blocks is a connector for power and serial data. The board needs to connect to the +19.5 supply and also to the +5V supply of the uTracer. To avoid the LM7805 on the uTracer overheating it is advisable to add a 51ohm 3W resistor in series with the 19.5V supply to the regulator. The serial data is daisy chained so that commands feed the Matrix board first and the on to the uTracer.
The six way connector supplies the anode, screen grid, cathode and heater signals.
Here is a diagram using the uTracer3. The uTracer 6 is similar. If you ever need to update the firmware in the Matrix processor chip you will need to add bypass the uTracer processor chip serial pins. Therefore it is advisable to add a switch to bypass the uTracer processor chip.

The Matrix board can be driven from the uTmax GUI. This comes with a database of tubes so when you select one and start testing the pinout is sent to the Matrix board. To enable the Matrix board you must check the box on the options dialog .

Serial Commands
To configure a particular set of pin connections requires a command to be sent to the board. There is no response. The command format is
/x80/x81SetPins=1234567890
“/x80”, for example is a single character with a value hex 80. The numbers 1..0 are placeholders tube pin connections to assign to the anode, screen grid, cathode and the two heater signals and in order of the tube socket pin numbers. There command must always have twenty 8 bit characters. These placeholders may have a value of 0 through 6 as follows:
Value | Meaning |
0 | No connection |
1 | Anode |
2 | Screen |
3 | Cathode |
4 | Grid |
5 | Heater A |
6 | Heater B |
So, for example, the command /x80/x81SetPins=1435624300 would be suitable for a 12AX7 type tube with pin 1 = anode, pin 2 =grid, pin 3 = cathode, pin 4= heater A, pin 5 = heater B, pin 6 = screen, pin 7 = grid, pin 8 = cathode, pins 9 no connected, pin 10 not connected.
Test Software
Here you can down load a simple program that will control the Matrix board from a basic command line interface. The program is compiled for Windows from a simple Python script so is very large considering the limited functionality. If you’d prefer Python the script can be found here.