She is up and running flawlessly !!!!! It Really Works
I'm so freakin happy
Well done. Who'd a thunk it would be so traumatic to go from 8 leds to 8 relays 
Let's hope the addition of the actual valving, fluids and gasses, and power go smoother. I would expect that you might run into some fine timing issues of when things turn off and on in relationship to each other. Your original attempt at code had some timing gaps if I recall. Another issue will be possible noise from the relays and valve solenoids scrambling the lcd display.
To my surprise, this last episode has shown that more people than allennurst and me are following this thread. Usually once they get this long and deep, the eyeballs go away.
In the spirit of this forum, you need to explain why the relay module is now working, so that others may learn. I'm curious about the grounding issue, the NO NC wiring, the active low at start up, and whatever discoveries you made in determining
I WAS THE DUMB A** 
I'm sure others have been there or will go there and can benefit from you experience.
Well done...
now the fun bit - connecting it all up and seeing if it really will work...... As suggested by cattledog some hardware problems might appear.
regards
Allan
I'm sure there will be more hurdles
But isn't that what has kept us all working on this
I will get it put together 
(Hopefully this next week)
Ordered:
Stainless Solenoid valves x6 3/4"+1"
Co2, comp air solenoids x3
24v 9v 5v power supply
SSR
Wet Enclosure and lots of other bits
Then I'll write it up for all that follow
Thanks so far guys I wouldn't have gotten this far without you
@cattledog
LCD worked flawlessly 
Thanks
It's all coming together. Now I've got to get my plumbers hat on lol
@cattledog @allanhust
Well build out took more time than I thought. She's almost ready. I'll keep you all posted
@cattledog @allanhurst
First run today and it went really well
Starting to tweak times and but in principle it's working as designed apart from....
twice it started the cleaning cycle immediately after finishing the first one without pushing the start button.
I'll post some pictures shortly. It's turned out pretty cool even though I do say so but you were right about the hardware being a challenge lol
It's nice to hear that you are making progress.
twice it started the cleaning cycle immediately after finishing the first one without pushing the start button.
There may be some noise, and hardware interaction with the button wiring. Here is a revision to the idle state code which adds a simple debounce procedure to prevent unwanted extraneous triggering by requiring a stable reading for a short period of time.
case idle: {
buttonState = digitalRead(startButton);
if (buttonState == LOW && lastButtonState == HIGH)
{
delay(50); //50 ms debounce delay, adjust as required
buttonState = digitalRead(startButton);//take another reading
if (buttonState == LOW)// stable reading
{
state = airWaterAir1;
}
}
lastButtonState = buttonState;
break;
}
Progress indeed!
It may be worth adding a capacitor beween the switch reading pin(s) and ground to suppress noise . All those relays could cause that . Try 100n
Allan
@cattledog, @allanhurst
It really seems totally functional. I'm playing with times and such like but I do believe we brought it to life 
Thanks guys
Excellent work. It's so exciting to see a project like this come to be reality. Sometimes on this forum it feels that all we are doing is helping kids around the world with their homework, but every now and then something like this comes along to perk things up.
You have done a great job and can be very proud of your accomplishment. I've given you your first Karma point.
Well done - great to see it up and running. You've had a pretty steep learning curve.. but got there in in the end.
And a product good enough ( with a bit of tidying up) to sell commercially if you've a mind.
Out of curiosity, any guess at how many man-hours it took you?
Congratulations
Allan.
Thanks for the kind words but like I said it takes a village!
Now Ive been tweaking the setup to try and minimize the waste. I've changed the the caustic and sanitizer return solenoids to stay open at different times instead of the drain so as to recapture as much of each as possible. I was losing too much of both for a complete cycle.
I would have a hard time estimating how many hours I've poured into this project but it has to be well in excess of 200. (and that doesn't include all the trips to Home depot or surfing CL and ebay for the right part lol)
I have to say I'm kind of chuffed at how it's turned out especially since I think I first entertained the idea over Christmas.
So now I'm thinking of how to automate and monitor remotely my fermentation process 
I've been playing with that idea as well, and not to my surprise found a lot of people already on the forum trying to do that! I haven't read into any of it yet, but I'm sure a little forum-search will already give you a ton of information.
Congrats on the progress here. I am currently trying to automatize my still. This has been a good read to get on top of working pumps with an arduino. Thanks for the input!
thanks for a well worked through plan and program mtnmotion and all the great contributors here. Just wondering have u posted elsewhere on the build portion of the project? Also have u started on fermentation control? i currently use craftbeerpi but am looking for a more reliable alternative maybe arduino based.
Can you post the final code on here? I've tried and tried and can't make it work.
- The lights come on initially when I think the should be off initially.
- They seem to cycle off and on once I initiate the sequence, but they keep cycling. Here is the code I am running.
- It does not work at all with the LCD instructions. I would like to use a different LCD screen and am wondering how to make that work. See link below.
https://www.amazon.com/dp/B00GZ6GK7A/ref=cm_sw_em_r_mt_dp_U_-y7tCb7H6G9KV
Thanks!
Keg_Washer.ino (5.06 KB)
- The lights come on initially when I think the should be off initially.
The code was written for active LOW relay modules, and if you are operating led lights directly from the output pins, you will need to reverse the HIGH and LOW states.
- They seem to cycle off and on once I initiate the sequence, but they keep cycling. Here is the code I am running.
It should require a button push to leave idle, and the code is written for INPUT_PULLUP. You have an error in this line
//if (buttonState == LOW && lastButtonState == LOW)
if (buttonState == LOW && lastButtonState == HIGH)
- It does not work at all with the LCD instructions. I would like to use a different LCD screen and am wondering how to make that work.
I'm not certain what Arduino you are using, but you may not have enough pins with a Uno and a parallel lcd. I recommend that you get a 20x4 i2c lcd and use the hd44780 library.
All very awesome, Do you have an electronics parts list you'd share? valves, etc?
I currently have a very manual single head keg washer i built with all hand valves, but automation would save so much time. It doubles as a big wash basin and pump, piping and hoses all are used for CIP'ing unitanks as well.
If you'd share your electronics parts list, and final code it'd be much appreciated.
How have the solenoids held up so far?
here is a vid of it running. Its very manual. like getting all kegs pbw'd and set aside, then washed with water and set aside, then fill basin with sanitizer and purge with co2 all kegs...time consuming and alot of hooking and unhooking sankey's.
If you'd share your electronics parts list, and final code it'd be much appreciated.
How have the solenoids held up so far?
I just helped with the coding and don't know the details about the hardware, but I think that the OP mtnmotion is at https://www.idolbeerworks.com/
Thanks for the info. I'll reach out to him. i updated my previous reply with some pics and old videos of my current manual keg washer.
you can see why i think i want to add some automation and possibly get this thing functioning with 2 reservoirs, pbw and sanitizer. tigging some stainless isnt an issue.
What i could do with 8 more hours when having to wash 30 kegs haha
Hey there,
It's been a year or so since we put our Semi Auto keg washer into production and it rocks! (Thank you Cattledog)
Changed a few details on the code and updated the actual process but all in all it is a wee gem.
Reach out to me for info if youre still looking.
Cheers