SVG PCB is a similiar concept. The nice thing is that it allows both code and gui manipulation of the design. https://leomcelroy.com/svg-pcb-website/#/home
I designed my LED matrix PCB with code
31–40 of 68 posts
Re: I designed my LED matrix PCB with code
#32A lot of deserved criticism in the comments here tonight, but more generally, I have to ask - what's the deal with all these code/text to CAD/PCB things? There's a half dozen of them in any category, they are all different, they all seem to struggle badly with anything outside of simple examples, none of them appear to consider how things fit together in the real world, you almost never see any of them used for anyth…
I've used OpenSCAD, it's not the thing I want, it doesn't have constraint solving, the key is using constraint solving with feedback to highlight warnings, etc.
Now maybe I'm not talking about complete replacement of GUI with code, but rather an alternative view, where you can either use GUI to model objects, or switch to code where everything is synchronized.
Re: I designed my LED matrix PCB with code
#33Atopile is another thing in the circuits-as-code space: https://github.com/atopile/atopile As a half EE/half SWE I think there are significant benefits to circuits as code but I'm not impressed with this one. Atopile has a narrower focus (autorouters are really really hard) and doesn't use as many buzzwords. Like why on earth does a "web first approach" matter at all for hardware development? But also, GUI tools are…
Re: I designed my LED matrix PCB with code
#34Slightly tangential, but what's the state of the art in auto routing and placement these days? I haven't tried any since I used EAGLE a few years ago. I know routing is one of those really hard problems, and for a long time they were all pretty bad at even moderately complex or constrained designs. Have things gotten better recently with the rise of machine learning? (Specifically not 'AI')
I always recommend quilter.ai: https://www.quilter.ai/ - they "eat" Kicad or Altium files, and produce autorouting and/or autoplacement. I tried them about 9 months ago and made a couple of boards that worked well.
Re: I designed my LED matrix PCB with code
#35Atopile is another thing in the circuits-as-code space: https://github.com/atopile/atopile As a half EE/half SWE I think there are significant benefits to circuits as code but I'm not impressed with this one. Atopile has a narrower focus (autorouters are really really hard) and doesn't use as many buzzwords. Like why on earth does a "web first approach" matter at all for hardware development? But also, GUI tools are…
I don't know why anyone wants to shove big heavy applications into browsers. Are they imagining you'd use your phone for this? Are we not teaching kids how to publish desktop applications these days or what?
For cross platform development we barely have any decent, free development tools. It's a lot easier to find JavaScript developers in most places than c++/c# developers.
Re: I designed my LED matrix PCB with code
#36Atopile is another thing in the circuits-as-code space: https://github.com/atopile/atopile As a half EE/half SWE I think there are significant benefits to circuits as code but I'm not impressed with this one. Atopile has a narrower focus (autorouters are really really hard) and doesn't use as many buzzwords. Like why on earth does a "web first approach" matter at all for hardware development? But also, GUI tools are…
> I don't see circuit-as-code taking off with humans anytime soon I don't agree with this. Circuits aren't really anything more complex than anything else humanity has had to figure out. Most knowledge in this area seems solvable. Maxwell's equations have been known for a century. For whatever reason, Software Engineering and Hardware Engineering even though they rely upon the same fundamental physics, are so very di…
Software engineering isn't a thing besides being an ego title.
Software is "ship now, patch later"
Hardware is engineered, it must be correctly designed from the beginning and cannot be easily modified in the field
Re: I designed my LED matrix PCB with code
#37Earlier quoted context omitted.
> I don't see circuit-as-code taking off with humans anytime soon I don't agree with this. Circuits aren't really anything more complex than anything else humanity has had to figure out. Most knowledge in this area seems solvable. Maxwell's equations have been known for a century. For whatever reason, Software Engineering and Hardware Engineering even though they rely upon the same fundamental physics, are so very di…
PCB layout is as much art and black magic as it is science. I'm not sure why you dismiss the complexity so easily, this definitely is not just a matter of applying Maxwell's equations.
Re: I designed my LED matrix PCB with code
#38A lot of deserved criticism in the comments here tonight, but more generally, I have to ask - what's the deal with all these code/text to CAD/PCB things? There's a half dozen of them in any category, they are all different, they all seem to struggle badly with anything outside of simple examples, none of them appear to consider how things fit together in the real world, you almost never see any of them used for anyth…
Anecdotally as someone who studied mechatronics: Software engineers are far worse than any other engineering field in assuming that everything is trivial compared to SE.
Re: I designed my LED matrix PCB with code
#39A lot of deserved criticism in the comments here tonight, but more generally, I have to ask - what's the deal with all these code/text to CAD/PCB things? There's a half dozen of them in any category, they are all different, they all seem to struggle badly with anything outside of simple examples, none of them appear to consider how things fit together in the real world, you almost never see any of them used for anyth…
Kicad also makes it easier to make such startups as it has an open file format with several different free viewer tools and lots of content (schematics/footprints). If that ecosystem didn't exist I don't think you would see as many of these startups around, but with that you can launch one of these tools within a initial VC funding
Re: I designed my LED matrix PCB with code
#40A lot of deserved criticism in the comments here tonight, but more generally, I have to ask - what's the deal with all these code/text to CAD/PCB things? There's a half dozen of them in any category, they are all different, they all seem to struggle badly with anything outside of simple examples, none of them appear to consider how things fit together in the real world, you almost never see any of them used for anyth…
For me FreeCAD was highly unintuitive. Everything is a chain of operations/modifications on solids(good!) but for some reason it won't let you modify anything but the last element in the chain?
I was working on a trackball device so part of the parameters are the size of the trackball you'd use.. This affects pretty much all the parts in the chain but you have to decide all the way in the beginning on what size you need. In code-based systems this is simply a variable you define in the beginning and can modify at any point. Let's say I want to use M2 screws instead of M3 ones or use a larger bearing: I can just change a variable at the start of the script.
Being an absolute beginner I also had to reorganize stuff a couple of times. With python/build123d that's a matter of shuffling around code in your editor. I don't even know how you would do that in FreeCAD without deleting and redoing large swathes of your design.
Then there's my general unease dealing with this opaque representation of your model where any previous step you may have took puts your project into some state that can't really be undone or at least not intuitively found. When working with code and something breaks you can usually recover from a broken state by stripping out whatever you were working on. At worst you can just go back to your last revision in Git. With GUI-based tools you have to pray that Undo/Redo gets you to a state you wanted without losing too much.
Maybe the proprietary tools work better here but they don't run on Linux and I also don't use them for ethical reasons.
Admittedly the whole experience with build123d is anything but perfect. I _would_ like to just pick stuff with the mouse where possible and have a nice real-time display of changes I make. Ideally I'd like to see some sort of editing graph where you can see intermediate steps and pick visually parts to operate on for the next step - all underpinned by a concise textual representation that can be versioned.
Maybe this is me showing SE hubris but it's how I was able to get a reasonably complex personal project done. Maybe programming somehow broke my brain, IDK.