Slap Shot

Part 1: Air Hockey Table with Automatic Scoring

Daniel Koch, Rob Bell, & Johann Wyss

Issue 22, May 2019

This article includes additional downloadable resources.
Please log in to access.

Log in

This amazing tabletop air hockey table provides hours of fun to play, covers some cool electronics principles, and is far more robust than those "toys" available.

BUILD TIME: 12 Hours

Sometimes, ‘just because’ is a perfectly valid justification for a project. But in reality, this is something that has been on our to-do list for as long as we've been building projects!

Sure, you can buy small versions in one form or another for less than $100 or so at discount stores, but they have a minimum of features, and are usually nothing but a cheap toy.

This version lights up, counts your score, times your game and displays how long you have left, looks amazing, and can be modified in many ways to suit your exact needs and wants. On top of that, it's built tough, to cater for the most spirited play. You even get the satisfaction of building it yourself! It's a great family project too.

This project has a significant woodworking component. However, we're not master carpenters either. This project is designed to make use of standard timber sizes, and so it uses only basic tools and carpentry skills, with only one real tricky woodworking part.

We then use some 3D prints to create more complex shapes for the goals etc, and to dress the build overall. These could be replicated to a degree with timber, however the 3D prints cater for mounting of the electronics used for scoring.

Naturally, we're publishing this project over a few issues, to allow us to properly explain all aspects, to help ensure build success.


Quantity Size (mm) Material Part Designation
2 19 × 42 × 1200 DAR Pine C C
1 19 × 42 × 675 DAR Pine K K
2 19 × 42 × 475 DAR Pine J J
4 19 × 42 × 175 DAR Pine D D
2 19 × 64 × 1200 DAR Pine F F
2 19 × 64 × 555 DAR Pine G G
2 19 × 140 × 1200 DAR Pine A A
2 19 × 140 × 637 DAR Pine B B
2 16 × 595 × 1200 Melamine-coated Chipboard E and H E and H
4 45 × 90 × 90^ Framing pine I I
4 - Adjustable Furniture Legs -
28 8G × 50mm Wood Screws* -
56 8G × 30mm Wood Screws* -
16 8G × 20mm Wood Screws* -
1 tube** - Silicon or other Flexible Sealant / Caulking Compound

^This was used to increase the height of our furniture legs. You may not need these.

*Whether you buy chipboard, wood, or treated pine screws is up to you. Note, however, that drive types vary. Treated Pine screws are often square drive. Consider this when selecting tools, and make sure you have the correct driver.

**The exact amount is difficult to measure, and pack sizes vary markedly between brands. Look closely at the images before you buy. It goes between the top inner frame and the drilled sheet of chipboard.

Tools Required:
Measuring Tape
Sharp Pencil
Drill Bit Set
Hole Saw Set**
Electric Drill with Speed Control (Cordless or corded)
Wooden Mallet*
Hand Saw or Circular Saw
Driver Bits for the Screws (this will be determined by what screws you buy, phillips or square drive)
Screwdriver (If not using a cordless drill)
Builder’s or Carpenter’s Square
Clamps (Technically 'Cramps') with a throat of at least 100mm
A Ruler

Tools Required:

*A wooden mallet is the correct tool for driving a chisel, despite the fact that many people use a hammer. A rubber mallet is the next best choice, and a hammer if you have nothing else.

**There are alternatives if you don’t own a hole saw set, explained in the text.

Building the Table:


We have aimed at providing as much detail as practicable to ensure success with the build. While the electronics are coming in Part 2, the build is entirely playable once this construction is complete. We will ultimately seal this with silicon / caulking too, but we'll finish assembly including electronics before this is done.


Bill of Materials

The timber used here is all from standard sizes. On the day we shopped, our local hardware store was out of some lengths mentioned, so we had to cut them down from longer lengths. Be careful of your vehicle’s capacity to fit these if need be. In addition, one size in particular is often only available in long lengths where we only need half a metre – try asking for off-cuts, or look for substitutes.

Where used, DAR stands for Dressed All Round. This is sometimes called Furniture Timber, and is machine-finished on all surfaces.

One final note: Standard lengths are not always precise. While some of our purchases were listed at 1200mm, actual lengths measured from 1223mm to 1195mm. Be very careful when choosing! This will also influence the final cut sizes in some cases.

The main box that forms the table is assembled in a top-down approach to maximise alignment of the visible faces and leave tolerances invisible at the bottom.

We have shown all of our pieces cut and laid out, however this was done by disassembling the prototype. We do not recommend you cut all pieces at once, as some measurements are determined during the assembly process and not before.

The Air Board:

This is the piece of melamine with the holes drilled into it, through which air passes to float the puck. This phase requires the most patience, but care is essential – mistakes or inaccuracies will be costly later. This becomes part E.

Measure both of your pieces of nominally 595 × 1200mm chipboard. If they are both the same, great. If not, choose the larger of the two.


Using a sharp HB pencil, mark a 2cm grid over the upper surface. Choose the best face, and mark 20mm increments down both of the long sides. Start measuring from the same end for both sets of marks, otherwise they may be skewed.

straight edge

Use a straight edge (a level works great but one of your pieces of timber may be straight enough) to join the corresponding pairs of marks at each edge. You should end up with a piece of chipboard covered in lines across the width 2cm apart.

Now mark the same way on the short sides, and join the sets of marks so that you end up with parallel lines along the length of the board.


What you should have now is a 2cm grid on your chipboard.

Be careful as you go, because it is easy to miss a mark on one side, as we did, and end up with lines running at an angle instead of straight across or along the board.

drill holes

Using a 2mm drill bit, carefully drill all of the holes on the board, ignoring the outer-most points. There will be timber protruding 20mm onto the board, and we don’t need holes at the very edge. Your first holes should start 40mm into the board. Unfortunately, there are 2964 holes to drill.


Using isopropyl alcohol and paper towel, wipe the face of the board clean. This is why we specified HB pencil: It comes of cleanly and does not stain like a marker can.

Use a brush or rag to clean off the underside of the board of all its loose pieces. A quick glance at this tells you why we drilled the top of the board that would later be visible: the face chips and disintegrates badly. Vacuuming the board at this point will be useful too.

The Frame:


Verify that the piece of chipboard E is 1200mm long. Whatever its measurement, trim two pieces of 19 × 140 × 1200mm DAR pine to be exactly the same length as E. Label these two pieces A.

Trim two pieces of 19 × 42 × 1200 DAR pine to the same length as A. Label these C.


Clamp one C to one A and make sure the top edges align. This will form the top surface of your table. We used a flat table surface to help. Mark holes along the centre line of C at 150mm, 450mm, 750mm and 1050mm. Repeat for the other set of A and C. Keep the matching sets together.

Insert a 2.5mm drill bit so that it does not protrude past both pieces of timber. Drill pilot holes at the measurements in step 3.

Unclamp the pieces and drill 4.5mm clearance holes through C using the pilot holes as a guide.

Clamp both pieces together again, one set at a time, and screw them together using 8G × 30mm screws in the holes you just prepared.


Sit the assembled sides onto the table upside down, so that the 42mm pine sits on the table. Place E on top, and press the sides together. Measure from the outside of each A across E, so you end up with an accurate total width. This measurement becomes the length of each B piece. Ours was 634mm, yours may be different due to timber tolerance.


mark the middle

Mark the very middle of one edge of each B piece, then mark 100mm either side of this, for a total of 200mm. Refer to photos if in doubt.


Mark a line 45mm down from the top edge of the timber, across the 200mm span.

Take extreme care with the next two steps. Even experienced tradespeople get complacent. These steps have the highest injury potential of the whole project.

This is the tricky part. Using your choice of saw, make vertical cuts from the top edge of the timber, down to the 45mm line, all along the 200mm span.

This will produce something like a comb. How closely together you saw them doesn’t matter, but the closer together, the better. The further apart, the more chisel work you have to do.

cuts in wood

Now chisel the remaining material away very carefully, and gently clean up the bottom of the cut area. What you should now have is a 200mm long, 45mm deep apature in the middle of the top of both B pieces, as in the photos.


Clamp one D piece to the top of each B piece either side of the 200mm gap, with the ends aligned with the gap. This leaves some of the end of B exposed, which is deliberate. Clamp and pilot drill two holes, roughly a third of the way in from each end.


Unclamp each D piece one at a time, and clamp them to the bench to drill the clearance holes.

clamp to drill


Screw the D pieces to the B pieces using 8G × 30mm screws.

table pieces

Sit the A/C and B/D pieces on the table as shown, and bring them together. The C parts attached to A should fit into the space left at the ends of the D parts on B, and the whole assembly should fit as a frame.

pilot holes

By now you’re familiar with the process of drilling pilot holes, then separating the pieces before drilling clearance holes in the outer piece. Do this for each of the B/D ends where they meet one of the A/C sides, but this time, we’re using 50mm screws. If you own a framing clamp, use it here.

both ends attached

With both ends attached to each end of one side, place the air board, part E, on top of the ledge created by the 42mm pieces, inside the frame. It should fit snugly with the clean side down.

push in air board

Install the other A/C side, pushing it hard up against E before drilling and screwing it in. Your project should now look like the picture.

mark holes

Take one F piece, and check to see that it fits along an A piece on top of E. Trim if necessary. Mark holes along the centre line at 100, 300, 500, 700, 900, and 1100mm.


Clamp this F piece to the A piece, pushed down firmly onto E. Drill pilot holes at the measurements, unclamp, then drill the clearance holes in F. Replace it, and screw it in using 8G × 30mm screws.

Repeat for the other long side.


For the shorter ends, measure the gap between each F piece where they meet B at one end. Trim a G piece to length, then install it the way as the last couple of pieces. This time the measurements are approximately 110mm, 220, 330, and 440mm. Now your air board E should be held in completely.

air board

Take the last sheet of board, H. Mark a line 10mm in from the edge, the whole way around. Lay it onto the frame on top of the F and G pieces. You should have a few millimetres left between the top of this and the edge of A/B.


Clamp this piece into place, and measure 100, 300, 500, 700, 900, and 1100 along the long edges, and 100, 225, 375, and 500 along the short edges. Mark on the 10mm line you marked earlier. Drill 2.5mm pilot holes on all of these marks, then remove the sheet and drill 4.5mm clearance holes.


Replace the base H, then screw it down using 8G × 30mm screws.


The next step is to install the legs. We chose adjustable legs so that the table could be levelled. These were only available from our local hardware store in one size, so we had to use blocks of 90 × 45mm framing timber to boost them. These blocks are part I. As many legs are of similar design, we’ll show you how we installed ours.


Take each block and join the diagonals as shown.


With the centre now marked, place the mounting plate for the legs over the centre, and carefully drill 2.5mm pilot holes. Drill holes outside the plate too, and pilot drill these.

centre plate

Remove the plate, clamp the block down, and drill 4.5mm clearance holes in the outer holes.

screw on plate

Replace the mounting plate, and screw in the supplied screws half way in each of the four holes. Once all are in half-way, tighten them fully.

grub screw

Install the grub screw as shown, using the hex key provided. The legs you buy may use a different system.

screw on legs

Place the block into the corner of the base board H and press up against the protruding edge of the frame. Place 8G × 50mm screws into each hole, and screw them down with firm pressure. The 2.5mm drill but was not long enough for us to drill pilot holes into H, but it is soft enough to bite anyway. Use a clamp if you need to.

Repeat this for the remaining corners.

attach legs

Screw the leg onto the grub screw and tighten by hand.

Installing the Air System:


Early in the development phase, we considered various methods of providing air pressure. PC case fans have good free air flow, but not pressure. We would also need a few of them, and the cost can add up quickly.

The answer was a blower fan meant to ventilate the bilges of boats.

These are 12V-powered, and their design provides enough pressure. We chose a 100mm model, and it came with a length of flexible ducting that you may need to purchase separately from the same supplier. These are available at many boating supply stores.

Buying the blower is the easy part though... how you affix it to the timber provides a few challenges. If you're skilled you may be able to fashion one from timber, to create a bulkhead assembly. However we've created something for 3D printing.

It provides a 4-screw connection bulkhead, as well as an "air spreader" assembly. The 3D parts are covered further in this article, but please reference them for this model (however it's shown here for convenience, in a virtually-assembled state).

3d parts

The "air spreader" can be considered optional. However if you wish to use it, use a glue or other adhesive to adhere it to the main bulkhead. It's slotted so fitting is easy.


Mark the diagonals of the base board to find the centre.

Cut a 100mm hole with the hole saw. If you don’t own one, mark a 100mm circle, drill lots of smaller holes around it, and knock out the centre. You’ll have to clean the edges with a rasp or other abrasive tool. If you own a jigsaw, drill one hole for the blade and go from there.

You can also use the 3D printed bulkhead as a template, placing it on the board and drawing inside the circle.

Place the 3D printed bulkhead piece over the hole, align it, and mark the screw holes, before removing it again.

Drill 2.5mm pilot holes, then install the transition using 8G × 20mm wood screws.

Decide where you want your fan motor. The position is versatile due to the flexible ducting. Mark its position, then pilot drill and install with 8G × 20mm wood screws. Take note of the direction of the air flow through the blower, marked on the housing with an arrow.

Stretch and cut a suitable length of flexible ducting, then cable tie the ducting to the fan housing and the transition.

Unscrew and remove the base board H with the motor and legs still attached. Vacuum the inside of the cavity thoroughly, including all the air holes, before reassembling. You can now turn your table over onto its legs.


This small frame is built over the middle of the table to hold the timing lights, scoring, and area illumination.

Mark the middle of each long side of the frame.

Mark vertical lines 21mm each side of this point on each side.


Mark a line 20mm from the bottom edge of the frame. See photo for detail.


Clamp one piece J inside the lines drawn, taking care that it is vertical. A carpenter’s square helps, but you can use Pythagoras’ Theorem, or 3-4-5 as builders call it, to make sure the upright is square. This is what you can see in the photos, as we lost our square.

We marked 300mm from where the upright met the frame just above the lower clamp (not from the bottom of the length of timber), 400mm along the frame from the edge of J, and then made a 500mm length meet these two points. We did this for both J pieces, 20 minutes before we found our square again.

Prepare the assembly with pilot and clearance holes in the familiar fashion, then screw together using 8G × 30mm wood screws.

Repeat for the other side.

Measure across the table frame between the insides of each J piece. Trim K to suit, them mark 10mm from each end of K.


Place K across the tops of both Js and, one end at a time, align and clamp as best you can.


Check alignment of one end, then pilot drill two holes as shown. Repeat for the other end.

pilot holes

Remove K, drill its clearance holes, then increase the depth of the pilot holes in the ends of both Js.


Replace K, and screw it down with 8G × 50mm wood screws. Repeat for the other end.


3D Print Finishings:

If you're handy with woodworking (at least, more handy than we are), then you may find you can edge-finish the table with your stunning carpentry skills.

For us, we're more adept at using CAD and letting a machine provide us with a path to resolving our lack of fine woodwork skills.

For this reason, we've modelled a collection of fittings and covers, to help prevent the accidental "skin meets corner" which is inevitable with some spirited play.

It also allows us to create some aesthetics which we'll deal with further in Part 2, also. Namely the addition of more lights.

However complex shapes such as the internal structure of the goals, are very easily constructed in software, then printed.

Importantly, it deals with several caveats of the construction style:

  • Butt corners can be sharp, and not terribly aesthetic. Our corner pieces create some colour, soften the hard edges, and cover the screws.
  • Our goals can be cut fairly roughly, with the printed goals providing better aesthetics and colour. It also allows us to create precision around the puck return system, and the electronics we're putting in for scoring.
  • Simplicity. This build is easily achieved with minimal tools, but once complete, it looks much more impressive and more complicated than the actual build effort.

Full details are provided on the below.


3d parts


These provide physical protection against the hard corners of the tables, as well as a great way to colour the "sides" of the table.

  • Print time: 5hrs (each)
  • Approximate weight: 112g (each)

b. GOALS × 2

This is the outer-shell of the goal. With no scoring you can use them as-is, however we'll add a secondary inner-piece to this in Part 2, which contains the electronics.

  • Print time: 12hrs (each)
  • Approximate weight: 311g (each)

C. Superstructure SIDE-covers × 2

These provide additional stability and sharp-edge protection on the sides, as well as providing a cable-channel for lighting cables to keep them contained and neat.

  • Print time: 3.5hrs (each)
  • Approximate weight: 48g (each)


These provide some additional stability to the superstructure, as well as protecting against sharp corners.

  • Print time: 1.5hrs (each)
  • Approximate weight: 20g (each)


These are a convenient and screw-less design to affix your lighting to the superstructure.

  • Print time: 7mins (each)
  • Approximate weight: 1g (each)


A comfortable, convenient design in the hand, it's a good size for this table.

  • Print time: 2hrs (each)
  • Approximate weight: 35g (each)


In order to provide the best finish possible, and therefore the best "floatability" on the air layer, the puck is best printed in two pieces. They're then placed back-to-back and use the surrounding ring (Part H) to complete the puck.

  • Print time: 1hr (total for both)
  • Approximate weight: 14g (total for both)


This outer-ring helps prevent separation of the two parts, as well as improving the rebound nature of the puck.

  • Print time: 15mins (each)
  • Approximate weight: 2g (each)


This facilitates the connection of your blower hose to the main table, with minimal effort. It also supports the optional spreader (Part J).

  • Print time: 1.5hrs (each)
  • Approximate weight: 28g (each)


This has been designed to disperse the air coming from the blower, to help provide more even pressure over the surface of the table. We're not entirely sure how effective this is, and didn't really have a "need" for it initially, but it did seem like a good idea given the minimal volume of the air cabinet. Therefore you can consider this piece as optional.

  • Print time: 1hr (each)
  • Approximate weight: 18g (each)

Note: There are some smaller additional prints required once we get in to the electrical part of the build, next issue. The prints are smaller, but carry the scoring electronics, as well as providing a bulkhead for our start switch and things.

There is also a housing for the Arduino, power supply, and more. However these files will all be provided next month along with the balance of the build and electronics.

The 3D printed hardware gives us the ability to colour-code each side of the table easily. You can use your choice of filament. It's not terribly fussy and all prints are designed to print with no supports, with the exception of the goals, which use a tiny bit of support material.

Though it's worth mentioning that some prints are quite large in size, compared to what you may be used to printing.


The puck is easily printable, and should be as high-resolution as practical. It will help with longevity of the puck itself.


As you'll see in Part 2, we're using extensive addressable LED strip to illuminate and trick out our table. All will be controlled via the Arduino to allow lighting effects when a goal is scored, etc.


Side braces provide "bump" support against hard edges, as well as keeping cables tidy.


The corners to add a degree or structural integrity on the superstructure, but it really is just for skin-protection.


The overall visual effect is stunning, and it works VERY well!


Congratulations, you’ve now finished the physical build of your air hockey table! If you have your air blower already, connect it to 12VDC, and fire it up! You should be able to play it, albeit with no scoring, in its current state!

But this is just the beginning. Next month in Part 2, we'll build all the electronics for the automatic scoring, lighting, automatic fan / power control, and more. See you there!

Part 2