I caught up with DJ Delorie at the Renesas Devcon 2010 event and he was kind enough to sit down for 10 minutes and chat about the Open Source gEDA PCB/Schematic design package, of which he is one of the major developers.
What is gEDA?, where did it come from?, and what relevance does it have to the Open Hardware initiative?
http://www.delorie.com
http://www.gpleda.org
What is gEDA?, where did it come from?, and what relevance does it have to the Open Hardware initiative?
http://www.delorie.com
http://www.gpleda.org
Hi Welcome to the Eev blog an Electronics engineering video blog of interest to anyone involved in electronics design. I'm your host Dave Jones I'm here with DJ Delori. thanks for joining us! DJ Welcome! Glad to be here! Excellent! Tell us about who you are and what you do. My name is DJ Delori I'm an employee of Red Hat Systems doing cross compilers, but as a hobby I also like to do electronics I've been playing with Renaissance parts for a long time.
Uh, I'm one of the lead contributors to the Jeta suite of Eda tools and I participate in a lot of the forums and helping people out doing their Electronics with the Renaissance parts or with our Eda tools or GCC questions, cross compilers, etc, etc etc. So what uh part of GDA do you actually work on? The part that I work on primarily is the PC board layout editor. Uh, J consists of schematic capture, layout simulation, and a number of other utilities that work together. My part is primarily the the Circ for the layout engine, the core user interface, uh, the plug-in system, the Uh, some of the trace optimizers, and Reporting and stuff like that.
So can you give us a bit of background history on Jeter where did it start? Where did it come from? What was the Genesis who first worked on it? Each of the different parts of Jeta originated in separate people's projects. Uh, I'm not sure exactly when the schematic capture stuff started. Uh, Le Heesta did the first version of that because he wanted something. The circuit board layout editor started about 25 years ago on an Atari Awesome and it had been ported forward to all of these new systems working its way up through the Athena widgets and and The Motif widgets and finally to Gtk and then eventually we.
We took all of that stuff out. We put in what we call the Hid interface, the human interaction layer and we build the Goys on top of that. Uh, but it's It's gone through many iterations, but there's still some stuff in the code where you can see that it originated decades ago. Um, that there's the the the coding methods that were used and some of the you know names.
that or naming conventions that we would never use today because they're well-known names or are used for regular variables and some of that still shows through. But we've been slowly been migrating the core code up to new code bases. We've been uh, replacing the auto routers with new technology. As that comes around, we've been adding new user interfaces.
there's two two that we support officially, plus batch. Plus, there's I think two or three other projects to add other native interfaces to it using other widget sets. In addition, we use the same interface that we use for the user interface also does all of our postcript exports, the Gerber exports uh, build materials, and somebody's actually putting a scripting engine as an expor. So we we.
We've been working to modernize the interface and to allow us to grow even further. Uh, but but many, many years ago my first encounter with it um, a long progression of events starting with a broken air conditioner resulted in me looking for a a schematic capture and design package for a replacement board for my furnace right and I originally tried Eagle and the first component I placed had the wrong footprint and and the board that it would allow me to do was not quite big enough to fit in the space that I had to do so. I started looking around again and I found Jeta and I found its layout engine and I started working with it and playing with it. And of course it didn't quite do what I wanted. so I changed it. but it did do what I wanted and I really didn't feel like routing all those traces manual. So I went out again and I found a an open source routing engine from Manchester university in England and I made the two of them work together so you could do your layout, push a button and have it auto routed and brought back in and that was the first Auto router that PCB supported. I think now we're on number three.
Excellent! We we replaced that router with a gridless router at one point, and as part of the Google Summer of Code, we sponsored a PhD candidate to add a topological router to the code so no longer are we required to have straight lines when we're doing our Auto rout route curves that s around and fit into things. He's even doing some fantastic work with Trace impedance matching length matching as part of the auto router. Um, the pictures are very pretty I haven't actually seen a work on my parts yet and you've got photo realistic. Uh, Image view.
That was another case of somebody wanted to do something for themselves. Uh, we have. We export Gerbers of course because everybody needs Gerbers and uh, one of our users his name was Ben took the Gerbers as layers in and fiddled with the colors and the stacking and the transparencies in order to get something that basically looked like a circuit board. and and so many people thought that was a great idea that we ended up incorporating that code into the exporter.
So our image exporter has a checkbox for Photorealistic. It was originally called Ben mode right after the guy here because he was the one who put the whole thing together. so it a little check box called Ben mode and eventually we renamed it to to Photo Mode so we can export photorealistic images. and in fact for my lab today I had to have a picture of the board they were going to be using but I had not gotten the board back yet.
Yep! So I took the photorealistic export from the package Mhm and I took a picture of my prototype that was made in my basement with, you know, just lots of wires all over the place. I took both of those pictures and I scaled them to be the same size in gim and I very carefully traced around all the components. He moved each component and I No, Well, no. I made them the same size size.
Yep. So when I cut out the parts of the board, The Other Board showed through and everything was in the right spot including all those little deviations and position. I I moved a few of them that were way off and TW a few things and it looked real. We have so many people that look at these pictures and say oh, you've got boards, no, well, where' the picture come from Well, the Cad package spits them out that way. and of course the next question is, where do you get that package? Are you looking at? Um, introducing Uh, 3D Component Modeling We have a couple of 3D initiatives that we're working on. Um, we do have an option to use the 3D renderer to produce translucent right layers which is very complicated to do or very CPU intensive to do and the GPU can do better. We have one experimental version that allows you to take your board and rotate it so that you can see the stacking orders and the vertical spacing. but we have not quite gotten to the point where we can model the components themselves.
The other free software Eda package Kad does does have 3D modeling so that you can see all of that and we are interested in adding it, but it's just a matter of finding somebody who's interested in doing it and willing to put the time in. What's the difference between Key Cat and and Jeter And they're both open source. They're both open source. They both perform basically the same functions I Think it's more a matter of which one is more comfortable for use.
A lot of people who are new to the packages find that key CAD is easier to use because it's more integrated and it's more like Eagle and it's more of a yeah I I Hate. Hesitate to say it's for beginners because it's still just as powerful. Sure, but it's more keyed towards usability. Use a crossplatform toolkit that makes it a little more consistent and everything is integrated together.
whereas Jeta, each of the pieces is a separate application so you don't have to use them together the way that we want you to. You can spread them out. You can use our schematic capture with somebody else's PCB layout. Okay, or you can go to simulation.
or you can put I like to put huge amounts of scripts between one and the other in order to help me design repetitive circuits and things like that. So we we like to think of You is more of a power user approach. Is there any uh, future in actually blending the two together cuz they're both open source. all the them.
what we like to do is put together a set of converters that convert back and forth between the the file format so that you can pick and choose and go back and forth. Share libraries and stuff like that. Uh, in the free software World it tends to be well I want to do it my way? Well I want to do it my way. and then they do y but we really would like to be able to.
And of course since they're both off the source, there's no reason why we can't do it again. Time someone could come along and go. I like the both best features of both and do a fork of that and been Forks of PCB before as well where somebody decided they wanted a different user interface and they go off and they do their own thing. Yeah, what? uh? user base have you got at the moment for Jeter Do you have any stats on that? I don't have any statistics because people don't have to tell us we don't have since it's there's no license. we don't know how many copies we've sold. Um I Do know there have been a number of interesting projects and it's starting to filter into other things. The most interesting project built with Gaeta is currently a couple million miles away on its way out of the solar system on which probe it. Uh, not one of the ones that anybody knows, but there have been some small probes that have been sent up by universities and and research groups fantastic that are built with Jeta I I Know there's some uh, experiments in the UK where they're putting Jeta stuff into spacecraft.
How many developers are there on jet? Um, it depends upon what you consider developer because there's kind of a really. There's always area between between developers and users. Yeah, and we really only have one mailing list for both we have. we have an internal one for the core developers.
There's oh, probably only a handful of real core developers on the PCB side. Uh, mostly it's me. Y and there's a couple other people that have their pieces that work on it. We have a few other core developers who we kind of take turns.
you know, paying attention. You know life comes by when it's a hobby thing. If something happens, you know? Uh, we lost one developer because his wife had a baby. Yeah, oh well, it happens.
But if you include all of the other participants who add their bits and pieces, we try to encourage people to add things on The Fringe plugins and whatnot. easily dozens. But they range from somebody who's written five lines of code all the way up to people who have written like that student who wrote the topological Auto Rou. Dude, um, do you see Jeter being involved with the Open Source Hardware the new Open Source Hardware stand.
We're trying to promote the idea that if you're making open Hardware it's not really open if the tools you need are not themselves open true now. Kad Jeta. You know, we kind of don't really mind which one you use as long as you use something. but if you use a proprietary package like Eagle or Orcad or Alum to produce a design, is the design really open? Granted, you can use it Mhm for whatever you want, but you can't change it unless you have buy the tools.
So we're trying to encourage the open hardware specs. The initiatives to specify that open Hardware is not truly open unless the file formats are open as well May if at least if you can interpret the files and do something with the files as opposed to have a completely closed file system would' like them to use open source tools. But at the very least, you need to be able to work with the Eda clots. And how much does J cost? Jeta cost? Nothing Completely free. Maybe a penny if you have to pay for your ISP how do you make your money Volume.
Heard this name so many times thanks to DJGPP back in the day, his work on DJGPP helped me and doubtless many others get into programming at a time where compilers were not free and open source operating systems were not that widely used yet.
What a great thing to be able see him in this video so I can connect the name to a person. Thank you DJ Delorie!
Its now almost 1000 videos back to the future.
How time pass…
DJ Delorie was my hero when I was young. I probably wouldn't be the dev I am today without DJGPP. If there's a god, "god bless you", DJ Delorie.
DJ is real.
I heard Valium.
Thanks much again Dave for getting off the beaten track and into some 'free range' territory. I think it takes very special people to give some much of their time to projects they won't necessarily make money from.
I've punned a new term after watching this video and I hope DJ won't be offended at the BTTF movie reference, but I think sometime in the future we might have a term like "that's very Delorian of you…" 🙂
cool…………..but i like to see the green stuff lol…..and things being taken apart….
DJ Delorie's DJGPP was the first C++ compiler I used over 15 years ago.
Hey Dave,
Thanks for interviewing DJ! This was very informative. I've been using a gEDA for about a year now and back in high school (around 2000) I used to use DJ's DOS distribution of GCC, DJGPP. Everyone should check out DJ's website; he's got lots of great stuff there: delorie.com
Here's his 0.5" x 0.5" SMD soldering challenge: delorie.com/pcb/smd-challenge
My favorite part – "How do you make your money? Volume!"
Thanks for taking the time guys, really good to get insight on gEDA.
@Fake00100 Yes, they aren't initials, his first name really is DJ