I've been messing around with programming a MPU 6050 breakout board to control the solenoids. The board was only $5 shipped, and seems to be very sensitive. Coding is not my forte, and interpreting the raw data from the sensor is more complicated than I thought it would be. Thankfully, Jeff Rowberg has posted some libraries for interpreting the MPU 6050 here. I was able to modify the code and use the output to operate the solenoids. Unfortunately, the prgoram uses up 60% of the memory on the arduino feather. I think I can lean up the program a bit, but I'm gonna have to figure out what a lot of the code actually means. For now here's a clip of it working:
One problem I've noticed is that the spring is not perfectly straight and it is causing the engine to stick to one side when at rest. This will definitely need to be fixed before doing a live test.