I'm building a system that contains several chips (Intel 8085, 4 shift registers, SRAM, 8255 I/O) all connected to a common address and data bus. The highest frequency signals in the circuit are on the 8 MHz SPI bus used by the PIC18 monitor to shift bits (address or data) into and out of the SIPO and PISO registers. The frequency is that high because I want to capture all 8085 bus activity if possible. The next frequency is the 500 kHz (at most) parallel A/D bus.


I just began component placing and routing in Eagle and I've found the task daunting. So challenging that I'm considering scrapping the PCB and completing the entire circuit on a large breadboard, especially considering the fact that the only PCB I've ever designed is a 6x4 keypad in KiCAD which is nothing compared to a system of this complexity. I can't afford to spend a week patiently designing, wait weeks for the board to arrive, solder costly components only to have the board not work. I know mentioning deadlines here isn't cool but I do have a deadline in 3 weeks.

I've asked a question related to this issue before and Chris Stratton said that crosstalk is an issue mostly in theory (also use short wires, bypass, etc) but what I'm looking for some confirmation ("Yes its very doable though...") or a definite no-no ("You can't do it. Go play with something else."). Specifically,

  • Has anyone else here designed something similar on a breadboard and it worked without glitches? No tricks to it but keep the wires as short as possible and bypass power on every rail?
  • What are the odds that someone inexperienced in PCB design could design such a circuit well enough for it to work perfectly the first time after fabrication (at some fab house)? That is, barring any issues with code.

I would test this myself with a breadboard but I'm just about to order the final components needed for breadboard testing or those needed for the final PCB (IC sockets and the like). Which ones I purchase depend on the answers I get from you guys.

  • 2
    \$\begingroup\$ 8MHz on breadboard may be an issue. The stray capacitance on breadboards is huge and will likely kill your signals having tried it before. \$\endgroup\$ – Tom Carpenter Sep 7 '16 at 3:26
  • 2
    \$\begingroup\$ Even someone inexperienced can do a lot to make sure a PCB design works by double/triple/quadruple checking all the schematic, and checking the ERC in Eagle to look for unconnected pins etc. \$\endgroup\$ – Tom Carpenter Sep 7 '16 at 3:28
  • \$\begingroup\$ @TomCarpenter There are only 3 wires that will carry 8 MHz signals (MOSI, MISO, SCK). Keeping the wires as short as possible wont do any good with the stray capacitance? I let the AutoRouter loose before on the PCB and the results weren't pretty. Now I'm doing it myself beginning with high-freq lines but the ratsnest isnt encouraging. My main issue though is with all the arcana of PCB design: distance btw certain types of signals, trace widths, clearances etc. I'm certain I'll miss something. \$\endgroup\$ – SoreDakeNoKoto Sep 7 '16 at 3:42
  • 3
    \$\begingroup\$ You will likely have better luck wire wrapping a board together. Also, complex designs are difficult to create with out errors or faults when using bread boards. \$\endgroup\$ – st2000 Sep 7 '16 at 3:43
  • 2
    \$\begingroup\$ Yes I've done something of this complexity by breadboarding, but don't expect it to go any faster than the PCB process. First rule of PCB layout is placement, placement. placement. Experiment with component placement until the ratsnests are as short and simple as possible. Spend a day doing just that. Or playing planarity.net until you get the hang of it. Then route by hand; autorouters (especially on cheap/free tools) are a mess. And don't expect the first pass of the PCB to work perfectly either - that's what scalpels, Dremels and tack wire are for. \$\endgroup\$ – Brian Drummond Sep 7 '16 at 9:36

In case anyone's interested, I finally built a part of the circuit (PIC + 8 MHz SPI + registers + SRAM) on a breadboard and it worked on first try; the PIC was programmed to write to the first 512 RAM addresses, read from those same addresses and print to the serial port for me to verify.

I use shielded twisted pair wire (taking advantage of the different colours) and I made sure to keep the wires short, especially the SPI lines. I included bypass caps on the rails, though I noticed the circuit still worked even when I removed the caps. In any case, I'm scrapping the design since I just belatedly realized that I have 33 I/O pins on the PIC and the registers are not only unnecessary but make the circuit difficult to build, route and also contribute to load the parallel bus. PCB routing should now be less painful hopefully.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.