I last needed EDA type tools in 2012. Since then, wherever I was employed, I only wrote software and the actual PCB production was handled by a different team.

I'm getting back into doing it all myself, and the tools I used to use (gEDA) are no longer in the repositories of my distros (debian-based).

What is being used these days to do circuit diagrams, PCB layout, etc? First prize would be something already in many repositories (I see a `lepton` tool which I will try out), but I will accept a second prize of FLOSS or consolation prizes of `free to download, but closed-source`).

TIA, I will read and consider all replies seriously.

69 comments
  • junon2y

    Kicad. Went from zero to fully working, quite complex digital board with it.

    A few tips:

    Use ultra librarian for parts when possible. They're usually better.

    Making your own footprints is a pain but necessary sometimes. FreeCAD is another OSS tool that also has its rough edges but is good enough. Use the sketcher tool and the datasheet to build up all the lines you'd need (including for cutouts, pads, silkscreen, etc), export as DXF, then import into KiCad's footprint editor. You can then switch layers for each line or use them to position pads such that they're fully accurate and you don't have to think too hard about offsets and whatever.

    Find (or make!) a good part manager if you're populating your own boards. I wrote some simple REPL around sqlite in Node.js for working with parts, and have a cheapo barcode scanner from Amazon to work with mouser IDs and the like to "check out" parts as I populate. In hindsight, I wish I had written it in Python. I also use this tool to convert the BOM kicad exports into a more reasonable format for buying. I also subtract away the parts in the DB I already have so I don't keep buying extras of stuff. Just an idea.

    • phkahler2y

      >> FreeCAD is another OSS tool that also has its rough edges but is good enough. Use the sketcher tool and the datasheet to build up all the lines you'd need (including for cutouts, pads, silkscreen, etc), export as DXF, then import into KiCad's footprint editor.

      For 2D dimensioned drawings Solvespace is much smaller and simpler. You can also use it to create 3D part models exported as Step, but it could use a bit more work for that use case.

    • SOLAR_FIELDS2y

      It’s great that FreeCAD is FOSS and it is good for simple enough use cases but I had to ditch it for fusion 360 for my use case, it just can’t do things I needed for injection molding well like negatives and chamfers and other subtle angular operations of parts. So take into consideration what you’re doing. IMO for something precise like this use case it may not be good enough

      • MegaDeKay2y

        There is some good work going into FreeCAD right now. They're putting more structure into the project and working on some much needed fixes that will be big QOL improvements. A fix to the topological naming problem is due in the next release, for example.

        https://ondsel.com/blog/ondsel-365/

        • SOLAR_FIELDS2y

          This is awesome but the fundamental problem with FreeCAD is that it uses OCCT under the hood which has some pretty fundamental flaws. Unfortunately one does not simply write or replace a geometry kernel so there’s not really a solution on the horizon for a lot of stuff that OCCT doesn’t do well. There have been some efforts at a newer better open source geometry kernel but writing a geometry kernel that supports everything a 3D modeler needs is a massive undertaking

          Just to put a very simple use case that is common that I ran into that made me switch to fusion 360. I was designing an enclosure and needed to add a few things that make the part pop out of the mold easier. One example is if you have a box you might build the floor of the box meeting the wall with a 90 degree angle. But a mold actually wants that at a 91 ish degree angle else it “hugs” the inside of the mold as the plastic contracts. Changing this is a trivial 2 button operation in fusion 360. Doing it in freecad is, uh, basically the opposite of that

          • faeranne2y

            FreeCAD has some pretty hefty backing from the likes of Opulo, and a history (like KiCAD) of working with CERN and other groups like them. Fusion def has a larger laundry list of features, but if the question is "What open source cad tools exist" (and given the question is explicitly asking about open source electronics design, so I'd assume they want to stick with open source for model design too), then the answer is gonna likely be either FreeCAD or OpenSCAD. And given that most popular cad and edm software has repeated pushed back on the open source community (and given they are profit driven companies, they eventually have to), I don't blame a person for seeking exclusively open source tools. It's the same reason I decided FreeCAD's flaws are worth working through. I already had both Eagle and Fusion force me to scramble to recreate projects before, I wouldn't wish that upon anyone else who is doing this under- or at-cost.

            • OJFord2y

              > pretty hefty backing from the likes of Opulo

              ... A two-man band YouTuber and his mate bootstrapping their first product?

              It's a cool product, admirable work, and great that they're supporting FreeCAD (even just in awareness by using it), but can you seriously call it hefty backing from the likes of?

            • SOLAR_FIELDS2y

              Totally agree. Just trying to help other people prevent the same thing that happened to me, which was spend time investing in a tool significantly in the design phase (FreeCAD) and then find out the tool just straight up couldn’t meet the requirements I needed it to. So in my case the question is “what open source tools exist that can do XYZ” and the answer is, unfortunately, none of them. So check and make sure XYZ is possible with FreeCAD when you evaluate it and don’t assume like I did that because it’s mentioned in the same breath as something like Fusion360 that they are equivalent enough.

              A lot of FOSS tools are often “XYZ is possible but requires 10-30% extra work to achieve”. FreeCAD is not like that in a lot of cases, it’s more like, “XYZ is not possible without rebuilding your model from the ground up, every time”. Which is obviously not something you can do on a product you need to be constantly iterating on. If you’re at home doing a one off to print a piece of your chair that broke that’s totally fine though.

              I also love OpenSCAD and its design philosophy and to be frank as a software guy would love if all 3D modelers worked like OpenSCAD. But it also is just far too limiting to do anything professionally like the kind of stuff I mentioned in my parent comment.

              I’m always preferring FOSS if I can. FWIW I used KiCAD for the chip design of the product I was working on and it worked beautifully. KiCAD has absolutely come into its own in the last decade or so and is basically a full enough featured alternative that you can select it over its closed source competitors with few qualms. Not so much the case with FreeCAD. Also FWIW KiCAD also uses OCCT under the hood - but an EDA has such fewer requirements of a BRep than a 3D modeler does there is not an issue.

      • junon2y

        In this case, footprint landing pads are extremely simple. I do agree about the solver though, I've run into so many issues with it that should be simple but end up either stalling or conflicting in ways it shouldn't.

    • 5ADBEEF2y

      the crustier EEs among us have been burned by downloaded symbols. It’s often better to make your own symbols and footprints unless you have a high quality source from the manufacturer. Even then, some symbols are not organized in a logical way. I personally make all symbols/footprints not in the kicad standard library.

    • ruslan2y

      > Use ultra librarian for parts when possible. They're usually better.

      Can you please explain why / in a what way they are better ?

      • junon2y

        They have better footprints and usually more fleshed out symbols that are more visually descriptive. Component Search Engine has more but I've had a few erroneous footprints fall through and they're usually larger or missing things like courtyards etc.

        UL also has better 3D models, and more often.

        Also, UL often has human-verified or -engineered footprints for more exotic pieces, and splits out things like VDD/VSS into multi-unit symbols unlike CSE. Helps with organizing complex schematics.

        The advice I often see is "make all your own footprints" which I agree is a good skill to have but when you're trying to quickly prototype a board and get something done it's not really feasible or ergonomic in Kicad. The amount of different windows you have to go through to populate e.g. mouser/digikey/arrow part numbers to get a usable BOM export is tedious work.

        I actually wrote a chrome plugin that scrapes UL and mouser for all of the information then loads it into an existing Kicad symbol library with the models. Took some effort but for some reason this isn't a standardized thing which is a nightmare.

        • ruslan2y

          Thank you! I use standard KiCAD library for 95-98% of components, the rest few I design by myself. I've never had any issues with automated assembly. Anyways, I will check into UL.

          I admit that KiCAD libs sometimes has broken 3D models, for many components 3D models are missing.

  • mmac_2y

    Kicad is the best free EDA I've used and I know many others that use it. The active development and large community make it a no-brainer.

    I use Altium professionally ($$$) and I feel like Kicad could cover most of the boards I work on. FYI I've seen a few advanced PCB's done in Kicad successfully - just not sure how much manual calculations/work they had to do.

    Kicad + the cheap online PCB vendors are a killer combination.

  • frankplow2y

    KiCad is by far the best. It is not as powerful as commercial tools: a lot of its high frequency design tools are simple calculators, and so a lot of manual work is required where you would simply set constraints in other packages. It has a neat design rule scripting language which you can use to ensure your requirements are met though. I’ve done a couple boards with frequencies up to the UHF band and don’t think I’d want to go any higher in KiCad. That being said, for simple boards it’s plenty powerful.

    • huppeldepup2y

        up to the UHF band and don’t think I’d want to go any higher in KiCad
      
      Didn’t Michael Ossmann create the HackRF on Kicad?
      • junon2y

        You can do anything in kicad; altium isn't doing anything special to make something possible that's not possible in kicad.

        The problem is that it's exceedingly tedious to do in kicad some of the more advanced things that altium and others can do.

        Think C vs C++. Nothing C++ does is inherently impossible in C (in terms of observable side effects). For example, RAII is a one liner in C++. In C, it's two lines and some extra thought about control flow. Not impossible, just a bit more mental overhead.

        • 2y
          [deleted]
      • frankplow2y

        Yeah it’s certainly possible, it’s just personally I found it tedious.

        • huppeldepup2y

          ah ok, I read it in the "I recommend" sense.

    • Tryanasorus2y

      +1

      Horizon is beautiful. The creator has also recently started working on a 3D modelling program (Dune3D) in the same style which I am very excited about.

      • phkahler2y

        >> The creator has also recently started working on a 3D modelling program (Dune3D) in the same style which I am very excited about.

        I kind of wish he talked to us about doing a version of Solvespace using OCCT instead, but he's got a lot of good ideas and it will be nice to see where he goes with Dune3D. I can see its Solvespace roots!

        Solvespace NURBS shells are completely separate from the sketch entities and constraints, so there's a fairly small API surface to make the change. That separation is also one of the issues preventing a fillet tool though.

    • atoav2y

      Used horizon for many projects so far. Works perfectly fine and the UI is much better than KiCADs

  • tommiegannert2y

    If you're sending things to JLCPCB for manufacturing, easyeda.com is useful. I find the editor somewhat annoying, but the component library is huge, and you can easily order PCBs from JLCPCB and components from LCSC. (They're all the same organization.)

    I personally prefer KiCAD, but use easyeda.com when I don't have KiCAD around. The new nudge router in KiCAD is pretty nice.

    • gte525u2y

      There is a python script[1] that pulls down LCSC parts as kicad symbols and footprints.

      [1] https://github.com/uPesy/easyeda2kicad.py

    • sitzkrieg2y

      easyida and the jlcpcb offerings are good and unbeatable prices but i recommend them only for designs you are ok with considering public

    • kayson2y

      For quick small boards, I don't think you can beat easyeda. They've got a built in community parts library which makes it super easy to whip something together. I made a little adapter to run RCA over ethernet and it took about 15min.

  • curiousfab2y

    KiCad. It's very stable and offers features that some of the professional programs lack. Extensive part library built-in, and easy to extend. Under active development.

  • jopsen2y

    I haven't found a reason to try it yet, but: https://horizon-eda.org/

    Or maybe KiCad.

    • twarge2y

      Horizon EDA is a much better tool than Kicad. It is extremely well written on a modern foundation and as a result it doesn’t need the giant list of bug fixes that kicad constantly receives. Library management is the most fundamental improvement over kicad.

      LibrePCB is also worthy of note and seems aimed at Eagle users. Also fundamentally more modern and solid than kicad.

      • atoav2y

        I am a long time user/contributer to horizon-eda. In fact I made their original landing page at https://horizon-eda.org and designed the logo.

        During that time I created roughly 10 finished (and working) projects using the software.

        The only downside compared to KiCAD is that the official parts library is smaller. But what is in there goes through a review process and is often verified by other builders. There are also fancy things like 3D views, length tuning, alternate footprints, board layouts consisting of multiple boards, ...

        If you are one of the people who has no problem creating their own footprints and always wanted to like KiCAD, but is driven insane by the UX, this one might be it.

        • stavros2y

          I know this is a bit of a useless comment, but doesn't only offering a Windows package prevent most people who want to use this from trying it? Horizon might be amazing, but if I can't run it on Linux, I've closed the tab.

          • eqvinox2y

            I think there's a misunderstanding there, Horizon EDA is available as a standard distro package; there's no "Linux package download" because there's no need for one (and creating packages as a 3rd party is a minefield.)

            • stavros2y

              That makes sense, though the home page should definitely link to something that says that, instead of a single downloadable Windows installer.

          • atoav2y

            Huh? There is a Debian package: https://horizon-eda.readthedocs.io/en/latest/installation.ht...

            I run it both on Windows and Linux and it works fine. The only thing it does not run on (as of now) is OSX, because of some GTK-issue, but once that is resolved there is no reason why it couldn't.

          • Tryanasorus2y

            [dead]

            • stavros2y

              There's a Linux package?! Then it's a massive blunder that the "Download" button on the home page goes to the GitHub releases, where there's only a Windows installer.

      • imtringued2y

        I haven't used Kicad in years. I thought they improved significantly in that time span, while HorizonEDA was stagnating at it's admittedly very good level of quality.

        What I am missing from HorizonEDA is the ability to set constraints to signals/pads such as maximum and minimum current, voltage, frequency or setting impedance targets.

        There is also no easy way to do a simple static current FEM simulation on custom polygon shapes. You can already do this using a chain of four open source tools but it is a lot of manual steps.

        • twarge2y

          I am repelled by the notion that software requires a constant stream of tweaks to be healthy. If you look at the issues on GitHub, there are basically no open bugs there; it's all feature requests.

          You can set a net or net class to have a set of geometric constraints suitable for a particular impedance or current or voltage. This matches or surpasses the capability of every other EDA software that I've used.

          I also think it's unreasonable to ask EDA software for a full on FEM simulation. You wouldn't want to do that with the full board geometry anyhow.

  • highdeserthackr2y

    Following. Inventor of OrCAD CIS (Component Information System) here. Still using an old version of Eagle (7.3.0) before it got neutered by Autodesk. I mostly just use schematic capture for documentation, rarely layout an actual pcb, and just use a solderable breadboard for hobby projects. Kicad has been on my list to check out, comments here most appreciated. Didn't know about Horizon, which also sounds worthy.

  • ruslan2y

    KiCAD. Routing 10 layer PCB with 2000 pin BGA and LPDDR4 was easy.

    Also I desined a fully OSHW FPGA board in KiCAD (RPi style): https://github.com/Fabmicro-LLC/Karnix_ASB-254

  • dvh2y

    I recently did my first pcb in kicad and it was breeze. Not a single crash. It even has 3d view. Is in ubuntu repo. Manufactured PCB at jlcpcb and received 5 boards in 16 days for $4.10

  • StarlaAtNight2y

    For any of you data folks out there:

    In this context EDA is Electronic Design Automation, not Exploratory Data Analysis

  • 0xbadc0de52y

    Kicad is by far the best and most feature complete. I've used it to make dozens of boards.

  • v1ne2y

    Autodesk EAGLE (formerly CadSoft) has a free tier (EAGLE Free) and it's a pretty decent layout program! I made numerous layouts with the standard license when it was still owend by Cadsoft and I found it comparably easy to use. I found a lot of the EDA software had either a very steep learning curve at the start or catered to "professional" workflows such as having different persons that do the schematic and layout that don't matter to me at home. For example, Eagle offered forward-and-backward connection between schematic and layout for a long time, whereas Kicad didn't. Meaning if I made a change in the schematic, I had to jump through hoops to get a netlist change into my schematic. EAGLE was much more focused on the workflow of one person doing the schematic and layout, I felt. Much closer to "getting the PCB layout done", with an easy parts editor to create custom parts etc. The flipside is that it breaks down quickly when you have more than 2 layers, I think. I don't remember any easy tools to e.g. route waveguides or equalize pairs of differential tracks.

    But these days, give Kicad a try. Since CERN poured resources into it, it became a very capable EDA tool.

  • iAkashPaul2y

    Anyone got any recommendations for FOSS Generative Design instead of F360.

    • gunalx2y

      Freecad for the graphical interface openscad, CadQuery or similar for a scripted generative design language.

      i guess webcad (jsketcher ) or dune are options, but i have nothing to say about them.

      • regularfry2y

        Often when people talk about generative design what they mean is topology optimisation. CadQuery isn't the tool for that.

        I've seen basic 2d topology optimisation in FreeCAD, but nothing approaching what some of the paid tooling can do.

  • antoniuschan992y

    Aside from KiCad you can also look at EasyEda (think it’s from jlc), I’m still using diptrace (haven’t migrated to kiCad yet :$)

  • nairboon2y

    There is also LibrePCB: https://librepcb.org/

  • mrWiz2y

    Kicad, by a mile. I use Allegro professionally and would drop it for Kicad in a heartbeat if I could convince my employer to make the switch.

  • iancmceachern2y

    Its kicad

  • jmpz2y

    I've been curious to check out https://www.flux.ai/, but haven't played with it much yet.

  • gremlinunderway2y

    damn acronyms. I was genuinely excited to learn about more Exploratory Data Analysis tools.