Fixed Layout Prototyping

I was thinking about prototyping electronics again, as I often do, and I was wondering about what might be optimal (as in most flexible) for handing small SMT parts like SOT23-3.

Your choices are many, but pretty much all are bog-standard offerings derived from the original Veroboard layout (i.e. 0.1″ hole array, with a series of parallel traces on one side) or just an array of holes.

Veroboard. Source: Wikipedia

The rights to ‘Vero Board’ has been passed around a fair bit, but now settled with a UK company, Vero Technologies, which conveniently is very close to where I live, so one day, I may go and visit them.

Various people over the years have tried to make a better prototyping board, a good example of one is the Adafruit Perma-proto which is designed with an emphasis on quality, since Limor was fed up with the poor quality protoboards available. You can get these direct from Adafruit’s main site, from one of their distributors, or on eBay.

Adafruit half-size Perma Proto PCB. Source:

Another, different approach that I admire a lot, is to bring onto a PCB common hard-to-prototype footprints and create a sort of mixed-footprint and generic layout, with a standardised format. MikesElectricStuff created a great example of this that he calls simply a Universal Prototyping Board.

White Wing Design Universal Prototyping Board. Source:

I may produce something similar in the future, with my favourite footprints, but for now, you can order these direct from Mike at his website link above.


Anyway, none of this is what I want to talk about. I was thinking, like I said earlier, about SOT23-3, which is a three-pin footprint. Asking questions like “What’s the ideal environment around such a thing?” “What if it’s a Mosfet?” “How about a linear regulator?” After delving into a mathematically-orientated analysis of connectivity, I had a simple thought – why are circuits often rectilinear? What other geometric constructs might be useful?

How about tessellations?

There are lots of ways for tiles to fit together, some of the most basic shapes, squares, triangles, and hexagons tessellate trivially. Let’s look at a few and review them in terms of electrical connectivity.

Triangles and Squares

If we consider each node in a circuit as a single tile in a tessellated pattern, then the boundary or join between each pair of tiles can host a single two-terminal device (or multiple in parallel.) For example, in the triangular pattern, each node can have three devices attached, since each triangle has three edges and three neighbours.

Similarly, squares and hexagons tessellate trivially:

Four devices per node
Six devices per node
Putting them together could make for an entertaining circuit topology

I thought about it for a while and played with some simple circuit topologies, I concluded that hexagonal-based tessellation would be most fun, so proceeded to try a few common circuits and see how easily they mapped.

Example Hexagonal Topology

For fun I decided to make the restriction that the circuit will be purely defined by the component placement, so only the bill-of-materials is relevant. The assignment below is rotationally-symmetric, so the functional pin mapping of the SOT23-3 device is not relevant.

The Red (1), Green (3), and Blue (2) tiles are the SOT23-connected nodes, corresponding to pads 1-3 of the footprint in the PCB shown later on. The lettered nodes {A, B, C} (hereafter referred to as connection nodes) and also Vcc and Gnd are connected to a pin header for interfacing with the outside world.

The White tiles are fixed function rails intended for power and ground, but these can be any signal really, an example of which we’ll see later.

All the above tiles have the same connectivity on the top and bottom surfaces. Grey tiles are a little different, in that they have one signal mapped on the top of the tile and a different signal on the bottom.

Node assignment mapping

Nodes A{1-3} B{1-3} and C{1-3} are uncommitted or intermediate nodes and are not connected to anything else.

For the PCB I designed, each shared edge of every tile can take a single 0603 SMT device, with one footprint on the top surface, connecting adjacent tiles and a second footprint on the bottom surface acting similarly. The aim is to construct the circuit around the SOT23-3 device by building up connections from the external connection nodes {A, B, C} using common prototyping parts such as chip resistors, ceramic capacitors, and diodes. Inductors of small value also exist in this format, as do many other less-common two-terminal devices.

Zero-ohm links can be used as jumpers to connect nodes when no other device is desired.

Trying a few circuits for size

It’s pretty simple to map a circuit onto this fixed-interconnect, just by assigning connection nodes {A, B, C} that are near to the appropriate device pin, then fitting intermediate nodes as required. Since each node can take twelve component connections, that should be plenty! Obviously, uncommitted nodes only have half as many connections, but that’s still six and should be sufficient also.

Emitter Follower

Emitter Follower: Easy
Note use of 0R links to connect device nodes {1,2,3} to connection nodes {A,B,C}
Emitter Follower Node Assignment

Bootstrap Bias

Simple Bootstrap Bias circuit to increase the effective input impedance of a common emitter amplifier
Bootstrap Bias: Node Assignment.
Note the use of uncommitted node B3 with parts placed on the underside of the layout

BJT Shunt Regulator

BJT Shunt regulator
BJT Shunt: Node Assignment.
The vcc node is used as an output node.

Phase Shift Oscillator

Phase Shift Oscillator
Node assignment: Phase Shift Oscillator.
Connection node A assigned to Vcc and Vcc node is assigned to output signal. Maybe this is not the best naming scheme.

Example implementation

The next stage was obviously to make it real, by layout of a simple PCB. The PCB is intended to fit onto my standard prototyping plastic pin board, which has an array of holes on a 0.5″ pitch.

One day I might make my prototyping platform available to the public, but for now, that is reserved for prototyping work for my clients.

PCB Top Copper showing SOT23 device footprint, the external circuit header and the hexagonal fixed-interconnect.
Quick 3D render of PCB top showing maximum device population possible

More information

The KiCAD project files and Gerber files for manufacture can be downloaded from the CrazyProto GitHub repository. Files will be located in the HEX-SOT23 project folder. I may order some in the near future if there is any interest.

Update 02 April 2019

After spotting a deal[1] getting super cheap PCBs from JLCPCB, I ordered a bunch, and here they are in all their HASL-finished glory. Now to find some time to build a circuit on them 🙂

[1] Discount PCB with HASL for just $2 with Free DHL shipping China->UK. Total Cost for 10 units, $2 or two cheeseburgers in McDonald’s currency.