So basically I'm working on a project that uses an Atmega328 like on the Arduino Uno. I need to receive both DMX (with max485) and E131 (Not both at the same time, I'll decide which with a boolean in the sketch) and then use that to control 16 channels. I need the TX and RX pins (UART) for the max485 (DMX), 16 outputs for the triacs, and 1 pin for zero-cross detection. If I use the Analog pins as digital outputs, that lets 3 pins to connect the ethernet module. Most of them use 4 pins, I believe it's SPI. I only have 3 available. Is this possible? Also, I may need a second zero-cross detector, so is it possible with 2 pins then? Thanks!