After trying to solve the light issues – I’ve decided to step back and look at the situation from another angle.
I have 4 OLED screens to drive – DED, PFL, CMDS and FFI
they are all using SPI – which means I’m low on I/O pins on Uno and Micro because of the need for CS for each screen.
My light situation is somewhat limited due to the same issue – If I go via SPI, I’ll need another CS pin for every device – and I’ll need to work around my issues with multiple SPI devices.
the Other option is keep the SPI for the OLEDs and swap all the lights to use I2C I/O expenders this will pretty much allow me to wire up everything and power it all via a single Arduino Due (due to the faster CPU and no memory issues). it will also allow me to overcome the issue I had with 3.3V logic on a 5V bus I have with the Due.
I’ve Ordered some basic 8 and 16 bit IO expanders to get rolling. I’ll need the 8 bit for the indexers, two 16 bits for the caution panel, 16 bit chip for the glareshield and a 16 bit for the TWP/TWA
unfortunately the 16 bit chip I have ordered only support 3 bit addressing – so I can only use 8 of them. and the 40 bit expender is hard to get here (and shipping from the internet costs too much $$ to make it a viable option for now). but using the 40 bit chip will allow me to save some 16 bit chips addresses, but that is still far away.
I’m waiting for things to arrive of ebay, then I get to work on it and check if this option is viable.
In the meanwhile, I’ll start learning the basics and start a general redesign for the Main board and the new I2C bus board (which may or may not be an expanded AOA board) but till then I’m still thinking 🙂
If you have any, more interesting ideas, feel free to comment or PM me on VP or BMS forums