DMStudios' Digital Playground
21May/13Off

Another SMT stencil cutting post….

Finally some results! :)

I recently purchased a Silhouette Cameo (http://www.silhouetteamerica.com/?page=shop&cat=1)
Aside from all the things that can be done with this machine (cut fabric, vinyl, paper/card stock, etching plastic, cut cake fondant, stickers, signs, wedding cards/invitation, and the list goes on and on...) one of the things I wanted most was to be able to cut SMD/SMT stencils for making pcb's at home.

It has been a 'trend' lately, seeing the idea pop-up on HackADay , IdleLoop, DangerousPrototypes, and other blogs/forums.. so I decided to get to work on what it woudl take for me to produce the same results.

First I want to give a shout out and credit to several people/places as nothign I have done here is 'new' or innovative, its just the results from the hard work and sotware of other people, who decided to share with us, for this purpose. :)

HackAday, Idle Loop, DangerousPrototypes, Pmonta, teletypeguy, jessuscf...and everyone else I forgot.. :)

http://hackaday.com/2012/12/27/diy-smd-stencils-made-with-a-craft-cutter/

http://www.idleloop.com/robotics/cutter/

http://pmonta.com/blog/2012/12/25/smt-stencil-cutting/

http://dangerousprototypes.com/2013/05/17/cutting-stencil-using-a-silhouette-cameo/

(Im sure there are others.. but these were mains one..and they all link to each other or have a list of links in the articles themselves to oter relevant info)

With that out of the way..

the general overview of everything I have tested and read basically boils down to, there are only to 'viable' approaches that are worth the 'effort'.

Approach 1: Involves exporting a .dxf file directly from SoftCAD Eagle pcb design software, and you inturn import that .dxf file into the default Silhouette Studio software that comes with you Silhouette Cameo.

This is the approach outlined here at:
IDLE LOOP - http://www.idleloop.com/robotics/cutter/
by Cathy Saxton

The ULP script is located here on github: https://github.com/SWITCHSCIENCE/ssci-eagle-public/blob/master/cream-dxf.ulp
(not sure of the author..sorry)

*  Dont forget to turn off "scale to fit" for DXF import in your Silhouette Studio preferences.

This is by far the EASIEST approach one can do/try... (its not much different than using your Cameo to open/cut any other .dxf file at this point.

However.. the results were 'ok' (at best!).. and with soem tweaks 'usable' probably with some 'fixing' afterwards..

I experienced the same results as many others on the net have experienced..

not 'straight' cuts.. bowed out box lines, alignment problems..etc

Results:  'ok'..  probably 'usable', maybe with some fixin'/clean-up..
better than a toothpick and doing it by by hand I would imagine.  :)

Next up is the GerberToGraphtec approach. This works DIRECTLY with the gerber file exported from your design software..
and is Python based...

This script/project is by: Peter Monta

http://pmonta.com/blog/2012/12/25/smt-stencil-cutting/

Github files: http://github.com/pmonta/gerber2graphtec

Being on Windows. this was a bit of a learning curve, and require the installation of several supporting apps.
(and not to mention I'm pretty much command line retarded)

Anyways.. download and install these app sin their default locations:

Python 2.7.5: http://www.python.org/
Gerbv 2.6.0: http://sourceforge.net/projects/gerbv/files/gerbv/gerbv-2.6.0/
pstoedit 3.61: http://www.pstoedit.net/
Ghostscript 9.07: http://www.ghostscript.com/download/gsdnld.html

As mentioned here: http://dangerousprototypes.com/forum/viewtopic.php?f=68&t=5341#p51495 in a post by: jesuscf..

he mentioned, for WINDOWS USERS.. we need to edit the gerbertographtec file.. (from what I have read it 'just works' for Linux and Mac.....figured I'd mention it to make you guys happy)
Download the .zip file and extract the folder inside...

Find the gerbertographtec file and edit it as follows:

1.) add the .py extension to the file name  (to be able to run the program directly from a command prompt)

2.) Change these two lines:

os.system("gerbv --export=pdf --output=%s --border=0 %s" % (temp_pdf,input_filename))
os.system("pstoedit -f pic %s %s 2>/dev/null" % (temp_pdf,temp_pic))

to:

os.system("\"C:/Program Files (x86)/gerbv-2.6.0/bin/gerbv\" --export=pdf --output=%s --border=0 %s" % (temp_pdf,input_filename))
os.system("\"C:/Program Files/pstoedit/pstoedit\" -q -f pic %s %s" % (temp_pdf,temp_pic))

*He mentions this is because some of the apps above (gerbv & pstoedit) added their executable folders to the path.

One of the final steps is 'sharing' out your Silhouette Cameo printer, in the Printers & Faxes screen in the Control Panel.
(right click >> sharing & security  >> share this printer  (name it: Cameo)

At this point, I had some problems with the command line stuff he was posting to use to initiate the process and start cutting:

C:\gerber2graphtec-master>gerber2graphtec.py test.gbr > result.txt
C:\gerber2graphtec-master>copy /B result.txt \\[YOUR COMPUTER NAME]\Cameo

alternate line to use: (not tested)

C:\gerber2graphtec-master>gerber2graphtec.py test.gbr > \\[YOUR COMPUTER NAME]\Cameo

I had tested things as described and kept getting error after error.. (not sure if it was a pathing problem, or installation problem on certain supporting apps)

either way.. I ended up just using a .bat file another member (teletypeguy) posted, and uing the same file structure.

that ended up being this:

on _root of C: drive:

Create a folder called: gerber-files-to-cut
ie: C:\gerber-files-to-cut

INSIDE this directory, you put/copy the gerbertographtec folder you downloaded at the github link above (dont forget to edit it as outlined above)

ie: C:\gerber-files-to-cut\gerber2graphtec

and the .bat file I created/used was this: (use your computer name, not [computer_name]

@echo off
rem This is for printer named "Cameo" which must be named and shared in control panel.
rem This is for computer named "hacker"
echo.
echo This script will send gerber file to Cameo for cutting solder stencil.
echo Generates intermediate files .pdf, .pic, and .graphtec.txt
echo.
echo Set your Cameo blade to 1 and turn cutter on.
echo Load mylar sheet (landscape) at upper-left corner of mat.
echo.
set /p filename= Enter filename of gerber (eg: test.spt or board.gbr):
gerber2graphtec\gerber2graphtec.py %filename% > %filename%.graphtec.txt
copy /B %filename%.graphtec.txt \\[computer_name]\Cameo

This .bat file should be INSIDE of the: ie: C:\gerber-files-to-cut directory.

At this point.. you are ready to startm aking test cuts.

Be warned, this a VERY SLOW process, but very accurate and te results are pretty good.

2-passes, pretty much 'stock' configuration

did NOT cut all the way through!!!.. but looked good (pic doesnt really do it justice as the shadow and it didnt cut all the way through making it look 'fuzzy/choppy'.

Edited to 3-passes

result: still couldnt get the cut to penetrate..(backside was still smooth)

ok.. so at this point.. Im thinking: "Geez, the ULP script and .dxf export from IDLE LOOP looks great right about now!"  LOL..

no matter what a BLADE SETTING of 1 wont cut it!.. and the holes never were cut out.

blade setting of two was too much and ripped pads!

but I kept reading around and asking questions, and was informed about the defaults in the gerbertographtec.py script..

(about how to add more than 1, 2, 3 cuts, and the force (pressure) parameter as well!)

This,.. in addition to the tip on shrinking the CREAM layer in the DRC >> MASKS tab, seemed to charge new life into me!

So I opened the gerbertographtec.py script  (I also learned you can add these parameter to the batch script, but I think I was more comfortable editing the .py script itself, and commenting out other 'settings' for later review/use

found these lines/values:

offset = (4,0.5)
border = (1,1)
matrix = (1,0,0,1)
speed = [2,2]
force = [8,30]
cut_mode = 0

and edited them...

the only one I really messed with was speed & force  (although by default the script will cut a 1" board around your pcb largest area.. you can change this in the border default)

(all images should have the settings used and the results in the image)

Also note that I tried to shrink the CREAM LAYER in Eagle before exporting by 6mil.. and it looked/showed no different than when it was at 4mil.... not sure if it is due to the iTeadStudio CAM file I used to export the gerber files or what?

either way Im happy and impressed with the result so far:

keeping the blade setting at 2..I tried different runs, speeds, and pressure..

here are the results:

At this point. I believe these to not only be usable.. but of 'decent' quality.. (better than the laser ones I have 'paid for perhaps?)...

I am going to be trying the Apollo write-on transparency sheets from the local Home Depot this weekend.

*Project note:

I still get an error/warning every time I run this...

"The procedure entry point ?construct@?$allocator@VVPath@Magik@@@std@@QAEXPAVVPath@Magik@@$$QAV34@@Z could not be located in the dynamic CORE_RL_Magik++.dll"

*****update: by removing the .dll from the directory, this solves the error..

it has to due with either gerbv or pstoedit (I cant re-call off hand).. however I have even tried installing Image_Magik..to get the .dll's and copy/paste them to the directory.. (error persisted)

Love to hear what anyone has on this error and how to fix it!

thanks to all the hardwork and posts of everyone before me and where I source the info/help from!..

its a great 'tool' to have, and a nice ability to not have to source/pay for solder paste stencils any more for hobby/protype work!

update:

at the Dangerous Prototypes forums.. there have been additions done by the members..

* a new .py script hat is optimized for not only faster speed.. but seems to perform better/straighter cuts through the entire stencil/area
* a new GUI for editing the parameters and fine tunign control as been created as well
* Linux and MAC support for the GUI...

IMHO.. this was worth the purchase of my Silhouette Cameo alone.. :)

thanks!

24Jan/130

The Jeruino (Arduino compatible clone circuit)

compare_2

Introducing the Jeruino! (not really.. but everyone else names their Arduino knock-off clone circuit.. figured I might as well be trendy too!) LOL =)

Everyone knows how much of a whore I am for the RFX platform...

I have also been playing with the Arduino for a while too... (any member here or JSSDC can easily jump in..with both feet and be up speed (at least my speed) in a day or so...so I dont wanna hear any pissin' & moanin' about things being too hard.. lazy I'll accept)

a HUGE problem for everyone who posts this junk is 'footprint' going from the non-practical BREADBOARD set-up that is great for YouTube vids.. but not so great for any practical project.. nor is stuffing a 'real/true' Arduino board into a project (they are more development/prototyping and have alot of bells and whistles you dont need in the end) very practical and wastes money.

you can get all the components for a barebones Arduino for around $7 bucks or so.... which is much better than $30+ each time to shove in a stunt or costume or other prop..

I saw Alec post his jedi training remote.. and pm'd him saying that is great project for an RFX or Arduino 'brain'.... since it doesnt need a CF or PC..etc.. this little brains fill a nice niche.

So I opened up photoshop and got to work on making [u]my[/u] first 'real' pcb schematic (IMHO).. since this was a real working board..and not just some traces to hold sensors or switches as I have etched out before..

(I etched another 'real' board...but it was based on TroyO's schematics for a multi-channel LED driver board.. which I've posted before...PWM chopper type)

this one I created myself from scratch.. and google/instructables... (basically ported my breadboard Arduino circuit to a PCB) with the intent being fore Alec's jedi training remote.. (anyways.. not sure if that currently being worked anymore) =(

but I produced my first functioning Jeruino board.. ;) (Arduino clone)

Its no PlecterLabs, professionally design PCB.. etched by a PCB house...etc.. this is DIY at home... (so if your looking for that.. Alt+F4 is for you! =) )

anyways.. on with the story/post.. =)

SO I made a design in Photoshop to illustrate my traces and vias/pads..etc
you print this out on GLOSSY PHOTOPAPER.. done with a LASER PRINTER (not ink jet)

**this happens to be DUAL sided (avoid at all costs if you can..true PITA for DIY)

you cut out your traces/design... lay it over your copper clad board (RadioShack..or anywhere)
and you IRON it.. heating up the toner so it adheres and transfers to the copper board.

let sit for a few minutes.. run it under water.. and rub/peel the paper away under only traces are left on your copper board: (looks like you printed on the board... sometimes traces by the edges do NOT transfer good.. so be careful.)

cut out other side.. and get ready to repeat process:

once you have your traces transferred to the board.. it is time you etch away the visible copper.
All copper is gone.. leaving only the traces you transferred to the board left.

the flip side: (**warning..UGLY.. you can see the lift of the paper and traces that are crummy on this side) (you can see the holes mis-aligned a bit.. but no worries..all good)

this side came out pretty damn good though:

from here.. I removed the toner on the board with some ACETONE..

Next we drill the holes (damn there was a lot)
Doesnt look too bad (from the top)..LOL

clearer view of the bottom side with some mis-aligned holes:

what stinks about the DIY approach with dual sided.. is THERE ARE NO THROUGH HOLES PLATED.. so its a real BITCH to solder through the holes to bridge continuity..

Anyways.. once you are at this point..
you can start to solder on your components:

and....viola`

and finished product..

threw in a Atmel chip from my Arduino.. (already had a sketch/program on it..so I knew it was working)..

powered it up.. BAM.. it worked! (STOKED!)..

however.. before I posted.. I needed to check the FTDI headers.. (these 4 pin headers are how you talk and upload new sketches/programs to the chip to be 'run')...

[b][size=150]FAIL![/size][/b]

it runs...works.. but only a pre-programmed sketch that was/is on the chip.. (BOOOO!)..

who wants to buy a REAL Arduino (besides people like me).. just to swap out the chip for your final project every time your done? (I guess many people do it this way though..as FTDI takes up a little space?)

be nice to just write directly to your final Jeruino.. ;)

so after some BS and a few swear words.. I fixed everything..(ala Ultra Sound approach) LMAO...

found a few continuity problems from top-side of board to bottom side of board..

and an FTDI problem...

the Ultra Sound fix was a missing trace to a certain pin (pin7...VCC..yikes)..

so I had to use a fix wire..like the old US boards.. hahaha.. (throw-back)
(it looks worse in the pic)

and of course.. because no good deed go un-punished and hard work is always laughed at in life..

I got punished by NOT doing my due diligence.. doing all this hard work for NOTHING!..

as I found a KIT.. that does exactly what I just created from scratch, myself.. that is MUCH more easier, and much more professional (however you dont get the satisfaction of failing over and over, swearing alot....and its missing any kind of Voltage regulator.. but making a quick PCB for that would be no problem!!!! haha)..

so I got a kit to compare mine..to 'his'... (fucker.. I really like his kits!!)

so without further ado..

some compare pics:

my DIY vs purchased (mine has a vRegulator though..so its a bit longer)

**disclaimer-

I make no implications that I know what Im doing..
that this is the BEST approach
that this is absolutely how things much be done.

I am simply sharing what "I've" done...

but for extra $10.. it can really kick up a stunt or costume..

you have a BRAIN with MANY I/O ports to hook stuff up to..

LED's... servos/motors.. accelerometers... and the list goes on and on..

all the same brain.. just change the code. =)

hope this helps someone finish that special prop/project.

feedback or questions are appreciated.

Thanks gang..

24Jan/130

S.C.A.B development…

flash_board

Over the 'years'.. (since I was first turned on to the RFX project/platform).. I fell in love with the idea of a generic platform for the user use as they saw fit.

motors, leds, rfid...whatever the project was.. a nice, simple, generic platform for users to 'tweak' and customize seems like a great idea to me.

with RFX basically defunct/dead... I turned toward the Arduino platform. Had a huge following, lots of examples.. and quite easy to get up to speed on basics..etc.. (even without an electronics background)

The problem with the Arduino platform (as is).. is that its purpose (to me) is for developing/prototyping your projects.. but not to be used in the end application.

why? due to size.. and price mainly for me.. (although other Arduino variants can come in smaller sizes.. the price is includes extra development stuff you may not use in your final projects...etc... and not to mention a minimal Arduino circuit can be made for under $7.00 bucks!)

And getting an Arduino to play audio isnt done easily (by default)..
****(although now I just tested a super easy PWM based audio output library.. doesnt use any DAC or AMP.. and the quality is pretty decent for what it is!)

SO I began to teach myself Eagle.. (not easy for me unfortunately..but after some time I got more comfortable with it)..

and laid out some stuff.. and finally felt confident enough to start making my own PCB's and having the shipped to me.. (instead of the old DIY home brew etch approach)

So here I am documenting my process.. (and failures) along the way.. ;)

a qcuik summary of the things I had to learn.do/involved..

*need to make a the schematic/circuit layout in Eagle
*hope its correct or have others look it over (check against design rules too)
*order the pcb's (sending the exported GERBER files form Eagle to your pcb fab house of choice)
*order a stencil (which is used to layover the pcb and smear solder paste over it to get it applied to the exposed pads through stencil)
*place parts on pcb (tweezers!!!!)
*re-flow pcb in oven

This was my first iteration.. using a different DAC than the schematic I was using as my guide:

Here was my FIRST generation of pcb's I got made:

Here is the pcb compared to other stuff.. an Arduino, a smaller minimal Arduino kit..and I think an US 2.5 board:

here I applied my solder paste.. and populated the board with its components..etc. and re-flowed in my wal-mart toaster oven!!

re-flowed:(done)

I had even tried to fix it by testing jumper wires to the default I/O pins..etc.. (no go)..

Well long story short.. after posting and asking....I just couldnt get it working with the DAC I had chosen..maybe someone else could have?? no clue.. (DOH.. should have just followed along..lesson learned)..which I guess is good.. as I had a few other mistakes as well.. =( SO I started over.

In the end, all I had was a tiny Arduino circuit..with on-board uSD socket.. nice.. but no audio output. :(

So lets go version 2!!

I got mew pcb's made... got a new stencil made..etc.. and started again.

Here is the process "I" did:

apply the solder paste, using stencil:

remove stencil.. examine paste placement on pads: doesnt need to be PERFECT as the heat from pads will pull solder towards it..etc:


Then populate board: (those TQFP chips are a PITA sometimes!!)

Stick it in the toaster for a bit.. (you can see the solder melt and get shiny)

and when you are done you get a finished board..

Here are some size shots and comparison shots against a full size Arduino & WaveShield (which is what my custom board is together..those two boards in one)



in the last pic you can see some pots wired inplace of some resistors.. I did this so I could dial in not only the volume.. but play with the filter/range, so things didnt sound so muddy/muted..

when done flash the board with whatever code you wrote to control/do whatever it is you need done.

thanks for looking.. was a fun project..

24Jan/130

Custom 7-piece smd led bra graphs (and assembly)

smd_barGraph-013

From the JSSDC run Austin put together.. the bar graph pcbs..

blue is bottom layer.. red is top layer...

Here is link to the Eagle files too:

http://dmstudios.net/misc/led_barGraph_pcb/led_barGraph.zip

you can take those.. and export GERBER files for the fab house..

I already checked the design against the iTeadStudios design rules..and everything passed.. (so should be good to go)..

that being said.. it doesnt save us from ourselves! look at..study it.. make sure its 100% right..

walk yourself through the assembly and the application of using it in a build..etc.. see if you come up with any troublesome area...etc
I think one that fits/works in the MHS activation boxes would be nice.. same hole alignment..etc..etc.. some standoffs.. done.

if you choose to use the resistor pads on the CF.. bridge the pads on the bottom of course

suggestion.. if you plan on either offer built ones.. or making several of these for yourself..

invest in a stencil!.. (at least for the top [led] side)... its easier than you think to do... (costs a bit of extra money though)..

but saves time and produces a better 'finish' for your components/solder than doing it all by hand..

I have used both pololu.com and ohararp.com (I think thats the right name?)..

I preferred the later.. as it comes on a piece of KAPTON vs MYLAR.. and produced a better stencil (and Ryan was great to talk too.. very helpful for us noobs)

thats the nice thing about getting pro boards made.. you can use both sides to run traces way easier than a DIY board..LOL

----------------------------------------------------------------------------------

my attempt at assembly:

here are some pics of the board I just did this morning..

(summary)

1.) print out the pads/footprint from Eagle to a piece of paper..use exacto knife to cut out pads (ie: make your solder paste mask w/paper)

2.) align your pcb with enough, equal height stuff around it so the mask doesnt 'bow'..and you have a bigger surface to 'smear' against.
(I just use extra/leftover pcbs and stack along the sides)

3.) take your paper mask, and lay/secure it over your target pcb

4.) smear some solder paste at the top of the 'mask'... and grab a credit card or something like a putty knife.. and smear the solder paste over the mask

5.) for this type of PCB/project it doesnt have to be 'perfectly' aligned on the pads... (for fine pitch components.. I would wipe it off and start over)
you can see the alignment isnt perfect.... but it doesnt matter here.. also the heat will pull the solder toward the pads and even it out..etc

6.) after you apply your solder paste, you can populate the pcb with your leds (align/straighten as you see fit)

7.) throw it in your toaster oven...(tick tock)

8.) all done:

I didnt do the resistors.. if I was going to.. I would have started with that side first.. then done the leds last.. (or just did the resistors by hand.. as you dont see that side) ;)

all-in-all.. it took about 11 minutes to complete..

24Jan/130

DIY: Homebrew PCB etching

supplies

Not sure how many (if any) of you may ever need to do this...

but if you want to mount those sensors we got or accent leds..(or anything) to a little custom PCB for your projects..

you can make a PCB all by yourself with nothing more than a black-n-white laser printer, the copper pcb board, and some etchant solution

Etchant Solution:
http://www.radioshack.com/product/index ... Id=2102868

I think they stopped making them..but some stores still have old inventory.. (I got my last 2 kits for $3+ each)

# 276-1576 is the KIT# (read the description, and you'll see reference to the kit)

comes with:
etchant solution
tray(s)
etchant/ink remover solution
copper PCB board (2 thicknesses)
drill bit
scotch brite pad
permanent ink marker

you really only need the etchant and the copper pcb board.

I made a little layout/schematic (nothing special)

in photoshop.. @ 300 DPI

** make sure you print on glossy PHOTOPAPER.. this works best in my tests..

print out your schematic..

cut out schematic

iron schematic to the copper pcb board... let it sit a bit.. make sure transfer is nice.

under cold water.. 'wash away' the photo paper on the PCB board.. it will leave behind the INK/TONER from the paper on the PCB..

(I didnt take a pic of this....sorry)

but it would be like you printed ON the PCB (more or less) after you wash away the photo paper with water.

fill tray up with etchant solution..

throw section of pcb board with print out ironed on it..into tray..

(etchant will eat away/remove ALL copper 'except' where the ink/toner was left at)

once all copper is gone..and only black ink/toner is left on board...

you can take high grit sand paper or the scotch brite pad..and clean off the toner that was left on the board.. revealing the copper (now traces) on the board..

It can be used to get some fairly decent lines and things are very crisp for what it is..

I made a 'pcb' board to hold my X & Y axis swing sensors....and my clash sensor.. and soldered solid core wires that fit into my bread board to test with the RFX project..

Ive also used this method to make a few LED driver boards to drive a LUXIII/P4 w/PWM support... as well as a 3 & 4 driver board for RGB or RGBA diode LEDS..

I made these printing on WAX paper though..and the transfer isnt as good after ironing as using glossy photo paper and washing it away under water after ironing.

and these are just HOME BODY, DIY needs..and they work a treat..

image how small things could be if they were professional designed and manufactured!! PHOOK!>.lol

hope this helps any of the DIY builders out there..:)

-----------------------------------------------------------------------------------------

For these tests...

I have used a very affordable HP LaserJet 1022n (n = networked)/

basic stock black-n-white laser printer.

as for photo paper.. I have success with several brands, sizes & type.. glossy or semi-gloss all types were..

all transfer CLEAN, SOLID lines..vs. using a wax paper or a mailing label backing or similar..

I was very impressed with the quality of transfer using photo paper vs. anything else.

re: etchant.. a few other things to note..

myself. (wrong or right).. I keep my solution in a plastic tub/container.. (with lid)..and just leave it.).. I re-use it.. sometimes adding more or etchant at times..

also adding air/bubbles to the solution helps speed up the process and works well...

my point/goal was to provide a method that doesnt require any special ordering of materials or supplies.. everything should be able to be purchased locally...for cheap!