After drawing the lollipop interface schematic in Eagle, I started with the PCB layout. As a beginner, I found the following tutorials from Sparkfun very helpful, to get to know the basics for both through-hole and SMD layout:
The challenge here was to make the board as small as possible. After drawing a few vias with standard 0.6 mm drill hole diameter, I decided that a matrix size of 14x14 pixels was optimal to avoid making the board too wide. The routing of signals from the vias is a consideration as well as the space required for the vias themselves. This number of pixels should be more than sufficient to create a usable image.
In order to make the required layout for the electrodes, I used the polygon tool to create a rectangular strip of copper for each column, on the reverse side of the board, based on a 0.025 inch grid. After placing all the vias within the copper strips (but not connected to them), I made the rows by joining the vias vertically with tracks on the front side of the board.
To gain the necessary clearances for the outer ring around each via, I set the design rules to specify a track-to-via clearance of 8 mil, and a stop mask clearance of 16 mil. This produces an annular ring of thickness 8 mil around each via. When it comes to the production of the PCB, these dimensions need to be respected for the board to function as intended.
After drawing the complete matrix, the detail of the electrode construction looks like this:
I began to place the other components. After trying the autorouter I realised that there would be no chance of making a compact layout unless the routing was done manually. Starting with the drivers for the rows and columns, I came up with a fairly compact routing, using both sides of the board. The other parts are in approximate positions with the routing for them still to do. The board is starting to take shape: