Here is my custom controller - version 2. I made this controller so I could bidirectionally communicate with my robots and other projects. It contains an LCD, Xbee transceiver, custom Arduino compatible LCD backpack, 3 button inputs, a potentiometer, and a Wii Nunchuck circuit board with joystick. The buttons will allow navigation through the menu system and sending simple commands within the menu. The Wii Nunchuck will allow for manual control of a robot by using either the joystick or through tilting action read by the accelerometer. The potentiometer will allow variables like speed to be adjusted on a robot.
The acrylic plates were laser cut out using my school’s laser cutter. The files were designed in AutoCAD.
The joystick cutout is an octagon like that of the actual Wii Nunchuck. This allows for specific direction locations of the joystick like forward, forward left, left, backwards right, etc.
Next I bolted the LCD and power switch onto the top plate of the controller. The Wii Nunchuck is attached using bolts and spacers. Finally the two individual plates that make up the controller are attached together using standoffs and bolts.
Then came bolting on the buttons and potentiometer. The potentiometer is then topped off with a black knob that is held on by friction.
I then wired the buttons up. I distributed a GND wire and attached an output wire to each button using a servo cable. They will be read by the micro-controller using the Atmega’s internal pull-up resistors. I did not put any holes in my design to bolt the 4AAA battery holder down so I had to drill some. I then bolted the battery holder onto the inside of the back plate.
Here is my custom Arduino compatible LCD backpack. I designed it using EagleCAD. It has digital inputs for the 3 buttons, an analog input for the potentiometer, an I2C port for interfacing with the Wii Nunchuck, a serial port for programming with a FTDI cable, and a serial port for the Xbee transceiver. The most important part about this board I designed is its ability to directly mate with and control a LCD.
I did not hesitate to solder the board together and attach it to the LCD. The board consists of just a few basic parts. These parts are: 3 .1uf capacitors, a 10k resistor, a 16mhz resonator, an Atmega328 with the Arduino bootloader, a trim potentiometer to adjust LCD backlight contrast, and male headers.
I then started on the first round of wiring. I soldered wires and female plugs onto the potentiometer and Wii Nunchuck. Most of all connections are covered with heat shrink. Then I plugged all the inputs into their respective ports on my custom board.
The second round of wiring involved connecting the battery pack, switch, and the Xbee transceiver. The Xbee was wrapped in electrical tape to prevent it from making electrical contact with the Wii Nunchuck above it. This was the last step of construction. The controller is finished.