Clanking Replicator Project

 

Stripboard Designer

Background

When the Reprap Project began some years ago, virtually all of the controller electronics were built using Veroboard or Stripboard. This was an early comms board that converted PC-side RS232 serial comms to something that the Microchip Pic 16F628A microcontroller could understand.

 

Stripboard is aptly named. It is a standard fiberglass printed circuit board with strips of copper on the backside. This back view of the comms board gives you a visual idea of what that looks like.

 

 

Integrated circuits usuable in stripboard are of the "through-the-hole" or DIP/PDIP technology which have pins spaced at 0.1 inch {2.57 mm} from each other. Connections between the different components in your board design are made by (1) breaking the copper strips on the back of the board {the black dots on the back side of this comms board indicate breaks} and...

 

connecting jumpers which connect the resulting pieces of the copper strips as you can see in the schematic of the top view of the comms board.

Stripboard is extremely attractive because it requires very little in the way of tools to use and makes permanent boards. If you are making just a few boards or changing a board design just a bit stripboard is an extremely efficient technology. You don't have to keep and use corrosive and posionous chemicals to etch your boards and you don't have to pay a setup charge to a shop that makes runs of printed circuit boards and then wait for a week or so for them to get your boards back to you. For error-prone people like me, stripboard is a Godsend.

In recent years, however, the price of locally available stripboard has doubled. When I began using stripboard I could get a Euroboard format stripboard made by the Dutch firm Velleman for about $8 from my local electronics shop. Since then the price has doubled. Because of that, I spent a considerable time writing software to enable my own Reprap printer, Tommelise 2.0, to mill printed circuit boards. I could buy those for $2.50 locally.

 

Why use such a retro technology?

Recently, however, I've been discussing the future of Reprap with another long-time team member, Vik Olliver. Reprap printers were originally seen as a self-replicating technology that would easily be replicable anywhere in the world. In practice, however, our Darwin design has not really achieved that. Components like steppers and many integrated circuits used in the designs are nearly impossible to acquire outside of the G8 plus 1 economies and damned difficult to acquire in some of the very well developed economies in the G8 plus 1 itself. Europe, especially, seems poorly organised to provide small numbers of components to individual builders at anything resembling reasonable costs.

The situation gets worse the moment one steps out of the G8. Reprap builders living outside the G8 plus 1 are left with either ordering components from out country with consequent horrific shipping charges or cobbling something together locally. For local fabrication, stripboard gets to be a very attractive technology in this market.

Inspired by Vik, I decided to take a very close look at the cost problem for stripboard in the US. After some serious Googling, I was able to find stripboard that was cost competitive with my cheap 6x6 inch printed circuit board blanks that I could mill.

Omnikits was able to provide the Velleman Full Line Eurocard format stripboard that I was used to for $5.50 while Gateway offered the same card at $8, which was the price I was paying three years ago. Electronics Express in New Jersey, however, offered boards cheaper than the $2.50 I was paying for milling printed circuit boards.

Stripboard is widely available in the UK and much of the former British Empire. That's about a third of the world. It is also made in such places as Mexico for export.

 

Designing with stripboard

When I began designing with stripboard I tended to use graph paper, pencil and a big eraser. Since then, I just eyeball the board and place the components as I go along. While this method works, it tends to make for messy designs as one uses jumpers for strips and all sorts of other dodges. In order to do stripboard design properly, you need a stripboard design app.

When I first began using stripboard, such apps were virtually non-existent, which is how I got into my sloppy ways. After realigning my thinking after chatting with Vik, however, I made another big Google search for design programs.

The first one I unearthed was VeroDes. VeroDes is nice freeware. I passed the link to it around the team and discovered from Vik that it has one big problem. You can't redistribute it {look at the license} and you can't get at the code in case something needs upgrading. Aside from that, however, it seems like a good app. There are others available costing about $25...

I tried out VeroDes and found it promising. The others looked to have had limited component libraries that would be difficult to append.

Because of that, I recycled some of my printed circuit board code and wrote my own

 

Stripboard Designer 1.0

I've often said that I want a bright 12 year old with limited parental support to be able to build a Reprap machine. Designing for a 12 year old means a number of things.

  • you've got to keep it simple and intuitive
  • it can't be a bother to use

Open source software has a tendency to accrete complexity. The circuit board design app KiCAD is a perfect example of the phenomena. I used it three years ago regularly to design schematics. After my electronics stabilised, however, I was only making minor changes to my boards which didn't require something like KiCAD. When I started to use it again a few months ago, I discovered that it had gone a long way towards acting like it's commercial counterpart, EAGLE. Too complex.

Heretofore, I have been using the Visual Basic IDE of Visual Studio .NET 2005 suite for my PC-side software development for Tommelise. It's not an expensive development environment, but it isn't cheap, either. I used it because I was using the same IDE for my consulting work and I didn't have to learn another IDE and language. I did a bit of Java work with AoI but was underwhelmed with it.

Two years ago, Microsoft introduced something called Visual Studio 2008 Express as freeware. I've always kept my coding simple because I don't get paid to do finished apps and simple code means that the professional propellerheads have to ask me fewer questions about what I've done when I deliver prototype code for an app to them. I found that Visual Basic 2008 Express would handle everything I've ever done in 2005 without a hiccough AND IT DIDN'T COST ANYTHING. I promptly upgraded my Tommelise PC-side code to 2008 as you might imagine.

As well, I spent a month trying to deliver the stripboard designer I'd coded as an XBAP thick client app that you could open in a browser. I managed that, but then discovered that running code in a browser sandbox slows it down tremendously. As well, you get into issues of installation certificates and the like. That killed a month.

I finally backed off and wrote the app as an installable program. I then realised that I hadn't done an install pack since 1998. I then discovered that Microsoft's app publisher sucked and that it's commercial equivalent, which was usuable, cost about $5,000 for a license. After asking around I tried Nullsoft's freeeware installer, which also sucked, though not as badly as Microsofts and eventually discovered InstallJammer.

InstallJammer is also a pain in the neck to use. Fortunately, however, it has a wizard which will make a nice install pack for you if you.

DOWNLOAD

You can download Stripboard Designer 1.0's executable app and also access it's source code.

 

Using Stripboard Designer 1.0

I've tried to keep Stripboard Designer 1.0 Intuitive. There are two things to keep in mind.

  1. When you are placing a component footprint the stripboard hole you click on will be the extreme upper left pin for the component if the component has width and the top pin if it doesn't. If you need to delete a component you click on the same pin hole you placed it on.
  2. You don't need to use all of the color coded jumpers if you don't want to. I put those up there so that you could keep an eye on what was hooked to what. I need that kind of prompting. You might not.

 

 

This version of the app does not specify specific integrated circuits, but restricts itself to their footprint. That keeps the component library under control. For the sample board that I give you with the installation the top 16 pin socket holds a PCF8574 I2C buss expander chip. The bottom 16 pin socket holds a SN754410 quadruple half-H stepper driver chip.

I've configured the board as a Z axis stepper controller. Because of that you will notice that I've configured pins 1-3 on the PCF8574 as binary 110 respectively, that is, pins 1 and 2 are set to +5v and pin 3 is grounded. The I2C bus will handle 8 such boards.

You will notice an button labeled "Twixt Break" in the "Misc" box at the right of the app window. That feature cuts makes a break in a copper strip between two adjacent pin holes. This feature is useful when dealing with components like USB connectors which have very closely spaced pins. In practice you would make such a break with a mat knife or an abrasive or diamond grit cutting wheel on a Dremel hand tool.

There is also another button in the "Misc" box marked "Grid". That button superimposes a 5 {green} and 10 {red} pin grid over your stripboard. This feature is helpful when you are trying to locate components and breaks on a stripboard that you are building up.

As well, you will also notice a "Side of Stripboard" box which reads "Front" in the screen grab above. Clicking on that button flips the board from left to right so that you can see the back side of the stripboard and know where to drill or cut your breaks.

Have fun!

 

What I'm going to use it for

Basically, I am going to use this app to publish stripboard plans for the boards I design for this project. You can do screen grabs of the app and label the components with Paint or something similar. I will make the .brd files for these plans downloadable in case you want to mess around with them

 

Addendum: License issues

I don't like the GPL license. GPL basically causes everything it’s linked with to become public. Think of GPL roughly as socialism and the BSD license as capitalism. Here’s some good writing on the subject. I want as many people to be able to use my work as possible without having to worry about being as openhanded as I am at this stage in my life. For this reason I'm using a slightly modified version of the Berkeley Software Distribution License. The slightly part is that The California Board of Regents mentioned in the BSD license has become me.

Aside from that the BSD license pretty much lets you do whatever you want with what I've done. The only proviso is that you say where you got my stuff and don't rag on me if it doesn't do exactly what you expected or wanted.

I've distributed the license with the install. I didn't explicitly make users agree to it because there is basically very little to agree to. Here's the text.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

This product includes software developed by Forrest S. Higgs in conjunction with the open source Reprap Project

4. Neither the name of the Reprap Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REPRAP PROJECT AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REPRAP PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

If you want to modify or upgrade the Stripboard Designer app, feel free. You can either let me distribute your upgrades if they fit in with what I am trying to achieve or distribute them yourself. Just give me credit for where you got the original code, okay?