SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By skimask
#104351
When I started, I used those solderless breadboards for building stuff. Works great until you try to run a PIC or whatever at multi-Mhz...then they hit a wall...
I switched over to using something like this:
http://www.protostack.com/index.php?mai ... 5prcm02t62
Not exactly that board from that company, but same idea, 3 or 5 pads, connected in groups, just like the solderless breadboard, without the plastic 'housing' on top of it. I've used them lots of time for lots of projects, but they're starting to get worn out (lifted pads, burned phenolic, and so on). I bought the PCBs I've got years ago. Don't remember where I got them, probably out of business and moved on by now.
Anyways...it seems to me like the bulk of the prototyping PCBs out there are of the 'one pad per hole' type, like this:
http://www.sparkfun.com/commerce/produc ... ts_id=8619

My silly little question is...
#1 - How does a guy go about running 'wires' on this sort of PCB? Seems like a serious PITA to me, but that's probably because I'm missing one small, tiny piece of the puzzle.

#2 - Anybody got a good link to get boards like the one at Protostack, but larger, and at a reasonable cost?

JDG
#104360
+1: Point to point using, say, 30AWG wire-wrapping wire. I found this image for reference. I generally use a bit more care in routing the wiring on my protos but you get the general idea:

Image

You can get some boards that have "bus" structures etched into them for things like ground and power.

If you have semiconductors in your design you should try to use sockets to make replacement easier if you let the smoke out by accident. They're bulkier but you'll be glad when you have a fried 28-pin device needing replacement and you don't have to desolder and re-solder all the wires to it... I often use SMT components though you have to be careful about shorting pins together in cases where pins contact the same pad. I find that 0.1"x0.1" pad-per-hole boards allow the use of 0603 SMT components for things like resistors and capacitors. They fit nicely between pads while still allowing good soldering of the wire.

For proto boards, check out Vector:

http://www.vectorelect.com/
#104370
Ok, thanks for the link. I found the 'lost' board that I've got a bunch of. Turns out it was the "Vectorbord CircBord 3677-6". Looks like they run $22+ each nowadays. Can't believe I paid that much for this pile of boards...although they have lasted me for 10+ years.

So...with the 30ga wire...You're just stripping off 1/8" (or less) and laying the end of the wire into the solder of the joint of the IC sockets or whatever parts you're hooking up?
I'm I'm thinking right, once you get the pieces/parts soldered in, get some wire, solder one end down, bend the wire around a screwdriver or something to make nice round bends (vs sharp bends), run the wires in 'bundles' to where they need to go and finish them off. What's the easiest way to strip off that tiny bit of insulation? Just melt it off?

Is that method, for lack of a better word, reliable? I'm sure thousands of people are doing it that way. Just seems to me that a chunk of 30ga solid wire would break off fairly quickly. Does that sort of construction work well with high speed stuff, or just well enough?

Reason I ask is I've got a project where I'm going to be 'networking' a dozen or so PIC18F26K20's at 64Mhz (16Mhz external), connected to WiFi, GPS, Camera, WiiNunchuck, LCDs, F-RAMs, SD cards, OBD2, touch-pads, etc. Not every signal will be required to run at that speed, in fact most of it will be inter-PIC comm's will be done using SPI or I2C, but the edges of those signals will obviously be up there in speed. I suppose I could just slow everything down until it works reliably.

And I suppose this method wouldn't be any faster or slower than using the 3-hole boards that I have been using. Might even be easier. I'm thinking a person could make a short 'bus' by weaving a length of wire along a length of pads to interconnect them, for instance, ground at one end, power at the other end of the board. Ok...now I'm just babbling to myself...

JDG
#104378
skimask,
Here's my $0.02's worth:
1) Have you considered wire wrapping instead of soldering? Wire wrapping is easy to modify, rugged enough for many mobile applications, and much less likely than soldering to cook components. (As a side note, many wire wrapping tools include strippers for fine wire.)
2) SparkFun does offer a number of prototyping boards that have connections among pads. They also offer a board that has a group of one large hole and two small holes per pad, providing a places to solder a component lead and a couple of wires.
Eric
#104380
I've used tri-pad board for this kind of thing (instead of one pad per hole, it has a long pad that covers three holes). I've used magnet wire for the point-to-point wiring, to strip the enamel I just dip the end into a blob of molten solder, and it handily tins the wire at the same time.
#104381
skimask wrote:So...with the 30ga wire...You're just stripping off 1/8" (or less) and laying the end of the wire into the solder of the joint of the IC sockets or whatever parts you're hooking up?
I'm I'm thinking right, once you get the pieces/parts soldered in, get some wire, solder one end down, bend the wire around a screwdriver or something to make nice round bends (vs sharp bends), run the wires in 'bundles' to where they need to go and finish them off.
I'm sure there's many techniques and not all techniques will work in all situations. In general, I tend to solder the two components to be connected in place. I'll then take a length of the wire (e.g. Oki KSW30B-1000):

Image

strip a short length and solder it to one end by flowing the joint and literally sticking the wire into it. I'll route the wire such that I avoid overlaying other joints to avoid interfering with future joints/interconnects, keeping an eye on separations for insulation/safety and even crosstalk avoidance (rare). I'll cut the length as needed to the other component, strip its end and solder it there. Here's a project I'm working on right now, about 1/4 (if that) finished at this point. The wiring you see is between a PSoC and a graphical LCD and I'm doing testing and code development right now:

Image

(NOTE: Look for the 0603 capacitors at the top-right, nestled between pads and see how well they fit...)

I prefer "bundling" for cleanliness and, for me, ease of debugging. I hate seeing rats-nest work but that's a personal thing. Cross-talk will likely never be an issue for most of this sort of thing because you're not likely going to be prototyping high-speed circuits using this method. At "normal" microcontroller speeds crosstalk will never be a problem. If you've got high-currents and/or high-speeds you're probably going to have to do an actual PWB with impedance matching and proper space/trace widths.
What's the easiest way to strip off that tiny bit of insulation? Just melt it off?
I use a tool similar to this:

Image

for stripping that wire. Many manual wirewrap tools have built-in stripping devices. Any decent electronics store will have these things.
Is that method, for lack of a better word, reliable? I'm sure thousands of people are doing it that way. Just seems to me that a chunk of 30ga solid wire would break off fairly quickly. Does that sort of construction work well with high speed stuff, or just well enough?
Keeping in mind it's a prototype, not a finished, hardened product, reliability can be just fine. If lots of vibration or abuse is in the prototype's future, it'll break. You might be able to pot it in conformal coat to harden it but it won't even be as reliable as a proper PWB. Still, there are lots of very old projects that were built in the "old days" with wire wrap still working just fine.

Re high speed: It depends on your definition of "high speed." I've never bothered to try prototyping 400MHz SDRAM -- I'd just do a proper board for that -- but never in my years have I had issue with run of the mill micros and electronics. I recently built a quick proto of a PIC32 connected to a 128x128 OLED and using DMA to send data to the OLED. Signal pulses were on the order of <80nS with quick sub-microsecond edges and the proto seemed to work fine. I would simply use such a proto to validate a concept or firmware, not with an eye to selling or expecting too much out of it.
Reason I ask is I've got a project where I'm going to be 'networking' a dozen or so PIC18F26K20's at 64Mhz (16Mhz external), connected to WiFi, GPS, Camera, WiiNunchuck, LCDs, F-RAMs, SD cards, OBD2, touch-pads, etc. Not every signal will be required to run at that speed, in fact most of it will be inter-PIC comm's will be done using SPI or I2C, but the edges of those signals will obviously be up there in speed. I suppose I could just slow everything down until it works reliably.
A lot depends on the serial clock rate and how solid the board power is overall. If your clock rates are up in ranges where track length on a PWB would matter, forget it :)

This sounds pretty ambitious to build all as one prototype. Is this going to be all on one board or will it be separate boards? You might think about protyping segments of the design as proof of concept and then using something like Sparkfun's PCB connections and just get a board(s) made.
And I suppose this method wouldn't be any faster or slower than using the 3-hole boards that I have been using. Might even be easier. I'm thinking a person could make a short 'bus' by weaving a length of wire along a length of pads to interconnect them, for instance, ground at one end, power at the other end of the board. Ok...now I'm just babbling to myself...
"Busses" are kind of a pain but can be done by connecting more than one 30AWG wire to a node. This way you end up with two or perhaps three connections at one node max, which is really the upper limit of practicality as far as I'm concerned. You could run a traditional data or address bus this way.
By JonChandler
#104382
Not to be too self-serving, but it sounds like my TAP-28 boards may fit the bill. The board supports most 28 pin PICS and provides connectors for I2C/SPI, UART, ICSP, servos and analog signals. All of the port pins are also available on header connectors. Of course, the port pins may be used for the intended function or for general purpose I/O. For example, the UART and I2C/SPI connectors each have 4 port pins, power and ground.

I have a stack of bare boards I'm selling for $10 or 3 for $25, or I can supply the Gerber files at no charge if you'd like to make your own, licensed under a Creative Commons 3.0 agreement.

Documentation for the board can be found here:

http://digital-diy.com/component/conten ... tions.html

There are many illustrations of my uses of the application board at www.digital-diy.com as well.

Jon
TAP-28 small.jpg
You do not have the required permissions to view the files attached to this post.
#104410
@leon - Normally I'd agree 100%. This particular project won't have much in the way of multiple signals per 'bus' on any of the PICs. Shouldn't have to worry about it much. At least I've got a 'scope so I can take a look at the lines and see if anything funny is going on.

@esklar81 - I tried wire-wrapping a few years back. Didn't like it at all. For some reason...just not my bag I guess. And I've seen those PCBs you've linked. I just have to decide which method I want to use.

@winston - That's what I'm talking about. The 'tri-pad' or '5-pad' boards are handy, but aren't cheap. I keep looking on eBay for a stock of like 100 of them for X dollars...a lifetime supply. Maybe someday...

@Blackfin - highspeed - PICs internally at 64Mhz with a 16MHz external crystal. So, the edges will be at 64Mhz. The serial comm's will be, at most, 115.2Kbps, but the SPI comm's will run as fast as I can get them reliably, so 16Mhz on those maximum. Usually too fast for one of those solderless breadboards, but so far, I can get 16Mhz SPI rates on soldered boards without a problem. And I'm not going to be pushing any major current around, just enough to run PICs, and I'm all about decoupling caps sprinkled everywhere, along with a few big ones for 'bulk storage' every once in awhile.
For some reason, I've never seen one of those wire stripping tools, even when I tried wire-wrap awhile back, I just used my fingernails.
Obviously, I'm starting with the core PIC and an LCD, a few buttons, etc. Then adding the other stuff to it, preferably on other boards in stack.
As far as prototyping and such...this is a one-off project for me alone. You know how prototypes go...sometimes they stay that way for life :)
That picture you posted of the half-finished prototype was what I was thinking, but hadn't seen one yet. That looks easy enough, just use some extra wire to create a short bus if needed. What are those 2 large-ish wires in the middle? A ground rail of sorts?


Thanks for all the input folks. Gives me a lot to think about this weekend.

JDG
User avatar
By leon_heller
#104422
With 8-bit PICs the 64 MHz is divided by four, so the relevant frequency is 16 MHz. The signal edges are nothing to do with the frequency, and depend on the switching characteristics of the transistors used in the device.
#104430
leon_heller wrote:With 8-bit PICs the 64 MHz is divided by four, so the relevant frequency is 16 MHz. The signal edges are nothing to do with the frequency, and depend on the switching characteristics of the transistors used in the device.
And again, I agree 100%...normally.
But...That bit of EMI you get while running at a core speed of 4Mhz is a lot easier to deal with than the EMI mess you'd getting running at 64Mhz internally! :)
In fact I've got an old shortwave radio that I use for troubleshooting. If I hear a steady 'mess' around my PICs oscillator freq, I know it's locked up. If the static has some sort of regularity to it, then the PIC must be doing something fairly useful. Then again...that also tells me that my projects aren't very EMI friendly either! :D
#104439
Just remember that sharp edges will contain high frequency components.

I consider 64MHz to be a the lower end of the "high-speed" spectrum but even still, what'll be important here is the quality of power to the devices. In a point-to-point wired prototype if you interconnect all your power and grounds with discrete wires or larger insulated bus wire you're going to be adding a fair amount of inductance to Vdd and between the devices and GND. Even with bypass capacitors at each device this inductance -- which, as all inductances do, resist changes in current -- can cause dirty power overall at the devices and, if bad enough, unpredictable behavior from some of the higher-frequency devices, even if internally clocked at that rate.

A protoboard with "plane" copper pours might be good insurance. Check out some of Vector's different styles to see if any suit your needs:

http://www.vectorelect.com/Circbord.htm
#104449
And yet again, I can't disagree with any of that logic at all.
But...that's why I run my power in one direction on one side of the board and in the other direction on the other side of the board. Cancels everything out...Right? :mrgreen: :lol:

Those vectorboards are what I've used in the past, but at $20+ per board, they get a bit spendy.
Someday I'll figure out which option I'll go with.

JDG