In a PM Bord asked me "what you'd do differently if you had to start from scratch again?" I thought that I'd post my reply here just in case it helps someone out who is thinking about building a home brew.
That's a great question, in that case I would...
-CNC the white wood so that there are no unknown variations between versions. I'm old school and love making things by hand but in this case WYSIWYG is more important.
-Not use a driver system that was in Beta form. I spent weeks trying to fix a problem physically and in software when there was a bug in the firmware for the Cobrapin STM32's. I knew this was a possibility as a beta tester so I knew what I was in for but there were times when I thought about putting the cab out in the yard and lighting it on fire.
-Not try to cheap out on my power supply. For almost 3/4 of a year I tried to make the old ALI transformer supply all of the power for the table. It ran very hot (Ben Heck suggested that I drop the control rods a little because the reactor was running a bit too warm) and did not supply enough voltage to drive the modern coils. With MPF's ability to limit coil pulse times, even old coils can be run at "high voltage" safely. Modern switching power supplies are relatively cheap, powerful, run cool and are energy efficient.
-Learn how to program in Python. Mission Pinball Framework can be very frustrating to work with because it is strongly typed and has a steep learning curve (at least for me). Getting the very complex Perdition Lane with multiple players, virtual ball locks, multiball fail, etc working was a nightmare. It would have been much better to write some helper code in Python and run that along side MPF then to work with MPF's logic blocks, counters and player variables.
-Take the playfield to a body shop and have them shoot it with clear coat. Spraymax is great for rehabbing pins but after playing 50 games in the last couple of days I see all of the imperfections in the clear coat. Probably something that bugs me because I know that they are there.
-Don't make real mechs try to replicate what mechs do in vpx. The Dash saucers bugged me until I resigned myself to the fact that mechs in vpx are not real and can do things that a real mech can't do. Once I bought into that, I made the Dash saucers help drop DT's and now they are an asset to the game.
-Use translight material for the plastics graphics. The decals are working ok but I bet translights would look a little better.
The reverse question is also a good one, what would I do again:
-I would use a VPX table as the base for a white wood because vpx physics are actually very good and you can have confidence that your layout geometry will work. The VPX to MPF bridge let me write code and run it with vpx to gain the confidence that I could actually make the table and not end up with a half built mess that I have to walk around in the basement.
-Use a donor table with its mechs as the basis for the table. That saved time and money in building the cab.
-Use a TV for the backglass. This gives me options for displaying graphics and video that a static piece of art doesn't.
-Don't dread doing the playfield graphics. It would have been great to have the PF professionally printed but I bet the graphics would not have lined up perfectly. Doing the graphics by hand took time but the end result is really very good minus my clear coat as mentioned above.
-Use Cobrapin in its stable current form. Once the bugs were worked out, this is a great system that is very inexpensive, works well and has great tech support.