Kegerator with flowmeters, multiple LCDs, temp/humidity...

I had issues signing up for the forums, and in the meantime, had posted on /r/Arduino (Reddit - Dive into anything Got some decent answers, but I want to X-post here to get any other opinions.

I've done some C coding in the past, and lots of general electronics/soldering. I'm a Nuclear Electronics Technician in the Navy (submarines) if anyone else here is a fellow bubblehead. I've done a lot of lurking and searching, and while I've found most of my answers, I now have the problem of figuring out which solution is best.

Project: Kegerator (homebrew) with five kegs. The brew and woodworking side, if you're curious, is in a thread over at HomeBrewTalk (Five tap keezer build - comments welcome | Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum). The Arduino side of it is to handle the flow sensors coming off each keg, in order to calculate pour size, and amount remaining. Flow sensors are Adafruit 828.

Additionally, this data is displayed on a 20x4 LCD that also has the brew name, ABV%, and whatever else I want. There's also a temperature LCD to the right; currently leaning towards a 1.3" OLED. I initially just had a self-contained temp probe/LED combo (no Arduino), but it, and all the others I could find, displayed in Celsius. I'll be using the AM2302 temp/humidity sensor.

Finally, I have a light sensor, and LED strip, and am going to have a slow-turn on for interior lighting, much like the fancy fridges do when you open them. I found the code for that; looks easy.

I had an Arduino Ethernet, which I'm given to believe is an Uno with an Ether shield tacked on. I also have one Adafruit 292 LCD Backpack, which initially, I thought would suffice for all the LCDs. In researching, it seems I'd need to have one for each display, and even then, really just reduces pinouts. My main goal is to be able to drive all the displays independently, with the least amount of hassle. I know I2C supports addressing; I bought some backpacks for the LCDs.

As for actually driving all of the displays, I found this library: MultiLCD - a library for displaying texts on different LCD/OLED - Displays - Arduino Forum It supports the OLED I want, but I'm unsure on LCDs - it mentions the 1602 shield, but I don't know if that has different hardware driving it from the barebones 20x4 LCD.

I also found this post 4 LCD displays on 1 Arduino - hackmeister.dk which makes it seem like it's not overly difficult to do what I want. I looked into Phi's panels (Phi-panel | Liudr's Blog), but they look like way more options than I really need. The only time I'll need to input anything is to calibrate the flow sensors, or change brew information.

I've opted to return the Ethernet, and I'm planning on getting a Mega. My reasoning is I/O ports - I'm going to use I2C, but that still means (unless I'm wrong) two pins for the displays (SDA/SCL), five for the flow sensors, one for the temp/humidity, and one for the LED strip. The Ethernet has nine available DIO, so that maxes it out. If there's a way that preferably doesn't involve shift registers or anything else adding extra difficulty, I'm all ears. Otherwise, I'll probably just go with a Mega and have plenty of room to spare.

Thank you!

:BUMP:

Any thoughts?