Readit News logoReadit News
Posted by u/lelanthran 2 years ago
Ask HN: Best open source and/or free EDA tooling
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.

junon · 2 years ago
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.

phkahler · 2 years ago
>> 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_FIELDS · 2 years ago
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
MegaDeKay · 2 years ago
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/

junon · 2 years ago
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.
5ADBEEF · 2 years ago
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.
ruslan · 2 years ago
> Use ultra librarian for parts when possible. They're usually better.

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

junon · 2 years ago
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.

mmac_ · 2 years ago
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.

533474 · 2 years ago
Do you have any example(s) of an advanced KiCAD board?
mntmn · 2 years ago
MegaDeKay · 2 years ago
Another example: the HackRF SDR board was done in KiCAD

https://github.com/greatscottgadgets/hackrf

cushychicken · 2 years ago
Kicad has a bunch of examples of boards made with Kicad on their homepage.

Tons of stuff on par with a Raspberry Pi or BeagleBone Black, with DRAM, eMMC, and PCIe routing, plus all the fine pitch placements for supporting circuitry. PMICs get dense in these applications.

ruslan · 2 years ago
junon · 2 years ago
https://github.com/oro-os/link/tree/master/pcb/link-x86-obt

Not the best laid out PCB or the best project structure. But it works, and it's fairly complex.

frankplow · 2 years ago
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.
huppeldepup · 2 years ago

  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?

junon · 2 years ago
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.

frankplow · 2 years ago
Yeah it’s certainly possible, it’s just personally I found it tedious.
wotwot42 · 2 years ago
Tryanasorus · 2 years ago
+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.

phkahler · 2 years ago
>> 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.

atoav · 2 years ago
Used horizon for many projects so far. Works perfectly fine and the UI is much better than KiCADs
tommiegannert · 2 years ago
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.

gte525u · 2 years ago
There is a python script[1] that pulls down LCSC parts as kicad symbols and footprints.

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

sitzkrieg · 2 years ago
easyida and the jlcpcb offerings are good and unbeatable prices but i recommend them only for designs you are ok with considering public
kayson · 2 years ago
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.
curiousfab · 2 years ago
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.
jopsen · 2 years ago
I haven't found a reason to try it yet, but: https://horizon-eda.org/

Or maybe KiCad.

twarge · 2 years ago
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.

atoav · 2 years ago
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.

imtringued · 2 years ago
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.

highdeserthackr · 2 years ago
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.
mips_r4300i · 2 years ago
Ran across Orcad CIS for the first time last week while downloading symbol files from Intel/Altera. Trying to convert to Altium. Is there any documentation that exists for sucking out symbol info or do I need a full install of Orcad?
highdeserthackr · 2 years ago
Altium claims to have a translator that covers symbols: https://www.altium.com/documentation/altium-designer/orcad-i...