While on Thingiverse, I came across the Proto-Tetris Machine by Ferjerez. I was intrigued by the use of his DIY Nun-chuck style controller. Since I had a spare Wii Nun-chuck controller lying around, I thought this might be a way to put it to some use. (you can buy them separately on eBay)VideoThe Wii Nun-chuck controller
The Wii Nun-chuck has a built in joystick, accelerometer and two buttons. It communicates using the I2C protocol. The only downside is the special plug that connects to the Nintendo Wii. Fortunately you can get a cheap adapter on eBay.
Wii Nun-chuck controller and adapter board on eBay
Tidying up the wiring
Wii Nun-chuck controller and adapter for Arduino UNO
I designed a new case and printed circuit board to clean up the wiring and also to hold the Wii Nun-chuck adapter board.
Tidying up the original design by adding a PCB and Control Box
I also modified the front cover that holds the 8-digit 7 segment display. Using a soldering iron, make a hole behind the display for the wiring. Replace the old cover with the modified version in the attached STL files.
Servo or Light variant
Make a hole for the wring and put on the updated cover
Like the original, I started out using servo at the top to indicate the next piece to fall when playing the game. Servos with WS2812b strips are problematic. Both require critical timing to work properly. Also a servo makes a noise when it moves and this can become a distraction to the game. After testing the hardware, I decided that the servo had to go and went about designing a top based on RGB LEDs.
To 3D print the new light top, select a 0.2mm layer height and enable supports touching build plate only in your slicer software. During printing, you will need to change the filament from black to transparent at the start of layer 36.
Using Wire-wrap wire, connect 7 WS2812B RGB LEDs together. You will be wiring from left to right looking from the front. That is the sideways T piece (red on the picture above) has the wire from the control board to its DIN pin. Its DOUT pin will go to the DIN pin of the S piece (orange piece in the picture above) and so on. All the GND pins should be connected to each other and similarly the V+ pins.
Support the LEDs on your workbench using masking tape as you solder the wires to them. I used 25mm wire lengths for the outer LEDs and 15mm wire lengths for the inner LEDs.
Test the LEDs still work before adding them to the top assembly. I used my WS2812B Tester to check the LEDs and wiring at each stage. Carefully place the LEDs in the top assembly. Once done, check the LEDs still work and use some hot glue to protect the wires at the back.
Add some hot glue to protect the wiring
The schematic is very simple and you can just wire it on a piece of proto-board if you don't want to bother with a printed circuit board.
Schematic (light version)
The Eagle files have been included should you wish to have the board commercially made or you can do as I did and make them yourself. I used the Toner method.
3D print the control box from the attached STL files. I used a 0.2mm layer height and no supports. Drill out the PCB mounting holes with a 2.5mm drill and create a thread using a 3mm tap. Four 6mm M3 screws hold the PCB in place.
PCB layout (light version)
Follow Ferjerez's instructions on the 3D printing of the base and the assembling of the matrix panels. Route the wires from the top so that the clip in the channels that hold the top and bottom to the matrix assembly.