Open Source Hardware Definition

C
Hi Ken

Just a couple points:

gEDA does not "suffer" from a lack of integration. It is a *NIX suite and follows the time tested, maximally flexible, *NIX pattern of tools that do one function well and can be used separately or piped or scripted together in new and ingenious ways. Any one piece can be upgraded or replaced.

Integration, like most buzzwords, is a two edged sword.

Integration can make GUIs easier to use and provide some consistency and a few other advantages.

Integration can also produce enormous, ugly, monoliths that are nearly impossible to maintain and extremely difficult to change or improve because at some point a minor change can have obscure and far reaching effects. It also tends to make software inflexible and lacking in APIs for reasonable adaptation.

This is a difference in philosophy and is why Windows requires a fast, modern PC or go home. And the same Linux can run on tiny embedded processors or an IBM360.

It is an important distinction, because I have made entire large, viable, projects myself by simply stringing modules together because they are all written to be used that way as much as possible. It would take man-years to write the whole ball of wax for an integrated solution.

One shouldn't wish for too much integration. The sad part is that the cries for integration are causing too much bloat in Linux too. Fortunately, most can be be trimmed off for technical use, as it's modular bloat.

The other is a minor detail. gEDA is not the parent of PCB. PCB predates gEDA by a long time. It was started on an AtariSt in 1990 and ported to UNIX and X11 in 1994. It's getting a little bloated as well.

Regards
cww
 
Curt,

This isn't a Windows Vs. *nix argument. I've used Linux and windows extensibly and I understand the differences. For programming I use IDEs where they work (and sometimes you are required to such as IDEs for automation tools) but I usually prefer emacs with gnu make where I can get away with it. Generating code files is not a decent analogy for PCB development, however.

An integrated package for PCB development saves you time. Simply put, from an ideal workflow, going from schematic to board should not entail shutting down your schematic, running a script, and then manually importing the changes into your PCB package. The better packages I've seen demonstrated are so integrated that you add a resistor in the schematic and the component appears in the PCB window with the rubber band connections already attached. This is usually a good thing (provided it works).

Curt said:

> Integration can also produce enormous, ugly, monoliths that are nearly impossible to maintain and extremely difficult to change or improve because at some point a minor change can have obscure and far reaching effects. <

I don't believe this is a valid argument. Any added complexity can make things more difficult to maintain, this is a fact of engineering. Living without *valid* features for the sake of simplicity is not always the right way to go.

I don't know if KiCAD really can even approach the ideal level of integration, it seems to be more of a shell that can launch the different applications and generate the netlists, etc. Is this really so bad? I've never used the program, it might really be bad, I just wanted to throw it out there.

Let me clarify that my arguments are based in the realm of trying to design medium complexity boards that are integrated to schematics with hundreds or thousands of nets. The gEDA suite will do this, KiCAD will do this, FreePCB will do this (using TinyCAD). You had designed some SPI boards for the PLC backplane project, but you weren't able to communicate the schematics to anyone else because you did it all on the "PCB" program without schematic integration. Have you used the gEDA schematic editor and the entire workflow to and from PCB? What are your experiences with this? I honestly would like to try some GPL programs, and I haven't ruled out the gEDA suite.

The fact that KiCAD runs on three operating systems is nice for contributors since you aren't souly reliant on the windows crowd or the Linux crowd alone.

KEJR
 
C

curt wuollet

I don't disagree fundamentally with your arguments. If you prefer the IDE style, that's fine. And for the run of the mill commercial designs, $10,000 might even be justified. Or even choosing your OS because that's what the software runs on. But you can't make something Open, that's not, with any of those otherwise sound arguments. And that's what we're talking about is how we achieve truly Open Hardware. If the designs you produce are encumbered by a non-Open license, or if any use of the files requires the purchase of restrictively licensed software, how Open is it? The rest was just the *NIX philosophy of making modules that can be used together. And yes, it is conceivable that Open Software need not be hosted on OSS. I'm sure there are plenty of tools that are more comfortable or convenient than PCB, but I just finished drawing up a DRO "shield" for the *duino and I did it in PCB so that anyone can use the design, improve it, what ever. There are lots of Eagle files floating around and I doubt there will be convictions, but many are in violation of Eagle's license as designs done on the "free" version are being sold. Maybe that's the new definition of Open, the license doesn't matter.

Regards
cww
 
Are we talking about the same thing? I had mentioned checking out an
open source, GPL'ed software called KiCAD and you responded with
arguments about licensing. I also was interested in your thoughts
regarding the schematic entry and netlisting of gEDA and you did not
respond to that.

~KEJR
 
C

curt wuollet

Hi Ken

Actually I didn't respond because I haven't had the chance to thoroughly evaluate either one. I did have yum install Kicad when it was mentioned. It wasn't obvious how to use it, or gEDA, which is installed on this system. The way this came about is because I had a graphics environment talking to a reasonably powerful uP and I have needed a DRO for my mill/drill and I have a kinda crappy Compaq notebook interfaced, and I have one of the low cost digital scales installed, and it came to me how to do it. I needed a tool to write down a schematic ASAP. I might have gone directly to hardware if I had it all, but it needed severe cost analysis, because I have to buy stuff. And these things come to me more or less complete and I didn't want to forget it. So I loaded up the best schematic software I am familiar with, XCircuit, and went at it. The cost of fabbing boards is nearly out of the question in my situation so I tried to find a way to do it on an OTS prototype shield. That clearly wouldn't work so I, very late, decided it needed it's own shield. There were Eagle connector layouts, but they have 0,0 in the wrong corner so I transposed the origin and plopped the connectors in PCB, then the IC's, then the passives and then wired it. My point is that not everyone works in the same way. A net list would have confused the issue and I have never had any luck with analog circuits that are autorouted with the typical design rules.

Now, if someone gave me a complex digital board design job, the usual process might apply. But then, _they_ buy the tools, and I'm certain they wouldn't be interested in making the design accessable and buildable by anyone. But, that is my "market" so to speak, and a design in Orcad or similar wouldn't be nearly as useful. It would be closed to them, very effectively unless they happened to work somewhere with the particular package and they could steal time.

I have found a site that will make the board for $10 setup and $2.50/sq.in. It takes forever, but it's cheap. And they have a spot to put the boards up for sale at cost or with a small royalty. So, they won't knowingly accept encumbered artwork for sale. I have no problem, and the folks that want a cheap DRO for their machine tools are served. It's a whole different system when you _want_ to make a design useful for as many folks as possible. And to be really useful, the firmware and software must be Open as well. The commercial stuff simply won't, legally, let me do this. This system of doing things would be maximally useful for automation gear as well. Actually. a DRO is in that arena.

Regards
cww
 
This is kind of off topic, but did you use a cheap quadrature scale, or one of those "chinese calipers"?

I had looked into doing a DRO with the chinese scales but I was not impressed by the YADRO or the Shumatech stuff in that they both seemed far too complicated for the simple "dual axis with 2 clear buttons" DRO I need. I kind of regret looking at the chinese scales after looking at their mechanical quality. One I got is nice, the other is real scratchy and not very accurate.

KEJR
 
C

curt wuollet

I agree that Yadro and Shumatech are overkill for what most users need and in particular, me. Since the theme is low cost, it will use an OTS Freeduino, the "shield" described, the Chinese scales or converted calipers, this last is quite popular for Z axis, and any old laptop for display. Check out the yahoo milldrill group for details. I'm still changing things, so don't take the drawings too seriously yet. 3 axis and a tach were planned, but I don't know about the tach. No, the Chinese scales don't compete with Heidenhain, but there aren't any good low cost alternatives. IGaging nearly blew this project out of the water with their _cheaper_ scales with a remote readout included. But you don't have to make chips very long before you get tired of squinting at those little LCDs.

Regards
cww
 
You might also want to ask in the forums at "http://linuxcnc.org/". EMC2 is a very active project for CNC software with lots of users. Someone there should be able to make some good suggestions with regards to scale hardware.
 
Off topic, again...

M. Griffin: I think the parallel port with Mach software (and probably EMC2 as well) will take in quadrature signals and display the position on the PC. Surely once you have the data in the AVR sending it out over the serial port and displaying it with a custom program is simple enough. I think the last time I looked the glass scales for doing the
quadrature thing were $150 or so a piece and were chinese origin. At that price they aren't Heidenhain for sure, but probably better than the caliper type scales. I hate buying cheap measurement equipment but at the same time my lathe and bridgeport aren't exactly high end (They were gotten nearly free).

I might look at the igauging stuff again, its so simple, but I do agree that something else out there with a larger display would be best.

Curt, do you have any idea what your shield board might cost and whats on it for components? I was turned off by the YADRO because it was a lot of money for the board and you had to source all of the components if you wanted to make it cheap (Sourcing onesy twosy electronics can get expensive sometimes, especially if you forget something and have to pay shipping twice....).

KEJR
 
C

curt wuollet

Well, the first one will probably be a bit more expensive:^), but I'm thinking less than $50, complete, excluding the scales and notebook. You could, of course spend more if you buy instead of build.

The Freeduino is about $17. The DRO shield bare board is currently $25 for 1, $40 for 2, etc. The components are 2 2N7000, 3 LM339
1 7660H and A few cheap passives. If I have your email I'll send today's schematic. I'm rounding up DigiKey PN's for everything to save shipping. But I think, except for the things sold in qty 10, I should stay under $50. A qty buy on the boards would drop things quite a bit.

Disclaimer:
I haven't built one and I haven't written the AVR code yet. But I think it will work.

Regards
cww
 
Top