Update 8 Nov 2013 The original version of this post had the connector pins in the incorrect order, this has now been fixed and the stripboard circuit layout updated accordingly.
Following up from the recent post about building a Clixx.IO compatible docking station I'm going to describe how to create a prototype Clixx compatible TwinTab board from standard stripboard to use with it.
There are a number of reasons you might want to build your own boards:
- Although a range of pre-designed boards are available commercially they are produced in smaller production runs and can be difficult to acquire.
- You may have a very specific circuit in mind that is not available as a pre-designed board or that is only designed for a single project.
As in this case you want to experiment with the Clixx system prior to any purchases.
Luckily the board specifications are prototyping friendly so you can build up single boards (both SingleTab and TwinTab format) from normal stripboard. In this post I'm just going to go through the process with the TwinTab format - it suits the dock I designed and gives you more board real estate to play with when laying out your circuit.
TwinTab Board Specifications
An updated Clixx.IO web site is in development which will include all the specifications but, at the time of writing this post, was not yet active. I'm duplicating the dimensions here for the purpose of this post but you should refer to the Clixx site for the official versions when they become available.
All Clixx Tabs are based around a 0.1" (2.54mm) pitch, the dimensions of a TwinTab (5 pin) board are as follows (please refer to the image on the right):
Label|Size |Pitch -----|-------|----- A |10.16mm|4 B |10.16mm|4 C |5.08mm |2 D |8.89mm |3.5 E |40.64mm|16
The length of the body of the board (dimension E in the diagram) is a recommendation and (within limits) can be as long or as short as you need. The recommended value allows you to fit a TwinTab PCB within a 5cm x 5cm area which is the usually the most cost effective option available on PCB fabrication services like Seeed Fusion.
A TwinTab board supports five types of interfaces with the pin mappings as shown in the following table:
Board Type|Pin 1|Pin 2|Pin 3|Pin 4|Pin 5 ----------|-----|-----|-----|-----|----- Analog |GND |VCC |Extra|In |Out Digital |GND |VCC |Extra|In |Out Serial |GND |VCC |Extra|RX |TX I2C |GND |VCC |Extra|SDA |SCL SPI |GND |VCC |CLK |MOSI |MISO
The direction of the pins is relative to the tab, not the controller. The In pin provides input to the tab and must therefore be connected to an output pin on the controller board itself.
TwinTab on Stripboard
As you can see from the image on the left the board design maps nicely on to stripboard. The main body of the board is a 15 x 15 hole area and an additional three holes are added for the tabs. Although the tabs are not strictly necessary for a prototype board I recommend using them - they are a handy guide to orientation and make it easy to identify a Clixx compatible board from other circuits on your workbench that happen to be the same size.
The tabs on a stripboard variant are slightly smaller than a normal PCB layout (so it's easier to snap the section off a larger piece of stripboard across the mounting holes). Do not put any circuitry on the tabs.
Although the standard height of the body is 15 holes I tend to use 18 which gives you slightly more surface area for the circuit and is closer to the size David uses for the official boards.
Making the board is straight forward - simply snap off a section of stripboard that is 15 strips wide and 21 dots high. I use a bench vice for this to try and keep a straight break. To make the tabs simply cut through the board with a hacksaw for 3 holes and snap the portion off with a pair of pliers. You can see the results in the image to the right - the blank board, a board with the tabs cut out and a real board for comparison.
A Simple Board
Now we need to make a simple board to make sure the dimensions fit and we have the connectors set up correctly. This board isn't going to do much, it will just have a button connected to the digital output pin and an LED connected to the input. The extra pin on the board will be left unconnected, it's not needed for this application.
The circuit is very simple, you can see the schematic in the image to the left. A pull up resistor keeps the output high until the button is pressed and creates a path to ground allowing the pin to go low. From the processor side that means the signal is inverted, a 0 means pressed and a 1 means not pressed.
The input is fed to the LED through a current limiting resistor. Output a 1 and the LED lights up, output a 0 and it doesn't. This is about the simplest accessory you can add.
The stripboard layout is shown in the image to the right.
Remember that you have to trim the stripboard to the TwinTab format before you start cutting tracks and soldering - it will make your life a lot easier.
Testing the Board
Actually connecting the board up to a Raspberry Pi is going to be covered in the next post as it will cover setting up the required software as well as using the board. There are some simple tests you can do to verify the boards operation without connecting it to a controller though. You simply need a 5.0V or 3.3V power supply.
Connect the ground pin (pin 1 on the Tab) to the power supply ground and connect the positive voltage to the In pin (pin 4 on the Tab). The LED should light up.
Disconnect the positive voltage from In and connect it to VCC (pin 2 on the Tab). Use a voltmeter to measure the voltage between the Out pin (pin 5 on the Tab) and ground. It should read close to your power supply voltage when the button is raised and drop to zero when you press the button.
If either of the tests fail just double check your component placement, orientation and soldering. If they pass then congratulations, you have your first working homebrew Clixx board!
Because the Clixx system is so simple and handy to use I plan to build a number of boards for my own use so I've put these in a GitHub repository that you are free to use for your own projects. So far it contains template projects for Fritzing that you can copy and use to create your own boards (both in stripboard format and full PCB layouts) and the Fritzing project for the board described above.