Panelising PCBS for Dirty PCBs

One of the best features (other than the cool guys that run it) of dirtypcbs is that they choose to let you explore the capabilities of the board house without vetting what you submit. Some times that’s garbage in garbage out (I’ve had to de-panelise boards with a metal shear). Some times the result is golden.

The goal is to get as many PCBs as possible for your money. Here I managed to fit 3 open hardware projects plus my project into a 10cm x 10cm panel - you get up to 12 of each panel (min 8) so that’s up to 48 PCBs for $US21 shipped!

I’ve tried lots of methods, recently I’ve found they won’t add mouse bites for you so you have to add them yourselves.

http://www.pcbuniverse.com/articles/Mousebites.png

It seems like lot of work, the file formats are ancient so they’re somewhat ambiguous. Here is what I did. None of this is essential, this is the result of hours of work so consider following it.

  1. Hack eagle to generate drill files with leading zeroes. ie. edit eagle.def to change the EXCELLON_26 drill line to look like

Drill = “X%08.0fY%08.0f\n” ; (x, y)

  1. Install aperture scripting from mercurial (Jerome fixed a bug for me so get the latest) http://piratery.net/aperture-scripting/index.html

  2. Set the LUA_PATH env var appropriately.

LUA_PATH=‘/Users/tom/hg/hg.piratery.net/aperture-scripting/?.lua;/Users/tom/hg/hg.piratery.net/path/?.lua’

  1. Write crappy script to join all the pieces of pcb together. The library will only join panels of the same size so you need to add little filler pcbs to pad them out. Yes I have too many fillers, I’m done with this for now!
    panel.zip (1.2 KB)

  2. Here we have my board, sparkfun pocket avr programmer, micropython pyboard and Adafruit Powerboost 1000C.

image

3 Likes

Just an FYI. That looks like an old version of the pyboard (I’m pretty sure that particular layout is referred to as PYBV3).

Damien (the creator of the pyboard) used eagle for that version and switched to a different PCB program for PYB4 and the PYBV10 (which is the board released for the kickstarter).

So when you build the firmware, you’ll want to use:

make BOARD=PYBV3

to build the firmware and

make BOARD=PYBV3 deploy

to program it.

1 Like

Thanks for the tips.

As far as I can tell, none of the cad data for any of the other boards is on github. I think the v3 will still be enough to get my feet wet.

The primary differences are just what pins are brought out. The chip is the same. You may need to play with the load capacitors on the crystal. I helped my brother create some custom MicroPython boards and we ran into startup issues with the crystal.

It turns out that the STM32F405 will fall back to an internal clock if the external one doesn’t start up. The external one is needed for DFU (over USB) to work. However you can still load code over one of the UARTs, and I documented what I did over here: http://blog.davehylands.com/2014/02/serial-bootloading-stm32f4.html

This topic was automatically closed after 24 hours. New replies are no longer allowed.