Program your own Finite State Machine using a SPLat Controller for only $29.00.
The EC1 "EasyOne", a 32-bit fully featured SPLat Controller with USB and true multi-tasking is a easy way to learn and a cheap way to build your project.

State Diagrams 8, a shorthand symbol for timeouts
Because timeouts are (or should be) very common in control program designs, I use a shorthand notation for representing a timeout (Figure 8).
To represent a timeout, draw a horizontal line under the state number then write the time limit under the line. You can abbreviate the time units using a single apostrophe for minutes or a double apostrophe for seconds. So, 10' means ten minutes and 10" means ten seconds. The single upper case T is used to label the timeout event.