ShopBot with a 4'x8' bed or larger and associated tooling
Cordless drill and wood screws (for hold downs)
Table Saw (with adjustable guard), router (with adjustable guard), or ShopBot end mill that can cut 1/8" groove
4'x8' sheet of plywood, preferrably high quality with good dimensional stability, 3/4" to 1.5" thick
If you're wondering why I have a ShopBot and other fun tools but am making my own frames its because I made it at TechShop where I have access to all these tools (techshop.ws).
Step 1: Make your file
If you wish, you may download and use my file: https://docs.google.com/open?id=0B6tM1GvaYXt3SUlLTWV4TEI4cjA
In my picture:
The rounds are drill holes to use as hold downs.
The lines highlighted in pink are the spline grooves, these are optional and I recommend only using these if you have a router bit that will cut a perfectly sized groove for your spline. Something between 0.125 - 0.19 " (you can get a variety of splines to fit groves in that range from the local hardware store).
The black squares are the frames. By nesting frames you can cut a large amount out of a single sheet of plywood. In this case there are 6 20"x20", 6 16"x16", 9 12"x12", 9 8"x8", and 9 4"x4" frames.
If the plywood is warped at all the frames will pop up when they get cut out and can potentially damage the ShopBot. You may want to liberally add screws, or, in my case, use lots of tabs.