Close

The State of KiCad Hack Chat Transcript 1/2

A event log for The State of KiCad

Wayne Stambaugh from KiCad joins us to discuss upcoming plans and features for 2018

shaynaShayna 01/05/2018 at 20:250 Comments

Sophi Kravitz : @Wayne Stambaugh is leading the chat today! Welcome!

Sophi Kravitz : We have 97 people in here, this is amazing, more than every before ~!!!!!!!

Sophi Kravitz : hello new people

Wayne Stambaugh : I'm here if we want to get started bit early. Nice to see such a good turn out. Been keeping amused by some of the irc comments. Cool to see quite a few Eagle converts!

Sophi Kravitz : the way this works is that Wayne will be the main presenter

Sophi Kravitz : (starting a few minutes after the hour to allow people to get in here)

sheffieldnick : LOTS of KiCad fans :D

Chris Pavlina : yeah, and I still haven't got that coffee!

Chris Pavlina wait for me! ;)

Wayne Stambaugh : Please excuse my slow responses, my hands are killing me from all of the snow shoveling

Sophi Kravitz : we will pull questions from the comment area on the event page: https://hackaday.io/event/28713-the-state-of-kicad

nickoe : Why is KiCad so awesome?

Ashlyn Black : @nickoe because KiCAD

Wayne Stambaugh : @nickoe It's so awesome because all of the awesome devs

Sophi Kravitz : alright, let's get started! Welcome everyone to the first Hack Chat of 2018. we do these on Fridays, EVERY FRIDAY, normally at noon PST

Sophi Kravitz : @Wayne Stambaugh is leading the chat, Wayne, can you intro yourself and tell us a little about what's going on in the world of KiCad?

Wayne Stambaugh : I think most of you know I am the kicad project leader. As many of you probably know we are in feature freeze for the version 5 release.

Ashlyn Black : *vibrates with excitement*

blundar : feels like just yesterday that 4.0 came out.

Linux HA : Can't wait :-)

blundar : What's big changes in 5.x vs. 4.x

Sophi Kravitz : Please put questions in the comments section of this page @Carlos https://hackaday.io/event/28713-the-state-of-kicad

Twisted Pair in my Hair : What are the TOP-5 cool features of 5.0?

Tim : v5 will have S-expression schematic files! Woot! http://docs.kicad-pcb.org/doxygen/v5_road_map.html

Ashlyn Black : Can I maybe suggest peeps look at the roadmap? Lots of info about what features and when they're planned for.

Chris Pavlina : @Tim oof, that part of the road map must not have been updated.

Sophi Kravitz : Hi all the new people! WELCOME! Please put your questions here: https://hackaday.io/event/28713-the-state-of-kicad

Chris Pavlina : it won't.

Tim : :(

Ashlyn Black : oh man perfect timing, @Tim ^^

Wayne Stambaugh : Lots of changes between 4 and 5, spice simulation, step export, complex pad types, all new symbol library editor, completely retooled libraries, etc. See my fosdem 2017 presentation for the full list.

Chris Pavlina : yeah, sorry. that's a biiiiiig feature though, didn't make the v5 cut

nickoe : @blundar notes on new features http://dpaste.com/3ZHN88E.txt

Tim : how about here: http://docs.kicad-pcb.org/doxygen/v6_road_map.html

Sophi Kravitz : FIRST QUESTION is from @oshpark : What is the best way for individuals and/or organizations to sponsor KiCad development? Is the CERN donation page still a valid method to donate to KiCad?

Twisted Pair in my Hair : @Tim Wow! I was waiting for it!

Wayne Stambaugh : CERN is still the place to donate to KICad.

nickoe : Choclolate is also accepted.

Sophi Kravitz : Many people want to help with actual development, is there a way for people to do that?

Wayne Stambaugh : I also am going to demo most of the new features in my 2018 fosdem talk.

Jose Ignacio Romero : the mailing list is the place

Etalian : Is CERN still involved with the development? To what extent?

Frank Buss : doesn't CERN get already lots of tax money for the particle accelerators?

Chris Pavlina : yeah, but KiCad doesn't have a particle accelerator yet

nickoe : @Wayne Stambaugh So many new things, are you not afrait to screw something up?

Chris Pavlina : that got pushed to v6

Wayne Stambaugh : There are lots of places where kicad could use help. Developers, document writers, translators, etc. there is always plenty of work to do.

Sophi Kravitz : QUESTION TWO: FROM @James Lewis : For whatever reason, I feel overwhelmed when thinking about contributing to KiCad. It just seems like this massive project with zero obvious entry points. It’s open source and that’s great. After studying the code base for a couple of years, I bet I can fix that weird bug I just found. ;) So, this leads me to echo Andrew’s point: where is helped needed? And then to add HOW can mere mortals contribute? And and and, where do we discuss this ideas/issues?

nickoe : If there are any technical writes who are bored, the documentation will need some updates to document the new features in a good way.

sheffieldnick : 2017 fosdem video/audio: https://archive.fosdem.org/2017/schedule/event/kicad_status/

Wayne Stambaugh : @nickoe I'm sure we will break something, this goes with saying. Hopefully the breakage will be kept to a minimum

todbot : 2018 fosdem talk https://fosdem.org/2018/schedule/event/cad_kicad_v5/

nickoe : Even Tom's demo showed bugs :)

John T Eaton : What do I have to do to get my developers application accepted on LaunchPad ?

nickoe : Poke Wayne

John T Eaton : Poke with what? A stick?

Wayne Stambaugh : @John T Eaton join the kicad developers list and start contributing. It's a matter of time and commitment to get lead developer status.

Sophi Kravitz : How many outside developers are there?

Chris Pavlina : outside developers come and go so it's really hard to put a number on it

Wayne Stambaugh : There are a few developers who contribute patches here and there but most of the contributions are by regular contributors.

nickoe : @Wayne Stambaugh pending people have been accumulating for some time. https://launchpad.net/~kicad-developers/+members#proposed

Wayne Stambaugh : The learning curve for the kicad code base is pretty steep. It generally takes a while before casual developers can contribute.

Tyler Sisk : Where is the best place to request new features? Or is any of that happening on this chat?

John T Eaton : I thought you had to be a team member before you could contribute to the mailing list

Chris Pavlina : yeah, there's no sugarcoating that. there's a lot of code and, despite a lot of effort to clean things up, it's not the easiest to undrestand

Wayne Stambaugh : @nickoe I have a few devs that I am considering give a field promotion once the stable 5 is released.

Chris Pavlina : yeah, you do - well, sorta, non-member postings can be manually approved. @Wayne Stambaugh might have misunderstood your question?

Frank Buss : @John T Eaton you can also submit bugs, and provide patches like I did ( https://bugs.launchpad.net/kicad/+bug/636830 ) but prepare for some discussion

Chris Pavlina : I assume you're backlogged for joining the list itself

rene poeschl : @Tyler Sisk: for feature request create a bug report and mark it as wishlist. Maybe discuss it beforehand on the forum to flesh out your idea with other users input.

Marek Roszko : another way to put it, CAD programs are never simple, no amount of code cleaning is ever going to make code simple either. however nothing prevents one from learning and growing as developer to get into it.

Wayne Stambaugh : @Chris Pavlina as always external patches are considered but we really don't get too many of those.

Chris Pavlina : I concur with @rene poeschl on the forum actually being a pretty good place to discuss and round out ideas for features before submitting them formally

Sophi Kravitz : Since we're talking about NEW features, let's talk about the ones we already have, this question is from the comments : In your opinion, what are 1 to 3 features (or capabilities) of KiCad that you feel most users overlook or don’t appreciate?

bstguitarist : Would a easier way to contribute to KiCad be to work on plugins instead of base code?

Tyler Sisk : Ok awesome thanks!

Wayne Stambaugh : I think pinning down a feature request on the forum is a good idea before submitting to bug tracking system

Chris Pavlina : @bstguitarist unfortunately, there isn't really much of a plugin framework

Garrett Mace : that would be super cool

Garrett Mace : a plugin to implement a python-based live command line, for example. sort of like kicommand

Wayne Stambaugh : @bstguitarist the only plugins are for boards, schematics, libraries, and 3d models which require some skill

Chris Pavlina : lol, I think there's so much chatter in here it's a bit easy to get lost as to what the actual question being asked is

Seth Hillbrand : There are a few bugs that the bug squad has tagged "Starter" over on the tracker. (https://bugs.launchpad.net/kicad/+bugs?field.tag=starter&orderby=status) These might be an easier intro point

Chris Pavlina : @Sophi Kravitz I know that was for Wayne, but I'll throw in mine: the entire OpenGL-based router framework. it was one of the Big Deal features in 4.0 and I still see a surprising number of new users not realizing it's there

Chris Pavlina : it'll be the default in 5.0

Garrett Mace : yay!

Chris Pavlina : and it makes complex boards sooooo much easier.

Michal : Are there plans to make the PCBNEW GAL canvas workflow compatible with the one known on the legacy canvas? I try to switch to OGL but still find myself to switch back to legacy to do stuff.

Stephen : I believe the current Official question is "what are the top 1 - 3 most overlooked or underappreciated features?"

Frank Buss : right, the push-and-shove feature is pretty cool, I discovered it only recently

Garrett Mace : I think "default" means all necessary functionality is moved to OpenGL...right?

Chris Pavlina : @Michal the aim is for it to totally replace the legacy canvas, supporting all features the latter has. I think it's about there now

Garrett Maceyay! (again)

Chris Pavlina : working the exact same _way_ is not a goal - the new system allows the tools to work in ways that weren't even feasible before, so we're rethinking the UI

Wayne Stambaugh : Eventually the legacy canvas will be removed. Until it has complete feature parity with the legacy canvas I am not willing to kick it to the curb. We are close though.

Chris Pavlina : but feature parity is very much a goal and either accomplished by now or close to it

Garrett Mace : I saw someone implement curved traces....on legacy canvas :(

Michal : @Chris Pavlina thanks 4 reply.. I'm on 4.0.7 now, don't know the nighties as I do production stuff with kicad

Chris Pavlina : there is a lot new coming in 5

Sophi Kravitz : Next question in the comments is from @alan_r_cam : It's been a while since I looked at Kicad - how well does it handle RF & Microwave ? Stripline and microstrip?

I can calculate trace widths and gaps elsewhere, given dielelectric and PCB thickness. My biggest hassle has always been TAPERED tracks. (Google: Tapered Stripline Transformer for some excellent examples)

Linear tapers are bad, but you can hack something together using the the flood fill tool (and not limiting yourself to 45 degree angles). BUT - I never managed to get a curved taper.

Is this possible now, with Kicad?

Jose Ignacio Romero :  do production with the nightlies, but i like living dangerously

Wayne Stambaugh : Curved traces are on the version 6 road map.

Chris Pavlina : oooh

Chris Pavlina : awesome, I didn't know that myself

Sophi Kravitz : @Garrett Mace curved traces!

Ashlyn Black : Curved. Swords.

Thomas Pointhuber : only arcs or splines as well

tannewt : Has there been discussion about releasing more often? The nightlies have been significantly better than 4.x for a while mostly because of the default switch to opengl canvas.

Chris Pavlina : the curved traces question is pretty relevant to the official question about RF/microwave

Garrett Mace : https://www.youtube.com/watch?v=gTozg_fqyHY

Wayne Stambaugh : Some of the stripline and RF stuff may be handled by the new complex pad shapes but true support for this will be in version 6 hopefully

Ashlyn Black : Haha you got it, @Garrett Mace

Chris Pavlina : sadly it means the answer is "not quite there yet". I wouldn't call KiCad an RF layout package yet. it's got a decent feature set for high speed digital, but that's about it

Garrett Mace : Sorry I didn't know the video would pop up that big....

Garrett Mace : Ashlyn I didn't even see your comment, i was in Youtube looking for it haha

Ashlyn Black : LOL

Ashlyn BlackGreat minds etc

Sophi Kravitz : Question from @Andrew Sowa : The biggest thing for me is when will the new 3D code be implemented in the main release. I use the nightly build because I want to share step files with ME's but this breaks the ability to share the board design with people using the stable build.

Tyler Sisk : Yes curved traces and the ability to change the shape of trace endings would be so amazing for rf work.

Mathieu Stephan : that and teardrops maybe :)

ajlitt : @Tyler Sisk neck down would be very helpful. that last mil or two routing a diff pair to a chip is fiddly

Ashlyn Black : No tears, only dreams now.

rene poeschl : @Mathieu Stephan i think there are scripts for adding teardrops

Michal : is 4.0.7 going to be the last Kicad4 "stable" release? If so, is switching to Kicad5 going to be smooth when it comes to importing Kicad4 projects? The production move from Kicad3 to Kicad4 required me to overhaul my projects, some of them (old) have been left abandoned in the kicad3 reality due to the hassle.

Wayne Stambaugh : @Andrew Sowa it's hard not to break the file compatibility when adding new features. Maybe at some point we can address this but we have far bigger issues to deal with. Of course using development builds is always at your own risk.

Andrew Sowa : You can hack zone fills to be arbitrary by adding in coordinate code made by the bitmap converter. I successfully did it with a ring for a circular led board.

Garrett Mace : Everyone wants curved traces, teardrops, and RF-specific tools...but I for one would be happier starting with a stable and streamline basic EDA tool and then seeing twiddly features come in

Sophi Kravitz : +1

rene poeschl : @Andrew Sowa if you use stable you can still use KiCad Stepup to export your board as step

Wayne Stambaugh : 4.0.7 is going to be the last stable 4 version. I hope the stable 5 branch will cause less headaches for users but there is always a possibility that there will be conversion issues.

Sophi Kravitz : Next question from the comments: The measurement tool and graphic tools have seen a couple changes over the nightly builds. What direction are these going? Arcs are always tough to manage because of the center, radius, degree orientation. There is typically one side of the arc I have to manually connect by making a small line to fill the gap. If I don't do this it breaks some 3D features.

Ashlyn Black : There's a unified GUI change planned for v6 according to the roadmap

Andrew Sowa : stepup takes to long to manage for me. I need to pop into a meeting will keep this up to read later.

marmelada : I don't use Kicad, so please enlighten me - is it possile to set up drc rules for many differential net classes?

Paul Stoffregen : FWIW, I've been using teardrops pretty regularly. They allow more drill tolerance. Really does help with yield at volume.

Ashlyn Black : @marmelada yessum

Sophi Kravitz : @Andrew Sowa we'll post a transcript after the chat

Twisted Pair in my Hair : Will it be ever possible to fill copper polygons with texture like this? Is it on roadmap?

Alin Micu : I would love to have a feature to automatically duplicate layout of identical groups of components (think of "Copy Room layout" in Altium)

Wayne Stambaugh :  don't there have been many changes to the graphics drawing tools between now and the stable 5 release since we are in feature freeze

Sophi Kravitz : Also a comment from @Wayne Stambaugh himself (on the comments page): I should have mentioned the massive amount of work done to the symbol, footprint, and 3D model libraries recently. If you haven't seen the work, check it out on the KiCad website http://kicad-pcb.org/libraries/download/

Wayne Stambaugh : Grouping support is on the version 6 road map and depends on the schematic file format.

Acuario : I'm using 4.0.3 and library management is torture. Is this improved or are there plans to improve it?

ceneblock : Thanks @Sophi Kravitz saves me from writing a new question..

Jordi Orlando : @Alin Micu +1

Sophi Kravitz : question from @ceneblock : Are there plans to incorporate an autorouter in or are we still going to be using third party?

rene poeschl : @Acuario that is a very generic statement that makes it hard to know what your difficulties are.

Chris Pavlina : @ceneblock we already _have_ an autorouter, unfortunately I don't think it's very good and that's a bit necessary because autorouting is a Hard Problem

Chris Pavlina : I doubt we'll be spending any development time on autorouting beyond that

Chris Gammell : good

Chris Gammell : ;-)

Sophi Kravitz : I feel like we could have a chat just on autorouting

Frank Buss : FreeRouting works pretty good

Chris Pavlina : doing that well is a project of similar magnitude to the entire existing kicad

TheBestJohn : @Acuario I think we're on the same page as to what I'm asking

Wayne Stambaugh : @Acuario what do you mean by torture. The stable 5 release is going to revert to local footprint libraries instead of github but the footprint library table will still be in place. This will only effect new users because we don't what write over top of anyone's footprint library table

Sophi Kravitz : hi @Chris Gammell

Chris Gammell : hi

Sophi Kravitz : there are a few questions about the footprint libraries

W5VO : I would love a better way of "ripping up" traces that manages all those tiny segments near pins better

Chris Pavlina : @Wayne Stambaugh don't forget _symbol_ libraries. libedit was an abomination before and it's been improved a TON

Acuario : Sorry, generating footprints and managing the tables/file locations etc. For some reason it causes me grief every time I try to do anything

Wayne Stambaugh : Autorouting is a complex issue. I never used one that gave me the results I like except on the simplest of boards.

Sophi Kravitz : hey everyone! please put your questions in the comments on this page: https://hackaday.io/event/28713-the-state-of-kicad

min : hi

marmelada : mentor xpedition?

Wayne Stambaugh : maybe someday we can add autorouting to kicad but it's not on the immediate horizon

Sophi Kravitz : next question: Question: is eeschema format going to be changed to S-expressions similar to kicad_pcb format? Is OpenGL/Cairo render going to be implemented for schematics (similar to pcbnew)?

Sophi Kravitz : (from @Twisted Pair in my Hair )

Tyler Sisk : 'Never trust the autorouter'

Frank Buss : for me FreeRouting is always a good start, you can see where you should move components or swap pins when it is done

rene poeschl : @Acuario if you set your libs up once it should work quite well. (Maybe come over to the forum and we can go into more detail there.)

Chris Pavlina : FreeRouting is a surprisingly good autorouter, as autorouters go

Chris Pavlina : no speculation as to why >:)

Wayne Stambaugh : Eeschema is going to be ported opengl/cairo (gal) during v6 development

Ashlyn Black : AutoRouting would be a good candidate for machine learning and neural networks.

Chris Pavlina : quite possibly

NikiSchlifke : @Ashlyn Black agree, and things like tensorflow should make it easy to implement

Garrett Mace : I think autorouting could be abstracted as a general mapping/pathing problem and dangled in front of math and algorithm geeks like a tasty treat. it would be great to have it solved in a general way and then just implemented in every EDA

Marek Roszko : @Garrett Mace the problem is general mapping is pretty worthless for good autorouting

Eric : I've seen a youtube video with a demo of curved traces but I have no idea how I might do that. Custom code branch? Some plugin or Library missing? Secret command line switch? Anyone have an easy answer?

Marek Roszko : Altium has amazing autorouting

Sophi Kravitz : next question: is eeschema format going to be changed to S-expressions similar to kicad_pcb format? Is OpenGL/Cairo render going to be implemented for schematics (similar to pcbnew)?

Also about eeschema, next question is from @Dan Weatherill : following the development for the last few years, it seems pcbnew has leaped ahead in terms of usability and features (e.g. pns router, openGL rendering). Is there now going to be more of a focus on eeschema to help it "catch up"?

Wayne Stambaugh : I've seen proposals for using chemical heat maps for footprint placement and routing that looked interesting but I'm not sure how far the ever went.

Ashlyn Black : Altium also has amazing licencing costs ;3

Marek Roszko : yes but im just saying

Garrett Mace : @Eric that was done on legacy canvas so we're no closer

Sophi Kravitz : @Eric please put your question in the comments here: https://hackaday.io/event/28713-the-state-of-kicad

Marek Roszko : end of the day, you'll probably end up with serious layout deifiencies if you just autoroute using a run of the milll system

Marek Roszko : instead of just doing it by hand

Marek Roszko : Eagle's autorouter has always been pretty scary in that way

paltatech : @Eric its a different branch from a guy that doesnt know how to play by the rules so his code is merged into mainstram

Marek Roszko : and new people unforunately see "O COOL AN AUTOROUTER" and use it :/

Marek Roszko : without understanding the reprecussions

Chris Pavlina : @Marek Roszko discussing the merits of autorouting in general is probably why there's so much confusing chatter here right now

Chris Pavlina : can we kicad?

Ashlyn Black : "Never trust the the autorouter"

Wayne Stambaugh : Eeshema will be the focus of v6 development in order to provide features such as pin/gate swapping, grouping and forward/backward annotation with the board editor

W5VO : There's definitely some scar tissue that comes with a "naive" usage of an autorouter

jamesonbeebe : @Ashlyn Black True story...

Chris Pavlina : @Wayne Stambaugh that sounds awesome. I really hope I can get more time to work on it when we go back into full throttle development

Garrett Mace : I consider autorouter to be one of those fiddly optional features i mentioned earlier, not essential to a stable EDA

Sophi Kravitz : Next question from @NikiSchlifke : Did any of you use @Dave Vandenbout 's skidl, a python tool to programmatically build netlists instead of using the schematic editor? Which other scripting functionality do you want to mention and can KiCad scripting be used as a python library rather than using a built in interpreter?

Discussions