Dec 21 I need to rethink this a bit. As I have now prototyped and ordered up some small back of gauge circular PCBs, from JLCPCB, based on an ATTiny 1604 and the VID6606 chip. These little boards can drive a pair of X.27 motors and by using a second (but unpopulated) PCB I can connect two separate single needle gauges as a pair directly to the Teensy control board.
So rather than use 4 or 5 Arduino Nano's as cluster controllers I will try and daisy chain a number of instrument PCBs on the same output channel of the TCA9548A 8-way I2C multiplexor chip.
The ATTiny 1604 can also handle the home sensor removing the need for an extra connection wire.
Whoops! Writing this I noticed that I have forgotten to put the I2C pull up resistors on the PCBS so I will have to jury rig a pair of pull ups in line with the tail-end connector socket.
May 21 Using the VID6606 step/dir chip I can control 4 off X.27 motor dial needles using just 5 pins from the controller (1 Dir and 4 separate Step lines). Where an instrument needs more than 315 degrees of motion I will also need an additional zero/home sense line.
The X.27 is intrinsically a 360 degrees of motion motor but has an internal travel limit stop set at 315 degrees. With care the X.27 can be prised open and the stop cut off, enabling full 360 motion.
This is good for all of the single needle instruments (partial or full circle motion) and also some of the multiple needles. Larger and more complex instruments need further design consideration.
An Arduino Nano has 13 Digital and 8 Analogue Pins. So theoretically could handle all 4 VID6606 X.27 Clusters, but it is probably simpler to split this into multiple boards to allow some spare bandwidth and pin capacity. Arduino boards are cheap.
Cluster 1 (4 Instruments, 1 Sense, 6 Wires)
1 - AirSpeed, 360+, with Sense
This will need a home sense line as it uses 585 degrees of motion
2 - Climb& Descent, 315, No Sense
we can home from -4
3 - T&S Turn, 90 of 315, No Sense
4 - T&S Slip, 90 of 315, No Sense
Cluster 2 (4 Instruments, 0 Sense, 5 Wires)
1 - Voltage, 90 of 315, No Sense
2 - RPM, 315, No Sense
3 - Boost, 315, No Sense
4 - Fuel Pressure, 60 of 315, No Sense
Cluster 3 (4 Instruments, 0 Sense, 5 Wires)
1 - Oil Temp, 315, No Sense
2 - Rad Temp, 315, No Sense
3 - Fuel Qty, 90 of 315, No Sense
4 - Oil Pressure, 60 of 315, No Sense
Cluster 4 (4 Instrument, 0 Sense, 5 Wires)
1 - Nose Trim, 80 of 315, No Sense
2 - Brake Main, 150 of 315, No Sense
3 - Brake Left, 150 of 315, No Sense
4 - Brake Right, 150 of 315, No Sense
Cluster 5
The following instruments are unable to use X.27 motors as they are not needle type instruments but rather they move a heavy face or gimbal needing a lot more torque.
1 - Artificial Horizon , with sense x2 pitch and roll, 28BYJ-48 x2
2 - ADI Compass, 360, with sense, 28BYJ-48 x1
3 - Mag Compass, 360, with sense, 28BYJ-48 x1
I have an Arduino Nano CNC board with 3 off A4988 stepper drivers going spare that could find some useful work here.
Mar 2020 This has now been prototyped. The 28BYJ-48's need to be opened up and the circuit track connecting the two coil centre taps cut. VRef on the A4988 should be set to 20mV and jumpers set to full stepping. There are 2 specs of 28BYJ-48's 11.25 degrees and 5.625 degrees per step both with roughly 1/64 reduction gearing. The cheap 11.25 ones, which I have, need 2050 Pulses to give a full 360 degree rotation. The maximum rotation speed achievable is at 2.4mSecs per pulse or approximately 5 seconds for a full 360.
Cluster 6
The Altimeter is a conundrum yet to be resolved.
A - Altimeter 3 Needles, 360, 3 Sense (complex design not yet determined 1 or 3 motors)
B - Altimeter Pressure Setting - rotary encoder to FlightSim, FlightSim to dial face, no physical connection.
C - Altimeter Pressure Display - 1 x Motor