John-Philip Taylor

Screenshot thumbnail
Undocked windows
Screenshot thumbnail
Testing the layout fonts and rendering engine
Screenshot thumbnail
Testing the schematic rendering engine
Screenshot thumbnail
16 Layers (Eventually the user will be able to name the layers)
Screenshot thumbnail
Layout - Bottom view editing

1. Summary

Hierarchical circuit layout is commonplace amongst IC designers, but Spider PCB brings hierarchical layout to the PCB industry. Not only is the schematic hierarchical, but also the layout.

Ever wanted to lay out a 16-band equaliser, with 5 sound channels? Lots of copying and pasting on the PCB-side. Just imagine if you could lay out one channel of the equaliser, then go up one hierarchical level and lay out 1 sound channel, using your single-band equaliser 16 times, with the only difference being the component values. You can then go up one hierarchical level more to lay out the 5 sound channels, add some headers and a power supply circuit, and another to panellise the PCB's for production. No copying and pasting. No trouble editing a mistake later. This is the idea behind Spider PCB.

As another example, imagine you have to design and lay out a highly complex system. With Spider PCB, it is easy to follow the classic top-down design, bottom-up implementation. You would draw the schematics on the way down, starting with block-diagram form in the top-most hierarchical level, and adding more and more detail as you go towards the component level. All that is left to do then is to lay out each node of the hierarchy, starting with the components (or parts), going towards the full system. As each node on the same level of the hierarchy is independent from each other, you could potentially have a design team working on the project, with each person working in parallel with the other.

Spider PCB is not, and will never be, an open-source replacement for something like Altium Designer. It is intended as an easy-to-use medium-weight PCB EDA tool for students to small businesses.

Spider PCB is designed for MS Windows 7, but with future portability kept in mind. Win32 API calls are kept to a minimum and it uses OpenGL 3.3 for the GUI, although OpenGL 1.1 is also supported. Development tools include GLEW, InkScape, Code::Blocks and MinGW (tdm-1). FreeType, FreeImage and GLU are the only other 3rd party libraries.

2. Minimum System Requirements

Component Minimum Recommended Minimum
Operating System Microsoft Windows XP SP2 Microsoft Windows 7
CPU Intel Core 2 or equivalent Intel Core i5 or equivalent
RAM 500 MB 2 GB
Graphics Any GPU with hardware support for OpenGL 2.1 with the EXT_framebuffer_object extention nVidia GeForce GT 640 or equivalent
Hard disk 20 MB free space 1 GB free space
Keyboard Any ANSI keyboard covering the alphanumeric section Standard full-travel 104-key
Mouse Any pointing device emulating 2 buttons and a scroll-wheel Laser optical mouse with 2 buttons and a scroll-wheel
Screen VGA (800x600) 1080p HD

3. The Demo Version

3.1 Please Note

This is a pre-alpha version and is intended to give a rough idea about the final program. It does not do much more than draw pretty pictures.

Upon first execution, it creates a global settings file:
"Home\.Spider PCB Global Settings.xml"
You can edit this file directly, but do so at your own risk. You could also delete the file completely in order to reset the options to default. If you want to reset only one option to default, delete the appropriate attribute in the file.

3.2 Installation Instructions

  1. Unzip the archive to your favourite folder
  2. Run CodeBlocks\Version 1\bin\Spider PCB.exe

If you experience a low frame-rate, change the maximum OpenGL version to 1.1 in the Graphics Options dialogue box.

3.3 How to Use

  • Left-click generally selects or changes a state.
  • For lists and tree items, right-click deletes the item.
  • For the layers and selection-mask controls, right-click copies the current state (visibility, lockedness or activation) to the other items in the control. The current layer is always visible (not sure yet if this is a bug or a feature, but it is intentional).
  • For the drawing area, right-drag pans and scrolling zooms.

  • For line-width and grid-spacing, valid units include
    m, mm, um, nm, mil and inch

  • Layer shortcuts:

    • 1 => Top
    • 2 => Bottom
    • 3 to 8 and F1 to F8 => Inner layers

4. Bugs

Please feel free to add your findings to the list of bugs on the discussions page.

5. About Box

Copyright (C) John-Philip Taylor

Developed using:

Many thanks to TinyCAD http://tinycad.sourceforge.net and FreePCB http://www.freepcb.com for inspiration.

Other contributors:

  • Evens Moraba: Project title.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

6. Source

The source will be available from the downloads page when the first stable Version 1.0 has been released.

Project Members:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks