Feasibility question incoming...
What's I've done so far:
- I've run a lot of CAT6 and CAT5 cables around the house, to windows, doors, ceilings, floors.
- I have started to install various sensors, wired back to a single Arduino Mega.
- I've made a little interface board that takes 8x 8P8C connectors (basically ethernet connectors but used for general IO rather than ethernet) and connects them to an Arduino Mega. I'm using 2 cores out of the 8-core CAT5 for power, switchable between 5V and 12V.
- Also I'm using a W5100 board connected via SPI lines to the Mega, and sending messages in and out via MQTT. (Yes I know I could use W5500 or even W7500 but - I have quite a few of these little W5100 boards kicking around.)
What I'd like to do
However I'd like to up my game a little, and increase my port count to 24 ports.
So that's 6 cores of data plus 2 cores of power per port.
24x 6 = 144.
I have a bucket full of MCP23017 which I've not yet played with, and I'd like to make a main board for the Mega, with 3x sub-boards each having 8x ports. They would be connected to the main board with just power and I2C. Then the sub-boards would house the parallel IO expansion chips.
Each MCP23017 provides 16 general purpose IO, with 3x I2C address lines giving a maximum of 128 IO.
Plus the IO on the Mega - at least, any remaining IO that isn't used already for SPI (the Wiznet W5100 board).
By my calculations, it should be possible to achieve 144 general purpose IO plus SPI for the ethernet connection, plus a few spare for e.g. a display. I guess I'd need to be careful with I2C addresses, making sure I chose a display with a configurable address so it doesn't clash with any of the MCP23017s.
It's not something I have played with yet, so I don't know the exact limitations.
Things that seem a bit iffy
- So far I've run ultrasonic distance sensors over 30m of CAT5 back to an Arduino - 3 of them to be specific - and had absolutely no issues with reliability. It has been running for a few years. But maybe if I introduce more IO then I'm going to get into power supply issues pretty early on. Voltage drop was always something that concerned me, however the sensors I want to use really are low current and so Vdrop doesn't seem to be such a problem. Most of the sensors will be alarm sensors that run at 12V and provide dry-contact outputs, or even just 2 cores of the cable used for a door sensor (dry contact) - so, pull-up resistors on the controller end and that's it. Maybe also a number of PIRs running at 5V. So I don't think it would be a huge issue. At least an interesting experiment.
Questions
- I'd be interested if anyone has any thoughts on the above idea.
- Do you foresee any limitations I haven't considered?
- Should I really be considering another platform for this? I've had great success and reliability with the hardware I've used so far, namely the "Arduino Mega Core 2560" which is a small dev board, plus the W5100 ethernet, both of which I have included in my own parent board. Hence wanting to consider this.