Control of 14 relay matrix

Good day

This is my first post here and my first time working with Arduino. I have been working with electronics for many years and mostly high voltage low current stuff.

I need to build a cool switching unit for a friend that includes 14x relays that must be controllable via a touch screen with some visual representation of the relays that are on and that are off.

What would the basic building blocks include?

  1. Arduino Nano
  2. I2C expander units
  3. Touch screen (I2C)
  4. Maybe ir/bluetooth receiver unit for remote control
  5. Relay matrix (which I am designing on a PCB)

Any advice and heads-up would be appreciated.

:slight_smile:

A schematic of the setup and an idea of what it is supposed to do would be a first step. Do the relays have drivers? Which I2C expanders?

IR or Bluetooth? Bluetooth is easier with a Android smart phone and the touch screen could be omitted. Use the phone display. There are several Bluetooth terminals and application builders available, many free. I use Bluetooth Electronics on my Android tablet. It is free and avaiable on the App Store.

groundFungus:
A schematic of the setup and an idea of what it is supposed to do would be a first step. Do the relays have drivers? Which I2C expanders?

IR or Bluetooth? Bluetooth is easier with a Android smart phone and the touch screen could be omitted. Use the phone display. There are several Bluetooth terminals and application builders available, many free. I use Bluetooth Electronics on my Android tablet. It is free and avaiable on the App Store.

The relays will have drivers on the main PCB. They switch an audio routing matrix. A screen on the enclosure is vital and cannot be omitted.

I ordered a few bits from a local Ardiuno hobby store such as a 16 bit I2C expander module and a colour touch screen. I'll report when I have the goodies in hand.

Thank you.

the NANO is a but slow and does not have a lot of memory for a large display.

consider options like the ESP8266 or the MEGA or even a Teensy

The faster processor with the larger memory will run the display much faster.
the beauty is that you should be able to do this with the NANO and it might come down to a personal choice to use the faster processor.

I got the following:

A Wave MCP23017 I2C I/O Expander
And a 4inch Touch LCD Shield for Arduino (Brand: Waveshare
UPC: 614961951242)

Will be getting into code in this week... so many things to do.

The relays will have drivers on the main PCB. They switch an audio routing matrix.

Are you routing signal level audio or power (as in, to drive a speaker) level audio? I suggest considering CMOS analogue switches for signal level audio switching, not relays.

How do you want to turn on more than 1 relay at a time in a matrix?

I’ll ask a more fundamental question...
No problem with a matrix. But why?
It would be simpler, with a lot less wiring to use a software defined ‘virtual’ matrix and a couple of shift registers to drive the relays.