Electronic Tilt for Pinball Machines - Part 2

Part 2 of my project to build an electronic tilt simulation.

WANTED: Beta testers located in the “Golden Horseshoe” region. PM me for details.


Love this project! I actually tried something similar a while back. I put an accelerometer on an arduino, and created real time plots of the XYZ axes on my computer using an app called “Processing”. The idea was to use during web streaming. It worked okay-ish. My biggest issue was that the data seemed very noisy. I guess this is from gravity? When installed on the machine, only BIG moves would even be noticeable. I’m guessing I need to do some sort of filter/gating of the data, but that’s all way over my head. I eventually gave up on the project.

Why do you simulate the swinging of the tilt bob? While the geek in me is super impressed that you did so much to simulate the physics, the player in me thinks that you’ve kept the biggest annoyance of a tilt bobs. They continue swinging after a nudge, which makes it so that a gentle nudge can tilt the game if poorly timed with the swing of the bob. Not to mention that during tournaments, everyone stands around for 90 seconds after their opponent moves the game. Seems to be the biggest advantage of a digital tilt is you can just penalize a player if the force of their movement exceeds a certain threshold, and the threshold never changes. This way, the game is consistent in determining how much movement is allowed. And no waiting during tournaments!


While I totally agree that it’d be great to neutralize the 60+ second wait when the next player steps up after the previous player had a tilt or warning, the other part – the ongoing oscillation of the tilt pendulum – is actually part of the game of pinball IMHO. If you’ve given the machine a big nudge and survived the warning, you have to know that there’s a certain period of time during which you’re in probation: you can’t make as big of a move as you normally could. That (may) affect how you interact with the game. While I suppose it’d be legit if this didn’t happen (consistently for all players on that machine), it would be different from the normal game of pinball.


The pendulum could swing throughout a ball, but the moment it ends, it could reset.

1 Like

First off … thanks to everyone for the support and interest.

@spraynard The tilt simulation actually started because of a larger project I working on with inertial navigation and motion tracking. When I realized the basic principles were the same, I branched off to try the tilt simulation.

@spraynard I’ve simulated two ways of tilting. The first is “Simple Force” which merely monitors the force applied and if it exceeds a certain level then cause a tilt. The second is the tilt bob simulation. Like a mechanical bob, when you apply an external force it causes the tilt bob to swing and eventually settle over time. Based on your post, I would presume you were only using simple force and not integrating time in your calculations (just a guess). Gravity is a prominent factor in the swing of the tilt bob … changing it will affect the pendulous period. However, in a simple force calculation, gravity is irrelevant.

@joe I have to agree with you in that the ongoing oscillation is part of the game. Your reference to swing settling as being “probation” is dead on in my opinion.

One of the things I hear again and again is the wait time between players in tournaments. Hence in the latest firmware iteration, I added a button on the web interface to manually zero the tilt bob simulation … Problem solved in one click.


could this actually be an incentive for the next player to step up quick after a big move knowing that they are getting a huge debounce?

it’s been a while, but the issue I was having was that there was just a constant level of “noise” from my accelerometer. It was basically detecting some sort of motion even when it was at rest. This made made it difficult to detect actual motion when it happened – you had to make a dramatic movement in order for it to rise above the noise. I think I read somewhere that the noise is caused by gravity, not sure. Maybe my accelerometer was crap.

Fair point! I respect the desire to preserve some of the mechanical charm of pinball. I suppose I consider this particular behavior to be far down the list of things that make pinball what it is. If the “probationary period” that the physical tilt bob creates was removed, I wouldn’t miss it. I doubt anyone but the most hardcore players would even notice it was gone.

@spraynard I’ll presume you were using a MEMS accelerometer (same as in smartphones).

There is inherent noise in these devices by virtue of their physical design. I experience about 3 or 4 bits of hysteresis (+/- 0.0078 g) which is typical for MEMS products. But these were designed to be cheap and sold by the millions for smartphones instead of having military grade quality. The minor variances in the output when integrated with time have a negligible effect on the position of the bob, plus the average of the variance over time should equal zero. Combine that with gravity continuously forcing the tilt bob to an equilibrium and the hysteresis becomes a non-issue.

In your instance, I’d suspect either a bad accelerometer or an error in the initialization of the device … but that’s just a guess

1 Like

@G_Money @Cheddar I would say that “yes, it’s an incentive” for the next player to step up and play at a tournament. If you know that the tilt bob has been zeroed then there is no longer a need to wait 60~90 seconds for it to settle by itself.

Totally agree! I also think this is an incredible project and one I’d hoped someone would attempt.

I think this sort of setup lends itself to a competition setting. I really like the idea of a consistent tilt setting that can be adjusted without opening the coin door. I think it would make for really interesting choices for the TD or whoever is setting up games for competition. It would remove the guessing game and hassle of adjusting the traditional tilt bob. I imagine it working like, this much force equals this many warnings or tilt and I think that’d be extremely valuable.

@GarrettHays Thanks for the kudos

Originally, I never thought about tournaments but after seeing many complaints about inconsistent tilt settings at tournaments, I too saw the advantages this project would bring. Every machine has the ability to have identical tilt settings.

Further to your last sentence, I have included TILT WARNINGS as a setting. Effectively, how many times can the tilt be triggered before it finally tilts. This will work in both “Simple Force” mode and “Tilt Bob Simulation” mode.

Do you model the motion as a harmonic oscillator with damping? I didn’t see this info in your posts or blog.

I think it may be more of an incentive than that. If it cannot be mechanically settled then it would be debounced in software. this would essentially give a period where the tilt was not available. An experienced player would benefit from jumping in and playing aggressively during this settling period.

@JShop If you’ll pardon the pinball pun … give this man a credit

And for those who need to fulfill their inner geek

@Cheddar Perhaps I misunderstood your question

The eTilt will slow down and come to an equilibrium just as any mechanical tilt would.

Additionally, eTilt can be instantly reset to zero (equilibrium) between players/games.

I can see no advantage to any other player

Are you referring to something else?

no just theorizing about how it could add another dynamic if it couldn’t be instantly zero’d

Theorize away … you don’t have to zero it if you don’t want to.

I’m guessing that you’d find it impractical in practice to use the same tilt setting on each game.

The actual amount of force transferred to the sensor in the game would vary a lot I suspect on various variables outside of your control, such as tightness of the legs, height (and tightness of securing nuts) of the levellers, whether the game had rubber feet on the levellers or something else, etc.

The physics behind what you describe is called the Lever Arm … and by coincidence, I once considered using the height of the device above the floor as a variable for that exact reason. I remember shelving the idea based on the presumption that pinball players aren’t normally playing with a few screws loose. Most every machine, in tournaments and at home, are tightened up.

While the total force to physically move the cabinet may vary on a tight vs. non tight machine, it’s really of no relevance since the influence on the tilt is felt as acceleration. The amount of energy transferred to the ball off a post to nudge it up a cm remains the same on a loose or non-loose machine. The same concept applies to the tilt and its movement.

The effective use should be consistent across all machines

Which comes to the point of why I like to hear everyone’s feedback … Your question gave me an ‘aha’ moment after typing the above.

My original calculations were based on an ‘ideal world’ where the tilt mechanism is stationary in a 3D space and only the bob moves. If every machine was tight then the calculations would closely fit the model. However, @Fytr unintentionally got me thinking about the effects of physical displacement of the entire tilt mechanism and how this affects the movement. Needless to say, I believe I might already have the math figured out to mimic this, it’s just a matter of coding it.