14 ms·
Horizon – a free and open source electronic PCB design package
- tndl 7y agoAs someone who's pretty naive about EDA software, how does this compare to KiCad or Eagle?
- oneiropolo 7y agoI'd like to ask the same question above.
- rspicer 7y agoSame question -- I've been using Kicad on personal and light-duty professional projects for about 5 years (yeah, Altium is the real deal, but when you're making a small run of prototypes for a university lab, sometimes you use the tools you have). It definitely has some rough edges, but it's also got a very established ecosystem, so I feel like Horizon will have to be a massive improvement to compete.
- amaterasu 7y agoI've been using Kicad for the same workloads as you, and Altium + Cadence for heavier ones over the years, and I must say they hit the nail on the head here with their comments about KiCad: https://horizon-eda.readthedocs.io/en/latest/why-another-eda-package.html https://horizon-eda.readthedocs.io/en/latest/why-another-eda... I'll have to find a simple project to test this out on though, because as you say, It needs to be a huge improvement on KiCad to warrant a switch.
- rspicer 7y agoThank you for linking to this. That's a pretty compelling story he's telling, I'll have to give it a go if I can find a low-pressure project to experiment on it with!
- jjoonathan 7y agoSome rough edges? Kicad has a lot of rough edges, and some of the biggest have to do with footprint libraries & sharing, which is the key piece of momentum in this space. Meanwhile, that's something horizon does very, very well. I could see horizon overtaking kicad.
- atoav 7y agoI use horizon for more than a year now and have quite a few pcbs from it in production. What made me pick up horizon was mostly Autodesk's aquisiton of Eagle and kicads messy library concept. Horizon misses nothing (for me) now and has a beautifully efficent UX compared to Eagle and KiCAD. Their library concept is also well thought through, so I don't have the feeling I am wasting my time when I am contributing parts. The downsides are: - you still have to create many parts yourself (but parts, packages, etc are json and generating them can help a lot) - horizon supports only newer OpenGL versions, so if your machine is old it might not run Other than that I'd take it over all the others every day (and I do).
- singron 7y agoI haven't used any of these before, but this LibrePCB talk explains why they wanted an alternative: https://www.youtube.com/watch?v=vu-h5y6tK34 https://www.youtube.com/watch?v=vu-h5y6tK34 Horizon docs have this explanation: https://horizon-eda.readthedocs.io/en/latest/why-another-eda-package.html https://horizon-eda.readthedocs.io/en/latest/why-another-eda...
- roland35 7y agoIt looks like they focused more on a streamlined parts manager, which to be honest is a weak point with kicad. In kicad you need to manage the symbols, layout, and manufacturing info all separately.
- PunksATawnyFill 7y agoWhat about LibrePCB?
- tadfisher 7y agoFor another open-source EDA effort, see also: https://librepcb.org/ https://librepcb.org/
- dang 7y agoDiscussed earlier today: https://news.ycombinator.com/item?id=23059615 https://news.ycombinator.com/item?id=23059615
- karotte 7y agoAuthor here, ask me anything.
- popped 7y agoDoes it support: Differential pair routing Pin swapping... ie a differential pair where the pins can be reversed Pin agnostic routing, ie a MCU or FPGA where it doesn't matter which pin is used Incremental part placement, unlike kicad where all the footprints get dumped on the board in a big mess at the start These are things that bother me most in kicad (it does have diff pair routing) Thanks - looking forward to taking it for a spin
- karotte 7y ago> Differential pair routing Yes, uses KiCad's push&shove router > Pin swapping... ie a differential pair where the pins can be reversed Not really, but swapping P/N in a diffpair is as easy as selecting nets in the schematic and using the "swap nets" tools. > Pin agnostic routing, ie a MCU or FPGA where it doesn't matter which pin is used Not really, but you can draw the connections in the board editor and backannotate them into the schematic: https://horizon-eda.readthedocs.io/en/latest/backannotation.html https://horizon-eda.readthedocs.io/en/latest/backannotation.... > Incremental part placement, unlike kicad where all the footprints get dumped on the board in a big mess at the start Yes, there's list showing all currently unplaced packages: https://imgur.com/ZrvRw46 https://imgur.com/ZrvRw46
- taneq 7y agoBack-annotation and library management are the two places where KiCad really falls down for me (the user interface is janky but works once you get used to the warts) so this looks really interesting. How tightly integrated are the schematic editor and layout editor? Are they two separate programs like KiCad or can you eg. delete a component from the schematic and have it automatically removed from the PCB (but without nuking ALL non-schematic components from the PCB). Definitely gonna give this one a try.
- mhh__ 7y agoThe PCB EDA space really needs some competition. Kicad is really getting there, it "just" needs some UI improvements (Automation of the Schematic->Netlist->pcbnew flow would be nice) and also some of the big boy features like signal integrity and heat etc. Altium is probably the only clean PCB experience at the moment, and even that sits at 10% CPU on my machine with an empty schematic and no PCB open. The more esoteric tools like Mentor and Cadence's tools (and presumably Keysight's offerings although I can't get a student license through my university * ) are powerful but quite difficult to use working alone in the sense that schematic capture is quite slow because you need to (if I'm not doing something wrong) source your own library or make your own - not really competing with Kicad as such. * The student license options these companies have are absolutely insane. You'd think they don't want people to learn to use their software. Altium's site doesn't work with non-american email addresses, Mentor doesn't include any RF/Thermal/Mixed-Signal simulation addons i.e. the only reason to learn to use it over kicad, Cadence took about 2 weeks to respond and ended up publishing a Photo of my student license with my name on their website if you know where to look (Indexed by number)
- hokumguru 7y agoAs an absolute beginner learning how to design PCBs and simple circuits for hobby projects - I have to say while KiCAD is getting there, it really still has a learning-curve of a sheer cliff. The interface and workflow seem arbitrary and unnecessary complex for what should be a relatively straightforward process. I realize this tool is far more powerful than I'll ever need but it really does feel like I'm in way over my head most times. While it "Just" needs some UI improvements, those are non trivial for me. Electrical engineers are willing to put up with so much more it seems.
- theon144 7y ago>Electrical engineers are willing to put up with so much more it seems. In general, IMHO. EAGLE, a golden-standard proprietary EDA tool, while still being quite a bit ahead of KiCad on the UX front, features no fewer pitfalls and completely unintuitive controls.
- unnouinceput 7y agoDownloaded, installed, got repositories, created a test project. Finally open it, new schematic, selected a resistor to put on schema. Damn thing too big, tried to zoom out, failed. Then tried to move it, failed as well. Unintuitive, not in the mood to learn its quirks so I just uninstall it.
- atoav 7y agoScroll wheel and middle mouse button, as commonly used in most software. Home button reframes the view.
- unnouinceput 7y agoIn my commonly used software I click on damn things, little boxes appear on corners and I can just drag them in/out to decrease/increase the size. Or if 3D software I have 3 more lines to rotate/roll for each axis. That's my commonly used software.
- atoav 7y agoI understand. In fact I even before thought that this might be a problem, so I mentioned adding buttons for scroll and pan (Blender-style) in a github issue as well, because I thought it might help users like you with onboarding. The maintainer seemed to be open to the idea and noted it down for later. So maybe it will be there in the next release : )
- mdszy 7y agoEDA is a type of CAD software, there's a bit more to it than "baby's first schematic editor". Things are going to be different and if that's what's making you quit the software I have to imagine you wouldn't even be using it anyway and you just thought it looked cool despite not being an actual EDA user.
- unnouinceput 7y agoI would not call CorelDraw, AutoCAD, OrCAD "baby". Those are the "babies" that implement what I said above. This one here can learn a thing or 2
- mNovak 7y agoWould love to see more features supporting RF. Obviously the dream would be a 2D or 2.1D mesh/simulate built in, but would settle for less. An easy starting point is better import/export of layouts. Designing an antenna in my RF-specific CAD suite is great, but when I actually have to build the thing, all I get is DXFs. Converting DXF to gerbers is a mess in KiCAD. Same goes if I want to reverse the pipe and simulate my layout. Staying in the OSS realm, QUCS (open source ADS equivalent) has RF circuit simulation, just needs some help implementing auto-layout. This would make it trivial to e.g. optimize a simple transmission line circuit, and have it fabbed. That'd be huge for opening up simple microwave circuits to the DIY/"hacker" community.
- amelius 7y agoOk but I think this really should be a separate application. Let's stick with the Unix philosophy and have many tools that do one task well.
- dkarp 7y agoAbsolutely! As long as those tools can communicate with each other à la unix pipes
- willis936 7y agoWhy limit with OS specific tools? Why not just communicate via markup files?
- dkarp 7y agoWho said anything about limiting to OS specific tools? I just referred to unix pipes as that is why the unix philosophy works. I wasn't suggesting unix pipes are used for this, there just needs to be a way for these tools to communicate if they're split.
- madengr 7y agoUgh, no. I have been using RF CAD since HP MDS. You’ll end up with a convoluted mess like ADS, where the EM package is now a separate application from the main package. I ditched it 20 years ago; good riddance. The Microwave Office guys knew this 25 years ago, which is why it’s so much better than ADS. It is all tightly integrated and object oriented.
- zbrozek 7y agoI've been using Altium for years professionally and would love to see a FOSS project unseat it. My own efforts to advocate staffing a few FTE to work on KiCad didn't get very far. There are some things about it which drive me nuts and which could easily be done better in an open tool: - The UI is extremely slow. Clicking on a component often causes the entire app to pause for 1-10 seconds while it loads all of the part parameters and redraws panels. - It doesn't handle large libraries gracefully. We have something around 30000 parts and the library compiler crashes more often than it succeeds. The Altium sales folks have attempted to get us to switch to vaults but can't explain to us what the data store is, what the concurrency model is, why it's not further lock-in, and why it should be more performant. - Better geometry importers and exporters. Getting fancy RF geometries in and out is a huge pain. For one thing, Altium's DXF parser renders at a fixed resolution. So if you have some very small feature it will often get turned into a line or a dot. And even if not, it'll be coarse. - Never do anything in the UI thread that isn't strictly responding to user input. There are some things it's mediocre and it would be somewhat difficult to implement better in an open tool: - Really good understanding of mechanical mates. Basically Solidworks-grade constraints for putting things together. - Tight interconnectedness between schematic and layout rules, and a really powerful and expressive language for writing rules. Altium's rules language is simultaneously constraining and often lacks coverage for obvious cases. As an example, there's no way to do same-net gap analysis. You can make unmanufacturable spaces between two traces of the same net all day long and the design rule checker would never care. Some stuff Altium pretends to do but doesn't, and it would be fiendishly difficult to do a good job in a FOSS tool: - Physics modeling. I want to know how much coupling I'll have between nets. I want to see discontinuities in transmission lines. I want to know what will radiate and absorb and how. Basically I want to be able to have my CAD tool also be Ansys HFSS with varying degrees of fidelity. - Real schematic hierarchy. The schematic compiler is chock full of bugs that it's dangerous to rely on hierarchy and also dangerous not to. I want to draw schematics with the same type of composition and repetition that I use to write software. Then there's stuff that Altium doesn't even pretend to do and someone totally should write an EDA tool that does. - Useful diff of schematics and layouts. I want to be better able to tell where I might have made an unintended change. - Real time collaboration. Google Sheets but schematics and layouts. I want to be able to drop in on my layout artists' work and be able to point things out or share in the burden. Lately in my office there have been lots of new people coming from places that use Cadence and they're slowly trying to get us to switch over. I haven't figured out what about it is supposed to be superior.
- haldora 7y agoLooks good. Installed it and will try it this week! Thanks for sharing. I was about to start learning KiCad, but I think I'll explore this first.
- chendragon 7y agoAny chance of macOS support?
- karotte 7y agoIt can be built on mac OS and starts but isn't really usable due to OpenGL issues: https://github.com/horizon-eda/horizon/pull/290#issuecomment-583775371 https://github.com/horizon-eda/horizon/pull/290#issuecomment...
- deleted 7y ago[deleted]
- lukego 7y agoTangent: I'm about to start learning EDA and what I really want is a data format for my designs. Something that I can write my own code to generate and manipulate as well as using standard GUI tools. Is there any "data first" EDA package? Something more "docbook" and less "Microsoft Word"?
- avhon1 7y agoI've heard of people generating designs via scripts in gEDA. http://www.geda-project.org/ http://www.geda-project.org/
- roland35 7y agoYes gEDA is what you want! Each component of gEDA (schematic, layout, etc) works on text files which you can script up easily.
- rta5 7y agoAt KiCon 2019 there was a presentation on SKiDL which allows you to describe circuits in Python. You can then output a netlist for use in KiCAD's PCB tool (or potentially other EDA tools). I have not tried to use it personally. https://www.youtube.com/watch?v=WErQYI2A36M https://www.youtube.com/watch?v=WErQYI2A36M https://github.com/xesscorp/skidl https://github.com/xesscorp/skidl
- hthtegr 7y agoAs much as I do like KiCAD, and use it professionally, the UX at times is literally a comical design-by-committee dumpster fire. I gave this a spin, and it's so refreshingly the opposite of that. My main barrier to using it for my next project is this - am I going to get 100 hours into a project then hit a brick wall and have to port back over to KiCAD. If I had some confidence around this I think it'd give it a shot. A gallery on the website of projects completed with it would probably do the trick. Seriously pleased this project is a thing. In 2020 there isn't really an excuse to be using software with such a poor UI/UX as KiCAD
- hthtegr 7y agoSorry replying to my own comment here, but this needs to be said. THANK YOU KiCAD developers. Yes it has issues but I am very grateful, comments above aside.
- StavrosK 7y agoI'd like to pile on here and say that, for all its issues, KiCAD is an extremely valuable and important tool in the EDA space. Hobbyist PCB making at this scale simply would not be possible without it. That said, I am very happy to see new entrants, like Horizon. I watched a presentation by the author in the 2018 FOSDEM and it looked like a great idea even back then, I'm going to try it for my next project to see how it has progressed. Wayne Stambaugh, the KiCAD project lead, was in that presentation, and they're very much aware of the problems KiCAD has. They're working in that direction, as KiCAD 5 no longer requires you to export/import the netlist, I believe (I'm not sure because I reflexively always do it anyway). One of the first questions they had towards the Horizon developer was "why make a new tool instead of contributing to KiCAD?", and the answer, IIRC, was "It was easier to make my own", which sounds reasonable given the amount of innovation that went into Horizon and the constraints a project as widespread as KiCAD would have, regarding backwards compatibility etc.
- nmeofthestate 7y agoHaving tried Eagle and KiCad I am enthusiastic about any new free PCB design package, as it offers up the hope of a usable PCB design package. Eagle and KiCad are both UI disaster areas that make GIMP look usable.
- spongeb00b 7y agoAgreed. That's exactly why I've been using https://upverter.com https://upverter.com Sure it's not as feature rich, but I found the interface much easier to get a hang of that for my small TTL and 6502 projects it's been great. I'd much rather put time contributing to the component library than dealing with a bad UI.
- amelius 7y agoKiCad is great, but it's a bit like Vim in that you need to learn how to use it before it becomes enjoyable and efficient.
- amelius 7y agoTitle should contain "written in C++" (as this also happens all the time with Rust).