This instructable shows you how to build an LED table with some retro arcade games. All material together is about 300-350 Euros with the most expensive parts being the LEDs and the laser cut parts.
The LED Arcade table has the following programs:
- Rainbow animation
- Stars animation
The original design and code of this table was done by Klass De Craemer. His project can be found at https://sites.google.com/site/klaasdc/led-table
Usually you can finish this table within a weekend if you have all the required tools and needed parts.
Step 1: Things you need
- IKEA Lack table 25 Euro
- 1m aluminium Angle 40 x 20 mm
- 2m aluminium Tee 20 x 20 mm
- 4 metal corners 30 x 30 mm
- 8 M6 screws (20 mm)
- 8 M6 nuts
- 8 wood screws (20 mm, suitable for the metal corners)
- 412 x 412 x 3mm acrylic glass, 25 Euro, e.g. from evonik
- 5 m WS2812 RGB LED strips , 30 led / m, 70 Euro, e.g. from watterott
- Teensy 3.1 micro controller, 18 Euro, e.g. from watterott
- Teensy OctoWS2811 Adapter, 9 Euro, e.g. from watterott
- Sparkfun USB Host Shield, 23 Euro, e.g. from watterott
- Arduino Proto Shield, 4 Euro, e.g. from watterott
- Power Supply 80 W, 5 V, 24 Euro, e.g. from watterott
- 1m Cat 6/7 cable with RJ-45 plugs
- 50 cm power cable, 3 pole
- power entry module, 6 Euro, e.g. from reichelt
- IEC power cord, 3m, 4 Euro, e.g. from reichelt
- retractable USB hub, 17 Euro, e.g. from pearl
- wired Xbox360 controller, 25 Euro
- 2 m stranded wire 1 mm, red and black
- stacking bar, 1 Euro, e.g. from reichelt
- pin header and pin sockets
- 40 cm stranded wire red and black
- 1 m stranded wire of other color than red and black
- socket and plug, 2 pole, for LED power supply
Laser cutted parts (3 mm)
- bottom plate
LED Table Grid Bottom (117.3 KiB)
- 11 x part A and 2 x part C
LED Table Grid Part A and C (77.4 KiB)
- 13 x part B
LED Table Grid Part B (77.3 KiB)
For best results prime the parts and paint them white. Be careful to not use too much paint, otherwise you have to rework them before assembling.
- soldering iron
- multifunctional rotary tool
- hand saw (a japanese saw works great)
- side cutter
- hole saw
- screw driver
- hot glue gun
- adhesive tape
- insulate tape
Step 2: Build the table
At first build the table according to the original build instructions. Usually the instructions are within the package containing the table. Additionally you can download the instructions online.
In the end the table should look like this.
Step 3: Cut the hole in top of the table
First mark a 420 x 420 mm square at the top of the table. In order to have it centered properly it should have a margin on every side of 65 mm.
Now start with the multifunctional rotary tool to cut into the table on one side of the square, starting in a corner. The thickness of the table top is only 3 mm so it doesn’t have to be a deep cut. When the length of the cut is about 50 mm use the hand saw to cut the rest the side. The table top is filled with cardboard material which should also be cut.
If you are finished with the first side, cut the remaining 3 sides of the square in the same way.
With the square completely cut out it should be possible to remove the top plate within it by using a slotted screwdriver pulling the plate upwards. Beneath the plate is a cardboard honeycomb structure, which can easily be removed from the bottom.
Finally cut two 40 x 40 mm centered holes into the bottom plate on each closed side.
The end result should look like the table on the picture above.
Step 4: Integrate USB hub
First we have to remove the table top. Therefore we have to lose 4 screws in the corners of the table (see picture 1). After this, we are able to simply remove the table top.
Now mark the center of a side of the table. Next we use a hole saw to cut a hole into this side where the USB hub will be mounted (picture 2). In the end you should have a nice hole in the side (picture 3). Now insert the USB hub into the hole (picture 4). If the USB hub won’t fit, you need to enlarge the hole with a rasp.
Step 5: Embed power entry module
Create a large hole by drilling some holes next to each other from the top in the center of the other side of the table, where the USB hub is NOT installed (picture 1). Insert a pole through the hole down to the ground and use it to make some free space in the cardboard within the side part. Next drill a hole from the inside at the top of the side (picture 2, the hole with the cable).
Now cut a hole of the size of the power entry module from the outside at the bottom of the side (see location at picture 3). Insert the power cable into the hole at the top inside (picture 2) and use the pole to push it down to the hole for the power entry module.
Connect the cable to the power entry module by soldering the 3 wires within the power cable to the according pin of the power entry module.
- Protective ground = yellow/green cable
- Neutral conductor = blue cable
- Phase = brown cable
When all cables are connected please double check the connections using a multimeter. If all connections are correct, insert the power entry module into the hole.
Step 6: Add mount for power supply and electronics
Cut the angle into two 444 mm long pieces using a metal saw. Drill some holes into each end of the angles and bolt the corner and the angles together (picture 1). Mount the power supply on the angles 65 mm from one end with the connectors directed to the near end and fix it using insulating tape (picture 2).
Now fix the angles with wood screws and the corners in the center of the table about 55 mm from the top. The side with the power supply should be directed to the side with the power cable. The approximate position can be seen at picture 3.
Step 7: Solder electronics
First we have to separate the VIN from VBUS voltage of the teensy board using a sharp cutter. The exact location can be found at the bottom of the official site.
Next we solder pin headers to the bottom side of our Teensy (picture 1).
Now we plug the Teensy onto the OctoWS2811 adapter board with Teensy’s USB socket and the OctoWS2811 RJ-45 sockets facing in different directions (picture 2) and solder the pins to the adapter board (picture 3).
Arduino Proto shield
Solder some socket terminal strips to the front side of the proto board as shown on picture 4 and 5. The socket with VIN, GND etc. shown in in fornt of picture 4 is dual. All sockets in the prototyping area are used by the Teensy, the sockets outside for the USB host shield.
Flip the proto shield to the backside. Connect the following pins using silver wire or wire straps:
- Teensy VIN to Arduino VIN
- Teensy GND to Arduino GND
- Teensy 13 to Arduino 13
- Teensy 12 to Arduino 12
- Teensy 11 to Arduino 11
- Teensy 10 to Arduino 10
- Teensy 9 to Arduino 9
- Teensy 3.3V to Arduino 7
- Teensy 15 to Teensy 16
- Arduino GND to Arduino GND (both pins next to each other)
The connections should be like the connections on picture 6.
USB Host shield
Solder some stacking bars to the bottom of the USB host shield (picture 7).
The sparkfun USB host shield generates VBUS itself from VIN. Unfortunately if VIN is 5V, VUSB is too low for the motorized USB hub to work properly. So we need to fix that:
Cut the path on the backside of the host shield shown on picture 8. Afterwards solder a wire to VIN as shown in picture 9.
Power supply cable for LEDs and controller
Now solder 10 cm heavy stranded wire of red and black and 40 cm of the according smaller stranded wire together and connect it to the socket. Your cable should look like similar to picture 10.
Step 8: Assemble electronics
First connect the mains power cable to the power supply (picture 1). Again, if you aren’t sure which cable to connect to which connector, ask somebody to help you.
Now connect the LED/controller power cable to the power supply.
- Red -> V+
- Black -> V-
Attach the Teensy with the OctoWS2811 adapter to the Proto Shield. The direction is shown in picture 3. Connect the power cable to the Proto shield. Use the inner sockets. Red goes to VIN, black to GND (picture 4). The names of the pins are found on the bottom of the Proto shield.
Now it’s time to add the USB Host shield. Plug it into the sockets with the USB socket directing to the same direction as the micro USB socket of the teensy (picture 5). Turn the controller up side down and insulate the bottom with insulation tape (picture 6). Alternatively you can use a 3d printed, for example this one (picture 7).
Fixate the controller sides to the mount with some rounds of insulating tape (picture 8). Don’t block the RJ-45 sockets! Finish this step with plugging in the USB hub.
Step 9: Build grid
Put the bottom plate on a mat to prevent gluing it to your desk. Now start to gluing the parts A to the bottom plate leaving out the border row. Next rotate the bottom plate through 90° and add the parts B. Now you start directly on the border. Finally there are only 2 sides at the border left. Glue the parts C to these sides. In the end the complete grid should look picture 2.
Add LED strips
Cut the LED strip into 12 smaller strips with 12 LEDs on each and remove the silicon encasement. You can cut the strip safely between the soldering pads (picture 3).
Arrange the LED strips in a zig-zag path (the arrow on the LED strip gives the direction, see picture 4). Use adhesive tape to fix the LED strips with the LEDs filling the holes in the bottom plate (picture 5).
Prepare CAT6/7 cable
Cut the CAT6/7 cable in two halves. Afterwards remove the coating and the shielding so you have at least 20 cm of each wire pair free.
Solder LED strips
Now it’s time to solder the CAT6/7 cables to the LEDs. Every 2 LED strips a new pair will be soldered. The white containing wire has to be soldered to the GND pad, the colored to DIN pad (picture 6).
- row 1: cable 1, orange
- row 3: cable 1, blue
- row 5: cable 1, green
- row 7: cable 1, brown
- row 9: cable 2, orange
- row 11: cable 2, blue
The green and blue wires of cable 2 are not needed.
Afterwards we need to connect the data pads of each LED strip pair. Therefore we solder a 75mm wire to the DOUT pad on the other end of the first strip of the pair and to the DIN pad of the second strip (picture 7).
Next we need to solder the wires for the power supply of the LED strips. These wires are soldered to the other end of the strips. Connect the GND and VIN of every LED strip. Keep in mind that the position of GND and VIN alternates between the LED strips. This can be seen in picture 8.
If all LED strips are connected, add a plug with some stranded wire to the middle of the grid to connect the power supply (picture 9). The final result can be seen in picture 10.
Step 10: Test electronics
Install Arduino & Teensyduino
Now it’s time to test the electronics and see, if everything works as expected.
First we have to program the micro controller. The Teensy micro controller is programmable through the Arduino IDE, so your first step should be to download and install it. The necessary compiler and libraries needed for the Teensy are included in an add-on you need to install.
The OctoWS2811 is a library for Teensy especially written for controlling huge amounts of LEDs. It controls up to 8 channels simultaneously and leaves enough computation power for other tasks. Download the zip archive and unzip the contained folder to the Arduino library directory (for Windows this is usually
C:\Program Files (x86)\Arduino\libraries).
The USB Host Shield 2.0 library allows the usage of USB devices. It is used for the LED table to read the control events from the Xbox360 controller. Install it according to the instructions found at the library’s github repository.
spi4teensy3 is a needed library for using the USB_Host_Shield_2.0 library on a Teensy. Install this library by downloading the zip from github, extracting the directory
spi4teensy-master, rename that directory to
spi4teensy3 and move it to the Arduino library directory.
Go to https://github.com/cemonds/led-table and download the zip of the repository. Unarchive the zip file and open the
firmware.ino project with the Arduino IDE. Now select
Teensy 3.1 from the list
Tools -> Board. Afterwards press the verify button to compile the firmware (picture 1).
If everything is right it will show the message
Done compiling after a few moments.
Programming the micro controller
Now connect the Teensy to your computer with a micro USB cable (picture 2). Connect the grid to your power supply (picture 3) and to the OctoWS2811 adapter (picture 4). Now switch on the power supply and hit
Upload in the Arduino IDE. The firmware is now compiled and uploaded to the Teensy. After a short while the Arduino IDE shows the message
Done uploading. and the Teensy will restart. A few moments later LED grid should show the name of the first program.
Extend the USB hub by touching it and plugin in the Xbox360 controller. You should now be able to switch the menu items by pressing
right on the directional pad.
Step 11: Integrate grid
Unplug the grid’s power supply and signal cables. Attach the table top on the table stand. Insert the grid installing the power and signal cables through the holes in the bottom of the table top. Connect the tables to the power supply and the micro controller board.
Step 12: Add cover
Cut the aluminium tees with 45° angle so they form together a square with the side length, matching the acrylic glass plate. Use hot glue to attach the aluminium to the acrylic glass (picture 1). The rough side of the acrylic glass directs to the top in picture 1. In the end the cover should look like the cover in picture 2. Finally put the cover on top of the grid (picture 3).
Step 13: Play!
The software consists of 2 parts. The first part is the menu. It is automatically started, when the table is switched on. The menu shows the number of the currently selected application and the name. You can select another application with left and right on the directional pad of the Xbox controller. To start an application press start. When running an application start takes you back to the menu.
Pong is a two player game, but right now it’s only single player, so you play against a computer controlled player. You control the blue player with the up and down buttons of the directional pad. The game ends if one player reaches a score of 5 points.
You control the block with left and right on the directional pad to move the block horizontally and down to move it one row down. If you need to rotate the block, you can push the yellow Y button.
You control the snake with the directional pad. Don’t press the button to move the snake directly to the direction it is coming from, or the game will instantly end.
Rainbow and Start
No control here, it just looks nice.
Now your own LED Arcade table is finished. We hope you enjoyed reading the instructions and building the table. If you have questions and problems, just add a comment to the page or send a tweet.