Sugestion for the programmers amongst us.

Started by alparent, December 12, 2009, 04:05:57 PM

Previous topic - Next topic

alparent

How about a automatic breadboard layout tool.
Something that can take a schematic from something like Eagle and then automatically layout the components on the breadboard.

I like to breadboard my projects before I make a PCB of it. But figuring out parts layout on the breadboard is a pain.

Don't know if this as ever been discussed before?

R.G.

Yeah, cool.

It's A Simple Matter Of Programming.   :icon_lol:
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.

alparent

I know, I know  :icon_redface: ....... be indulgent with me ............... I'm no programmer so I have no idea how big a project like that would be!  ???

If I could write it ............... believe me I would! And I would give it for free as a gift for all the help I have received from this site.

I'm what you could call NEW to this stompbox making thing (About 6 working effect up to now!)

I don't post alot, just reading other posts and I'm sucking in info in like a sponge.

Maybe with time I will be able to skip the breadboard step..............but for now...........

morcey2

I'm a software engineer and I work with quite a few people who are EE's that also program.  All of them have said that any type of auto-router for electronic circuits is one of the hardest programming problems in existence.  Every component/interconnect that's added increases the job to be done exponentially.  For logic circuits, it works ok, but there aren't as many issues there.  When you're talking audio, to approximately mis-quote R.G. "the designer starts screaming for a human PCB Artist." 

On a related note, one of our account reps came to us a couple of weeks ago asking for a specific feature.  When we told him that not only was what he wanted more complex than anything that anyone in our industry had ever attempted, but that we had already decided not to do it because the return-on-investment would be so small.  He informed us that we needed to do it because he had just promised it to a very large potential customer.  We were supposedly almost ready to put it into beta in the next week or so and they'd be able to play with it then.  My boss handed him a bunch of programming manuals and told him he better get learning real quick.

I'm not attacking you at all, just pointing out the gap between describing a problem and a possible solution, and implementing that solution.  To quote something I heard earlier this week, "Nothing's impossible to someone who doesn't have to do it."

On top of that, so much of layout is a matter of taste and personal preference and that's really hard to program.  Especially considering the lack of taste that most programmers have.  Trust me.  I are one.

Matt

Rectangular

its pretty fun to hit the "auto route" tool in EAGLE and watch the program squirm at making a board layout from the schematic. at the end of the day, this is still something human brains are going to do better and faster. maybe in 100 years we'll have the computing power to solves these kinds of problems.

snap

Quote from: Rectangular on December 12, 2009, 09:43:49 PM
its pretty fun to hit the "auto route" tool in EAGLE and watch the program squirm at making a board layout from the schematic. at the end of the day, this is still something human brains are going to do better and faster. maybe in 100 years we'll have the computing power to solves these kinds of problems.

maybe we`ll have the programming power a little earlier?

ubaid88

Lets be practical, i agree it is possible to create a software like but it will be very complex. No individual can do this. Like as mentioned above most software programmer are not EE. And similarly EE are not involved that type software like designing a software. I am myself EE student i know that. Only a software companies can do this and everyone knows that how much it will costs to get a software designed. And even such software exist. It will be very complex and will take too much time. Take example of auto-routing pcb software. It always outputs craps. An individual can design a way better pcb manually.

So only cheap and quick solution for this is that get hang of breadboard.

alparent


JKowalski

I never really thought breadboarding took much concentration or thought - maybe it's because I make somewhat messy breadboards - but I can lay out a complicated circuit on my board in no time at all.

It really helps when you have your parts all organized and easily accessed, a clear schematic in front of you, and a big one: the pinouts of common IC's and transistors memorized.

Once that's all down, I just plop the IC's along the breadboard, giving each enough space for the components associated with them, and in a logical order down the board... Connect the power pins to everything and build a Vref on the end of the board.... Then start laying in the passives.


alparent

Maybe that's my problem? Giving it to much thought? I only have one of those little breadboard and I try to use as little space and jumpers as possible.
Maybe that's my problem? Maybe I should just get a bigger board! (Let's add this to our next order list!)  ;D




morcey2

Quote from: alparent on December 14, 2009, 08:55:53 AM
Maybe I should just get a bigger board! (Let's add this to our next order list!)  ;D

I did.  It didn't help much.  Anything I bread-boarded still looked like a Mouser catalog threw up on it. :)

bobp1339

I bought several of the larger breadboards from Futurlec (http://www.futurlec.com/Breadboards.shtml) I mounted them on a piece of wood side by side.
This allows me to grow a circuit as large as I want to.

When first going thru a schematic, I breadboard it very large on purpose.
I try to spread out the different areas of the circuit onto different areas on the breadboards.
This allows me to troubleshoot any issues very simply.

Yes, it usually looks like a scrap bin from a wire manufacturer  ;D but since it's not a final circuit, I don't care how it looks.
"I love the smell of solder in the morning..."

...Bazz Fuss, EA Trem, Ross Comp, MXR Env Filter, Orange Squeezer, custom bass preamp...
http://chindigband.com

bobp1339

Oh, plus, I am a software developer. I cringe when thinking about trying to automatically convert a schematic to a layout.

Something that the human eye/brain combination can quickly see takes many, many lines of code, and a LOT of forethought by the developers.

Doable, but not cost effectively yet.
"I love the smell of solder in the morning..."

...Bazz Fuss, EA Trem, Ross Comp, MXR Env Filter, Orange Squeezer, custom bass preamp...
http://chindigband.com

David

Quote from: morcey2 on December 12, 2009, 09:34:46 PM
On a related note, one of our account reps came to us a couple of weeks ago asking for a specific feature.  When we told him that not only was what he wanted more complex than anything that anyone in our industry had ever attempted, but that we had already decided not to do it because the return-on-investment would be so small.  He informed us that we needed to do it because he had just promised it to a very large potential customer.  We were supposedly almost ready to put it into beta in the next week or so and they'd be able to play with it then.  My boss handed him a bunch of programming manuals and told him he better get learning real quick.

Whoa.  Dude, the account rep promised the "impossible dream" would be in beta test the next week?   :o
Yeow!  Sounds like where I work...

I hope after being handed the manuals, he was run through the gauntlet, tasered and then shot...   :icon_mrgreen:

iaresee

Ah! Well, now your on to a subject that's near and dear to my heart...mostly because it keeps food on my family's table.  ;D

Quote from: ubaid88 on December 13, 2009, 06:20:11 AM
Lets be practical, i agree it is possible to create a software like but it will be very complex. No individual can do this. Like as mentioned above most software programmer are not EE. And similarly EE are not involved that type software like designing a software. I am myself EE student i know that. Only a software companies can do this and everyone knows that how much it will costs to get a software designed. And even such software exist. It will be very complex and will take too much time. Take example of auto-routing pcb software. It always outputs craps. An individual can design a way better pcb manually.

So only cheap and quick solution for this is that get hang of breadboard.

Hmm...what year are you? I guess you haven't taken a VLSI course yet, eh? You'll spend an entire semester in 4th year in front of a Cadence or Synopsys product if you take VLSI. Guess what their CAD tools do?



Wait for it...




Wait for it...





Automatic layout of large, monsterously complicated electrical circuits.

(Bet you saw that coming, eh?)

There's a whole industry dedicated to CAD tools that do physical layout. No one lays out by hand in the microprocessor world. They might check and tweak by hand, but by and large the layout is done by tools like Cadence's Alegro or IC Compiler in Synopsys' Galaxy tool suite. No human has the patience to place and route the billions of transistors that are in modern ICs. Altera's Stratix IV FPGA: 2.5 billion transistors. No way a human is getting that design done, from inception to production silicon, in anything less than their own lifetime. ;)

The companies that build these tools tend to employ Computer Engineers (guys who have a degree that deals with both Electrical Engineering disciplines and Software Engineering disciplines) or Electrical Engineers who can program and maybe a few Computer Science PhDs to do algorithm-type stuff. But those guys have got to bone up on their electronics to really cut it in the CAD tool design business.

You were right about the software being massively complicated. It's also prohibitively expensive (it's in that: if you have ask... category of cost). But the fundamentals of place and route are actually well studied academic problems. As such there are some free place and route engines out there, but most of them want to work with blocks. More system design oriented, than analog circuit oriented. The paid version of EAGLE does a pretty decent job of P&R for analog designs. OrCAD PCB Designer is another good one.

If you really want to try rolling your own place and route engine there's a great starting point available to you: VPR is a state of the art place and route engine that incredibly modular. It was originally designed for block placement for FPGA-destined designs but over the years its been adapted for all kinds of place and route problems -- including some analog PNR problems. Most of it is academic research, so the success rate for the analog PNR adaptions is low. :) But there's a starting point if you really want to try this...

morcey2

Quote from: David on December 14, 2009, 04:32:18 PM
I hope after being handed the manuals, he was run through the gauntlet, tasered and then shot...   :icon_mrgreen:

Kind of.  There are so many things between tazered and shot that we might not finish them by the end of the year.

bbmonster

Quote from: David on December 14, 2009, 04:32:18 PM
Quote from: morcey2 on December 12, 2009, 09:34:46 PM
On a related note, one of our account reps came to us a couple of weeks ago asking for a specific feature.  When we told him that not only was what he wanted more complex than anything that anyone in our industry had ever attempted, but that we had already decided not to do it because the return-on-investment would be so small.  He informed us that we needed to do it because he had just promised it to a very large potential customer.  We were supposedly almost ready to put it into beta in the next week or so and they'd be able to play with it then.  My boss handed him a bunch of programming manuals and told him he better get learning real quick.

Whoa.  Dude, the account rep promised the "impossible dream" would be in beta test the next week?   :o
Yeow!  Sounds like where I work...

I hope after being handed the manuals, he was run through the gauntlet, tasered and then shot...   :icon_mrgreen:

Same here except I'm at a small company and the VP promises the world to clients.

But getting back to the original question, very hard for any one individual to come up with such software. Maybe a bunch can come together and create an open source project for the fun of it. Or here's an idea if you don't want to wait, you could just turn on the grid when laying out components in Eagle and just space them as far as you think they need to fit on your breadboard.