#626 – Intelligent Routing with Sergiy Nesterenko

01:07:47
Intelligent Routing with Sergiy Nesterenko cover art

Download episode · 63 MB

Also on Apple · Spotify · YouTube · RSS

Show Notes

Welcome Sergiy Nesterenko of Quilter.ai!

  • Just prior to recording, Chris saw that Dave had been talking about a different "AI autorouter"
  • Configuration on Quilter is currently pretty simple (not a lot
  • Sergiy worked at SpaceX in 2014 doing a bunch of boards for testing
  • "PCBs were the tail end of the design, so it became the critical path"
  • Check out some of the public designs on the Quliter Blog
  • Quilter has remade the schematic of the OpenMV camera. This reworked board is indicative of the kinds of boards they can handle.
  • Generally sub-300 MHz, Sub 2A
  • Quilter has a full time EE on staff who helps try out different designs and give feedback.
  • They can parellelize designs by sending them off to a cluster for processing.
  • Chris noted that it felt similar to Place and Route on an FPGA.
  • Quilter doesn't currently enforce "octolinear traces", so the traces aren't straight lines.
  • It makes it possible to detect generative designs, like on the "QPlayer" example
  • The toold helps by defining manufacturing constraints for you, specifically around available board houses.
  • Cost of compute
  • How do you balance the problem of knowledge? Chris and Dave discussed this for newer engineers in episode 625
  • "What is the job of a PCB?" (perfectly replicate a schematic)
  • Quilter is doing additional checks, including solving for Maxwell's equations and Thermodynamics
  • There are decisions to make within the routing algorithm, ie. Should they enforce "star ground"?
  • When starting out, there was skepticism around code compilers! But over time people came to trust them more and more.
  • How can you try out Quilter? Sign up for waitlist! The best candidat designs will be:
    • Sub 2000 pins
    • sub 100 parts
    • sub 100Mhz
    • sub 2A
    • Open source designs
  • All the boards on the site have no human input
  • When trying out the service, many customers don't trust the first board (but later they start to)
  • Spits boards back out as the same file format, they currently support KiCad, Altium, Eagle
  • NASA story designing S band antenna
  • When starting with new boards, the tool will import outlines by parsing layers in KiCad / Altium / Eagle.
  • Reconsidering different elemetns of a design (constraints)
  • Relaxing constraints (physics)
  • Software models
  • Why don't some of these tools exist in layout software? Specifically simulation and physics engines.
  • Many do! (Ansys, TDK, etc). Often the cost isn't justified for simpler boards, so people go without.
  • Feeding back real world squishiness into the model
  • Costs - Not yet set, but there will be different tiers for hobbyists and open source designs. Sergiy mentioned $50/month for non-enterprise, but it seems like it's much too early to tell.
  • Check out more on the site at quilter.ai

Transcript

Chris Gammell: This is The Amp Hour Podcast. Released April 2nd, 2023. Episode 626. Intelligent Routing with Sergei Nestorenko. Welcome to the Amp Hour. I'm Chris Gammell of Contextual Electronics.

Sergiy Nesterenko: Hey, it's Sergei Nestorenko, the CEO at Quilter.ai. We're building a generative AI for PCB design.

Chris Gammell: Hey, Sergei, how are you? I'm doing great, Chris. Thanks for having me. Excited to be here. Of course, of course. Yeah, and you know, obviously, AI is a topic that is, well, we can't help ourselves. Our last show, we went back to it like three or four times. It was actually not in a PCB context, but right before we started recording, I'm like, oh, Dave was just posting about an AI solution as well, and we're going to be talking another one here. I'd love to get an overview because when I was introduced to you, I had a different thing in my mind than kind of how you guys operate. So I'd love to kind of get an overview so other people have that as an upfront of like, what is the AI piece of all this?

Sergiy Nesterenko: Gotcha. Yeah, so our ultimate goal is to start with circuit schematics and then output a ready to go PCB. So the idea is that you should be able to kind of extract all the information you need that defines what the circuit board needs to do out of the circuit schematic. And then to create a PCB that is kind of manufacturable, you know, verified for physics, verified for DRC, so on and so forth automatically. So the analogy I like to use for this is kind of what we have in software, which is a compiler in software engineering. You know, you write some Python or some C, you click a button and ones and zeros come out that run on your processor. We want to achieve the equivalent for PCBs.

Chris Gammell: Hmm. Yeah, that's a good, good idea there. I mean, it does seem like there is like kind of always the black box aspect. I had thought, I think when we were introduced, I was thinking it was going to be like the actual, the design side. So I was like, well, I don't want, you know, some AI engine to develop, pick our resistors for me and hook stuff up in a schematic. So it's still like when you and I talked last, the one thing that kind of stuck out to my mind, it was like, it's kind of like a supplemental layout engine on top of the things that I've already designed. Is that a fair assessment?

Sergiy Nesterenko: Yeah, that's, that's absolutely fair. So the way that we operate, if you have done some part of the layout yourself, like say you, you know, have some circuit, you really, really care about laying out yourself. We don't touch it. We just go around it and finish everything else. But also we should be capable of starting from scratch, right? So the, the kind of boards that we've built in the past, we've had both cases, right? We've had a customer where they really, really cared about certain parts of the layout. So they did it on their own. We finished the rest and the boards that we kind of develop ourselves, you know, to, to test the software and make sure it actually works. We do entirely from scratch. So what we kind of take as an input is some of the constraints. So for example, perhaps it's important to define like the size of your board for mechanical constraints, maybe the placement of some connector. Or some, you know, cameras or whatever else. That's kind of like, you know, part of the mechanical logic, not the circuit logic. But then there's a whole bunch of like ICs, capacitors and resistors and traces and all that stuff that like, doesn't really matter where it goes. It just matters that it works. And so that's kind of what we're focused on is like everything that you left up to us, the constraint is it has to work, not it has to go in a certain place.

Chris Gammell: Got it. Yeah. And that, that kind of, I feel like a lot of the fear mongering around AI is like the, oh, it's going to do everything for you. But the thing that we've talked about on the show in the past is kind of like this supplemental kind of co-design piece where I am nearly certain over time, it will take on more and more of the design pieces, suggest things that are novel that I wouldn't have thought of or, you know, check stuff. But really it is that side by side where I'm doing some of it, the engine's doing some of it. And it's really just kind of speeding up a workflow. Yeah.

Sergiy Nesterenko: I mean, it's, this is going to be an interesting direction for us to kind of consider as we build the company out, right? Like it's, whether you do a side by side co-pilot kind of thing, or you do the whole thing from scratch, in either case, you need a really good, you know, layout engine, you need a really good router. You need to be able to consider the physics of the board, so on and so forth.

Chris Gammell: Right.

Sergiy Nesterenko: It's really just a matter of kind of like the user experience and like what controls you give to the user. Yeah. One of the things that we are kind of trying to, to be mindful of is that a lot of the previous kind of, you know, routers and placements that have existed in the past have required a lot of configuration to get working. And a lot of people basically just say, you know what, I'm not going to learn how to configure these, you know, 18 million different settings and buttons and whatever. I'm just going to lay it out because I know how to do that.

Chris Gammell: Got it.

Sergiy Nesterenko: And so that's something we're trying to be mindful of is like, how can we get the design intent from the schematic, from, you know, knowledge of what chips you're using, so on and so forth, and make those decisions for you if you don't want to.

Chris Gammell: Yeah, that's good. And I do think that like, you know, much like I have ERC or error rules checking and a DRC for design rules checking, like that is something that's already built in. That's a rules engine. What does the rules engine look like now? So now I get to a certain point in a, in a schematic or I've got maybe, let's say I'm 10 or 20% done with my layout with the important parts, parts done. What do I get to then configure on Quilter?

Sergiy Nesterenko: So we're going to be progressing this over time, of course. At the moment, it's just a very, very simplest things. Right. So I don't want to give the impression that like, Hey, this thing is done. Go build a motherboard or an iPhone with it. Right. Like, yeah. And I guess we should say, how old is the company? It's pretty, pretty new, right? Yeah. Yeah. We, we pivoted to PCB design a little over two years ago. Okay. So fairly new. Most of the team that's currently with Quilter joined within the last year. What, what were you doing prior, prior to that? Oh, prior to that, we started the company. We were, first, we thought about designing low cost sensors for manufacturing, uh, just based on some previous experience I had in the field.

Chris Gammell: Uh-huh.

Sergiy Nesterenko: So pivoted to trying to make software to process that data, uh, landed with a kind of a chicken and egg problem that like, you know, companies don't want to share data unless you can prove you can do something useful with it, but you can't prove something useful unless you have the data. Uh-huh. And then basically went back to the drawing board, thought about it a little bit. You know, I reflected back on my experience at SpaceX and kind of seeing the PCB layout problem bite us and then pivoted to that. So that was about six, eight months.

Chris Gammell: What was the, uh, if you don't mind sharing the, the, the PCB problem at SpaceX or other companies, what, what is the problem that you saw?

Sergiy Nesterenko: I mean, there's a number of problems with layout that we ran into. So, I mean, first things first, like I first thought about this whole concept of doing this autonomously when I first started at SpaceX in 2014, right? First time that I designed a PCB, I needed to design one for some test engineering setup. And, uh, you know, it took me a while, probably a couple of weeks to like really learn. I was all team at the time and learn how to do the layout and, uh, you know, just even how to drive the software and everything. And as I was doing it at the whole time, I was thinking like, why isn't the computer doing this? Like, this seems like something a computer should do. Of course I learned computers are not very good at doing this at that point. And frankly, they still aren't. Um, but there's, there's a bunch of problems that, uh, that kind of come up, right? So for one, it's time consuming, especially for, for a beginner or an even intermediate, you know, PCB layout can be days, weeks, or even months on a complicated project. That's a bottleneck. That means that whatever product you're building, whether it's an internal tool or an actual product that is going to fly, you're not finding out whether the thing works or not in real life for that much longer. And the other thing that happened in SpaceX a lot is that, uh, PCBs were kind of the, the tail end of the design, right? Like, so say you're making an engine controller, you first figure out, you know, what actuators you're going to have, what sensors you're going to have, uh, you know, what the mechanical constraints are so on and so forth. And the PCB kind of starts to come closer to the end, which means it becomes a critical path item. And in an Elon company, that's not where you want to be.

Chris Gammell: I mean, these days I don't want to be anywhere near an Elon company. If you, if you just speaking for myself here, uh, bag of cats, uh, fair enough.

Sergiy Nesterenko: Yeah. So obviously kind of like the latency from design to implementation is, is one issue. The other issue of course, is that sometimes you don't get the design, right? Right. You know, with software, you click a button, compile, run the code, usually within a minute or two, you know, if it's working or not. Yeah. With a PCB, you know, you're not completely sure, right? Designers kind of follow rules they've learned over the years about like what a good layout is and how to avoid, you know, signal integrity issues and, you know, power instability and all these things. But like, ultimately there's not a quantifiable rigorous way short of going really crazy with simulations to know whether this thing will work or not. People typically just build it and find out.

Chris Gammell: Right. Right. Yeah. And I think there's like a kind of general guidelines around like how much do you need to care? Right. When I think about like low, low speed designs, I'm, you know, below 10 megahertz on everything. I was like, I could probably, I could do 50,000 vias and, you know, route the trace between all those vias and it would probably still be, it would take a while. It'd be fine though. Right. I mean, like it would, you know, it's just like these low and slow signals. It doesn't matter. But then how do you also communicate that to people not already in that space and knowing when you need to care about these things?

Sergiy Nesterenko: Exactly. Yeah. That's actually a big issue for us for sure. I think as engineers, I mean, on top of kind of wanting to avoid any kind of rework, your brain kind of works like an optimization engine, right? Like if you see something that isn't as good as it could be, you're kind of like, oh, that bothers me. And you go and try to fix it. Even if it's not strictly necessary.

Chris Gammell: Right. And then that balances against cost and time constraints. Like you mentioned, like you were critical in path, right? And so then there's safety constraints in a SpaceX style application. There's, you know, like how do you, how do you balance all of these different things? What are the sliders that you need to slide?

Sergiy Nesterenko: Yeah. I mean, that is exactly the question and the problem. So, so yeah, I mean, frankly speaking, you know, designing a company at a board, I mean, short of like the most critical boards that actually get a lot of attention from like the EMI team and the power team and so on and so forth, you know, majority of boards are not that majority of boards are support boards or test boards or prototype boards or some sort of de-risking. And like realistically, the answer is just build it and see what happens.

Chris Gammell: Yep. Yep. F around and find out. Yeah, yeah, yeah, exactly. That's pretty much it. Okay. And so that's an interesting, yeah, that's an interesting kind of lead back to what you are talking about here. And so another thing I'd, I'd asked you when we first talked about this was just like, you know, what is, what is the scale and scope you hope to achieve? And you'd mentioned that a lot of the boards that you think Quilter brings a value to right now are not those super high-end, super crazy boards because you still want humans in the loop. This is more like, I need to connect this 20 pin connector to this 50 pin connector. Just do the connections for me. That's something like that. Is that, is that a fair assessment?

Sergiy Nesterenko: Yeah, that's, that's pretty fair. So obviously our, our goal is to be able to cover everything in the longterm, right? Like I think for me, the Holy grail is to like do like a video card or something crazy like that one day. And certainly we can't, right? If Quilter tried to do that, I'm pretty confident the board would move.

Chris Gammell: You should do it just to see, you know, like you could have, I mean, that's the thing programmatically. You could have benchmarks over time. I look at like how mid journey has been, has been improving and like the same prompt from V1 up to V5. It's, it's striking. It's really striking.

Sergiy Nesterenko: Absolutely. Absolutely. Yeah. And so then the question is the more interesting question is, well, what can we already do? So we have a number of boards that we've designed, you know, kind of fully autonomously like this, where basically you have the schematic. We still leave the footprints up to the user, especially at a big company. You typically have your own footprint library and we wouldn't want to mess with that. But as far as the inputs that we take, you know, like kind of, kind of said earlier, we'll take the board outline, the footprints, the net list already loaded and like a handful of components pre-placed where you really care about their placement. And then we'll do the rest. And so we've, we've done a number of boards like this and the kinds of boards we've done. I mean, I think the most interesting one that we've done is actually an open source board called OpenMB. It's a computer vision board. I'm not sure if you're familiar with it.

Chris Gammell: Yeah. Yeah. Quabana.

Sergiy Nesterenko: STM 32 microprocessor. Yeah. It's, it's fantastic.

Chris Gammell: Yeah.

Sergiy Nesterenko: So we, we built our own version of the H7R2 and yeah, I mean, put it together and it works, right? You know, we were able to load a simple little program on it that does some face tracking, puts it onto a screen, all on board. And then for a little bit of fun, we load a mustache from the SD card and put it on your face. Awesome.

Chris Gammell: That's like a, like in the Silicon Valley thing, right? Exactly. He works on that startup that does that. Yeah. Yeah. Yeah. Yeah. Yeah.

Sergiy Nesterenko: Glad you got the reference.

Chris Gammell: Yeah. Okay. Great. Great. Great.

Chris Gammell: We're on the same page.

Sergiy Nesterenko: So I think that like, I agree that like in general, probably the most useful space for Quilter right now is like, Hey, I've got, you know, a thousand or 2000 pins to connect. All of them are, you know, sub hundred megahertz. All of them are sub two amps. And, you know, I just need to hook it all up and get it working. We've done boards like that for sure. I kind of like test engineering boards, but we are trying to push a little bit on the kind of physics. I mean, it's like, you know, I don't have a lot of physics-y things, right? So the open MV is, I mean, it's not like a, you know, you don't have RF signals on there. You don't have to do any kind of crazy impedance match or anything like that, but still it's, it's not a ridiculously low speed board, right? It's reading from the SD card at a hundred megabits.

Chris Gammell: It's an M7, right? I mean, that's, yeah, there's not, there's high-end components on there. Oh, absolutely.

Sergiy Nesterenko: Right. Yeah. Powerful micros. Right. Right. Not a Core i7, but, but still a fairly powerful micro cameras, you know, decent resolution with addition speed. Yeah. All that stuff. And that all works great.

Chris Gammell: You know, it would almost be kind of interesting if you could, if you had like a measure for how long, like a, like a benchmark for how long it would take a mid career layout engineer to do a certain board, because then you could like start to give costs to these sorts of things. Like I would imagine an open MV board would be, you know, week to month kind of late range. Whereas like you said, like an i7 to a mid range engineer is probably months, multiple months to, you know, like depending, depending on skill level and, and reference designs and everything else. But like starting from scratch on these things, like what, what are the, how do you really benchmark what, what is possible?

Sergiy Nesterenko: Yeah. Yeah. That's a great point. So we have a, obviously we have a full-time E on staff. He's kind of more of a late career engineer. He's been building boards for well over 20 years. So pretty darn experience. I think he knocked out the open MV now, granted the open MV design we did, we did it at lower density than the original one. So, you know, we'll have to up the ability to do kind of higher density boards, but for the one that we have on the site right now, it's definitely lower density than the one that's, that's in production. But I think it took him maybe a, like he redid that layout in maybe a day or two, something like that. It wasn't too bad. The software completes it in under an hour. Wow. So I think the most impressive comparisons we've done were boards that unfortunately I can't talk as much about because they're for customers, but boards that take like two to four engineer days that we were again able to do in about an hour.

Chris Gammell: Oh, wow. Okay. Yeah. So another thing that you had mentioned when we talked last was that you're kind of doing multiple iterations. You're not doing this like on screen, someone watching it. It's more like I send the file up to the cloud. It's done in parallel, many, many different iterations. And then a result is sent to me. Is that right?

Sergiy Nesterenko: That's correct. Yeah.

Chris Gammell: So that does feel different because it's also getting that parallel processing side of things that I wouldn't get if I was like watching the traces happen. Like I think Dave was doing in his recent AI review video.

Sergiy Nesterenko: Sure. Sure. Yeah. I mean, I'd like to put something where you can kind of watch it think. I think that'd be super fun. It's not something that made the kind of MVP list in terms of like the minimum things we had to build to get something useful out there. But I think it'd be cool. Like it's definitely very fun to watch.

Chris Gammell: Sounds like a good intern project. You know, put it in there.

Sergiy Nesterenko: I like it. Yep. Yeah. Yeah. For sure. But yeah, we do send it off to a cluster. And, you know, we do use a fairly large compute cluster to generate a lot of variants. And, you know, part of that is just to give us a higher chance of actually getting a board back that's, you know, fully completed and passing all the DRCs. And a part of it is just kind of allowing us to experiment on our end, right? Like we have a lot of different algorithms that we're prototyping that approach this problem from different angles. And like if we push one that's good on one kind of board, but not so good on another kind of board, then a different one picks up the slack and it kind of just allows us to throw the gamut at it as we experiment.

Chris Gammell: Yeah. It does sound kind of, it's almost like this is approaching more like place and route inside of an FPGA where you have timing constraints. You have all these things, all of these design files that you import to the place and route machine. Like I don't complain. Well, I don't do FPGA anymore, but when I was doing FPGA stuff, I didn't complain that I didn't get to do like the logic level drawing inside, you know, Cordis 2 anymore. It was like, oh, place and route is going to do that. And it's going to have, it's going to have an output report of all the things that it does. And then they also had started doing that same thing where they could, you could send it off to a cluster to get faster turn times because it's very compute intensive to run all these different diagrams and all these different timing path runs basically.

Sergiy Nesterenko: Yeah, exactly. And you know, that's kind of the nice part about basically compiling some very log of HDL, right? Is you don't like, if the timing passes on the report and you know, all the other checks pass, you're good to go. Like it's, it's going to work. I mean, maybe in some really obscure case, there's something you, you know, that, that, that might happen that's goes wrong. But personally, I've never seen that. And that's where we need to get to with PCB design.

Chris Gammell: I think one of the, one of the key variations is just how visual PCB layout is, you know, like even the point where you can see traces on the top of design. And I did want to call that out because we talked about that before we started recording, like you, so you have four of these designs on the blog and people are going to look at this and be like, wait, what? So why don't you, why don't you give us a little word picture of what the traces look like right now? And then why, how that all kind of plays together.

Sergiy Nesterenko: Basically what people are used to in typical boards are what's called octilinear traces. So they're traces that go up, down, left, right, and 45 degrees. Right. And that's how pretty much every CAD software defaults. When you do traces, that's how they're kind of made. That is not actually a constraint that's important for manufacturability or physics, right? Like you obviously want to avoid right angles to not have RF reflections and whatnot, but like 45 degree mitered edges are quote unquote good enough. Unless you're doing something really, really crazy. Actually, you'll even see that when you do a really high speed trace, you know, like an antenna or some DDR5 or something like that. A lot of designers will actually use a curvy trace. So given that that's not, you know, a critical constraint, it's actually easier for us to let the software do kind of whatever it wants. And so what you'll see on our site and on our blog is that our traces are kind of any angle and generally curve. So instead of following the kind of nice left to right up down 45 degree paths, you know, they kind of appear to go everywhere and they will, you know, wrap smoothly and curve around each other much more smoothly than a 45 degree angle, perhaps. Yep.

Chris Gammell: Yeah. I think that that's going to be a mental shift that I will have to do. Yeah. Because it's like, but you know what it kind of feels like is like, I probably could look at a board now, you know, much like I can look at mid journey images and I can look, well, the fingers have been fixed in V5, thankfully. Yeah. If I count six fingers, it's usually either Anne Boleyn or a mid journey image. Uh, or, uh, uh, you know, like faces being blurred, you know, you start to see this artifacting. This almost feels like just a short term AI artifacting that helps to kind of showcase that it is like that, you know, like that it is a generative design, basically.

Sergiy Nesterenko: Sure. It's, it's honestly, it's a question we've been debating within the team, whether or not we want to add that constraint of making the traces, you know, octolinear. Right. Like on the one hand, from a physics perspective, I, there's not really a good reason to do it. Uh, you know, same thing with manufacturability. Right.

Chris Gammell: Right.

Sergiy Nesterenko: On the other hand, like I've had people ask me, are those traces even manufacturable? And.

Chris Gammell: Oh, interesting.

Sergiy Nesterenko: You know, and it's like, if you understand how the manufacturing works, of course they are. But if, if you're not used to it.

Chris Gammell: Acid.

Speaker ?: Right.

Sergiy Nesterenko: Yeah. Like it'll etch whatever it etches, right? Like whatever the mask isn't there for. We're not doing this with tape and stencils and, you know, razor blades anymore.

Chris Gammell: Right. Right. What if there was, if there was like a legitimate, like, uh, you know, like there's undercutting at like older processes, there was always this problem with like undercutting, you know, for super sharp angles and all of these very legitimate concerns. But like, first off process has gotten a lot better. Second off, you can, if there was a process constraint, you could start to feed that back into an engine as well. That's right. I really think it's going to be human perception is going to be the number one thing in this case.

Sergiy Nesterenko: Exactly. That's absolutely right. And in general, that's something I didn't mention as far as the constraint inputs, a common question that I've gotten. One of the things that we actually like to do is to define the manufacturability constraints for you where we can. So like, for example, you're maybe more used to kind of saying, oh, I'm going to pick this fab. You know, maybe it's Oshpark, maybe it's JLCPCB or advanced circuits or something. And then you go, you know, set up your own design rules. And then as you route, you know, Altium or whatever will give you the correct traces as you go. But, you know, if we think about the compiler analogy, you know, the same way you can kind of compile for an Intel or an AMD or whatever processor, we should be compiling for a specific manufacturer and their capabilities. So what we actually do is we automatically compile for currently three fabs at the same time. So Oshpark, PCBWay and JLCPCB. And we basically take, you know, kind of the best constraints that each one of those can handle, which are a little bit different. And then we try to target all of those. And then, of course, we'll present you the board that is as flexible as possible. So if we came up with a board that could be manufactured at any of those, fantastic. But if it can only be manufactured at kind of the best, you know, kind of fab, then at least we have that to show you.

Chris Gammell: Yeah. That's interesting. As you're explaining like the availability of fabs, and I was thinking about the constraints and stuff like that, about the octolinear kind of constraints, it does seem like it's just the engine would have to try harder to do that sort of thing. So I think what you do is you don't say no, you just quote them a price. Yeah. In compute time or, you know, upcharges, whatever. But like you're saying it could be a constraint. It just makes the solver harder, right?

Sergiy Nesterenko: Yes, exactly. Yeah. Exactly. In our case.

Chris Gammell: Now, you basically just need to like give people like a little taste, you know? Yeah. Are these all two layer designs right now?

Sergiy Nesterenko: No. So all the designs on our website are all four layers. Great. So actually, one thing that we do also is we try to control the stack up. So we, at the moment, try to do both a two layer design and a four layer design. Two layer designs for us really are only showing up in much simpler boards where there's not a lot of kind of density going on. Yeah. But all the boards that are on the blog are all four layer. And we kind of automatically choose, you know, which net is the ground net, which net is the most likely kind of like commonly used power net. So that gives you your, you know, your ground plane, your power plane, and then everything else is done on the top and bottom layers. This is actually, this is another thing, you know, we were talking about some of the problems that we saw, you know, at SpaceX with board design. On the really complicated boards, you know, like think you're like, you know, Starlink antenna, right? When you know the design is going to take three, four, five months or whatever it is, you typically start out with a conservative assumption about how many layers you're going to need or even the size of the board.

Chris Gammell: Yeah.

Sergiy Nesterenko: Because you don't want to get to the end and find out you made a mistake and have to go back. So this is another thing that I'm really excited for in the long term is like, well, if you have a computer doing it, not a human, why not try every single stack up that you can think of?

Chris Gammell: Yeah, right, right, right. I mean, it's really literally the cost of compute, right? At that point, it's like, there is, there is cost, like there's always cost to this sort of thing, either time cost or whatever. But like most of the cost I would imagine is give it another spin, another compute cycle, that sort of thing.

Sergiy Nesterenko: That's right. That's right. And I mean, in general, as a trend, right, the cost of compute is going to zero. Over time, right? Like if you look at kind of like, you know, just Moore's law over the last 40 years, but now what GPUs and TPUs and, you know, and just like more and more intelligent algorithms are doing. You know, we're going from chat GPT can only run on a giant cluster hosted by open AI to like literally this last week, somebody releases GPT for all which can run on a local computer. Oh, wow. And then eventually even variants that can run on like a Raspberry Pi, slowly, but still.

Chris Gammell: Yeah.

Sergiy Nesterenko: Right. So I think that that trend is going to continue and it's kind of favorable for approaches like this.

Chris Gammell: Yeah. Yeah. And I think I, yeah, I, I have been trying to control my inner urges around a lot of this stuff. Like one, I, one, I'm trying to keep my expectations limited, not just your service. I'm saying just, you know, kind of like all of these AI things, because I feel like there's, there's a lot of inflated expectations in the, in the broader market space, especially in the media. But there's some really cool stuff there. I think it could help us to become better engineers, more efficient for jobs and stuff like that. It could get rid of some of the boring, the boring parts of work. So we could focus on the important parts of work, stuff like that. But yeah, I think that I see this as part of my future workflow. I don't, I don't think I'll be doing every layout of a two layer board for like some simple connector in 10 years from now.

Sergiy Nesterenko: Exactly. Yeah. I mean, I, I think we're, we're definitely at the point where like, you know, something like a, I don't know, like a interconnect board or a bed of nails or something like that. Like, there's no reason you should be doing that by hand anymore. Right. Then like, you have to still have, you, you almost have to be a little bit more of an expert to know where the line is. Right. If you're a total beginner and you look at a AI generated board, you might not know that that board is not okay.

Chris Gammell: Yeah. Right.

Sergiy Nesterenko: Because like, we just don't have a guarantee yet. Right. Which is an issue. But if you kind of know, you know, kind of like you were saying earlier, Hey, if it's under 10 megahertz digital signals, like, yeah, even if there were a thousand Vs, the thing will work. Yeah.

Chris Gammell: Well, so that actually comes up to last episode, Dave and I were talking about, we couldn't stop ourselves. We're talking about AI. One of the questions I had was, how do you troubleshoot or how do you know these things? Like, or how do you gain that level of experience? Cause you don't want to bifurcate and to be like, well, if in 2023, you had a 10 years of experience, you're going to be great on these tools. And if not, you're just going to use them. And it's just a black box and you're just clicking buttons and good luck kid. You know, like, it's like that, how do you, how do you then kind of have rational educational models that helps people to then troubleshoot the things that are coming out of this? Because, you know, it's possible that a human needs to be in the loop for some part of it. Right. Some, some element of like, Oh, it's on the bench. Something's going weird. Now, am I blaming a layout piece, which hopefully not, but am I blaming some element of a layout or is it, you know, should it be looking at a component and thinking like, Oh, this op amp actually is at its rail and there's some kind of common mode thing here. Or is it actually because I'm pumping too much current and this trace couldn't handle it? So like, how do you then balance that stuff over time?

Sergiy Nesterenko: Yeah, that's a really good question. That's kind of the, the meat and potatoes of this problem over the next 10 years. Is by contrast to software where you basically compile it and run and you kind of see what happens and you can experiment with it quickly. We don't have that luxury in hardware, right? We can't quite just like re-spin it and re-spin it and re-spin it three times a day and keep experiments until it works.

Chris Gammell: Right. Yep. Right.

Sergiy Nesterenko: Like what steps can we take? I think there's a couple of steps we can take on the kind of layout side, you know, as quilters. So number one is to know our limitations, right? Like, so, you know, if we're detecting that you're trying to do something that we don't feel confident we've proven yet, we should at least let you know. And so that's, that's kind of something we already do is we, we kind of state our limitations upfront. And if we're seeing that you're exceeding them, you know, we'll, we'll kind of make you aware of them. That's great. Yeah. The other thing I think overall, like that, that, that only tells us to when you should be concerned. It doesn't tell you how to solve it. But I think ultimately what is the job of a PCB? The job of a PCB is to faithfully execute the schematic, right? So an ideal PCB would have zero length for all traces. And it would basically like, you know, have no resistance, no inductance, no capacitance in the traces. And it would actually just do what your schematic says it should do. So every PCB is basically just an approximation of that schematic.

Chris Gammell: I've actually never thought of that before. What is the job of a PCB? That is a great question to ask. Yeah. I like that.

Sergiy Nesterenko: Yeah. Yeah.

Chris Gammell: We should ask that more often on this show.

Sergiy Nesterenko: Sure. Yeah. Yeah. I mean, when you work on these things, you tend to, you tend to think about it a lot. So, but the cool thing is ultimately that when you look at a PCB and you're asking that question of what is it trying to do? And basically the answer is trying to minimize all of the parasitics and all the effects that the schematic didn't model out. All of those quantifications are computable, right? So in general, you have two sets of physics to care about. You have the Maxwell equations and thermodynamics. For the most part, that's basically everything you're thinking about. And as far as the Maxwell equations, right? Like there's plenty of solvers out there that are provably convergent. Assuming you have the correct inputs, assuming you have the right time step and all that stuff. You know whether or not your simulation is converged. And therefore you can get like S parameters on every trace, every pair of traces, so on and so forth. And like quantify that.

Chris Gammell: Right. Which I would point out, I am not doing on my layouts.

Speaker ?: That's right.

Chris Gammell: So that's already a value add right there. It's like, oh yeah, I should probably know more. I'm basing it on rules of thumb, like you mentioned, and just kind of experience of what has worked when I have hit the order button. But like, I don't know how to solve Maxwell's equations, you know, on an everyday basis, right? It's just like, that's not something I have in my workflow.

Sergiy Nesterenko: Exactly. Exactly. And ditto for thermodynamics, right? Same kind of thing. Ultimately, you can compute the answer to the question, like, is this board designed sufficiently well? Like you can quantify what are all of the different traces on here? What are their currents, their frequencies? What are the signal types? What isolation do I need between the loud stuff and the quiet stuff, so on and so forth? And as far as the Maxwell equations are concerned, basically everything is answerable if you can compute S parameters, right? Like if I took a blank board, hooked it up to a vector network analyzer, and, you know, measured like literally everything you could think of. You can then compare that against the schematic and see, you know, does that meet the schematics design tolerances? Again, ditto with thermodynamics. So that's kind of what we're aiming to do. So we actually have a full Maxwell equation solver built out, you know, works in three dimensions, fully general. And currently, we're going to release this pretty soon, but you can, you know, basically drag and drop a board, and then drop some kind of imaginary ports from like an imaginary vector network analyzer, you know, import, output port, and then just measure a bunch of S parameters across the frequency suite. That's cool. And then what we're going to do next is once we start venturing into high frequency traces, you know, so thinking about like how can we support like, you know, at least a single Wi-Fi antenna, like many IoT boards want. And let's then at the end of a design run, do a simulation on that trace and see if it has, you know, good signal integrity and good isolation. And then show you the design that has the best characteristic out of all of those. So I think that like answering your kind of question about how do we get to the point where you kind of know the PCB works, and if you had built the whole circuit, that it's really something in the schematic that's broken and not on the board. You know, I think it's these two things. I think it's number one, getting to the point where we're actually computing the answer to every possible concern and showing you the results. And number two, I think there's some amount of just like education that can happen, right? Like I think that, and not just education, experimentation. You know, I've seen so many different PCB designers like disagree on things that they thought were common practice. Right angles. Yeah, like right angles is an example. Or like the other, one of my favorites is like grounding strategies, right? Like do you do a single point ground, a star ground?

Chris Gammell: Yeah, yeah, yeah. Oh man, Keithley Instruments, that is star ground Keithley. That's the answer there.

Sergiy Nesterenko: Right. You know, and genuinely, like it's not a trivial question. And I think, I think for most people it's, well, I worked for the senior engineer who told me this rule that I always follow, or I did this and it bit me and I switched to something else and it worked. And now I always do the something else.

Chris Gammell: Uh-huh. Yeah.

Sergiy Nesterenko: And it's not actually some sort of like really rigorous understanding of like what the field equations are.

Chris Gammell: Right. Nobody's like, oh yeah. So on my weekend I was just, you know, playing, just messing around with Maxwell's equations. And I really changed my mind of my past 20 years of my career, you know?

Speaker ?: Right, right.

Sergiy Nesterenko: Exactly, exactly. So I think there's some of that, right? Like can we get the community together around asking some of these questions and getting scientific about it, right? Like doing simulations, doing measurements, trying out a bunch of things, seeing what works and what doesn't, and sharing that knowledge.

Chris Gammell: I was going to say, you know, my inner startup brain thing. Obviously the number one thing to do as a startup is to come on the Amp Hour and talk to our wonderful audience. Insert applause there. Check. The second thing would be like, oh my God, if you hired like a visualization expert as well. And like, you know, you think about like the marketing value of like whoever at NASA took all of the JWST images and then layered them with colors and like release those. But just start releasing those images of like the 3D modeling and like how signals propagate and stuff like that. Oh my God, just hire an artist to do that sort of stuff. And like your marketing is done. Just be like, can your stuff do this? Because, you know, we do this by, we do this automatically.

Sergiy Nesterenko: Well, I mean, we have. Yeah. So for our simulator, we do actually publish like a 3D field for the board you uploaded. So you can zoom in, look around, see the fields, move around, see the E field, B field. And then like, you know, inevitably, whenever I see people do this, they're like, oh, there's the current. Does the right hand rule apply? And then they like check in and see that the curl is doing correctly. And they're like, cool, that works.

Chris Gammell: Yeah. So that is actually on your homepage with the validate with physics sim. That's the. Yeah. Yeah.

Sergiy Nesterenko: That's a screen capture of what the physics sim currently looks like. So once it's published, it should be in a week or two, maybe a little bit longer.

Chris Gammell: Links on links in the show notes for that. So quilter.ai, it's the homepage though. So we'll point people to that. Perfect.

Sergiy Nesterenko: That's cool. Yeah. I think the next step would be to, to pipe that into Blender and prettify it. Yeah, exactly. I've seen some people do that now. It looks amazing. Oh yeah, exactly.

Chris Gammell: And I think the other thing too, is that like, like you said, it's almost like the kind of will it blend strategy of like, let's, let's take these two layouts for like, could you, can you upload a finished layout and put that into through the physics simulator as well?

Sergiy Nesterenko: Exactly.

Chris Gammell: Yeah. Yeah. So like doing that side by side is man. A lot of marketing stuff you can do here. So a nice, nice job on that stuff. Appreciate it. I, I think, you know, like, unfortunately on all this stuff, like you kind of, you've kind of already alluded to it. The, you're just fighting against convention. And like, I think I said this to you when we first talked, just like the grumpiest crowd of engine, you know, myself included, just engineering, hardware engineers are grumpy. We're grumpy, we're grumpy folk, you know? And, uh, I think proving it is good, but like the, but I think it's just going to be a lot of skepticism. Definitely. Again, myself included.

Sergiy Nesterenko: Yeah. I mean, no question about it. And as well, there should be, right? Like if there's a chance that you take a risk on this and it doesn't work and then you lose two weeks on critical path and then Elon comes down the hall and starts yelling, like you should be skeptical.

Chris Gammell: Right. If you've got Elon coming down the hall and yelling at you, you're already doing something else wrong.

Sergiy Nesterenko: You know, so, so I think that, you know, the burden of proof should definitely be on us to, to kind of demonstrate that the stuff works. And that's without question. I mean, at the same time, like, again, I keep alluding to this analogy of compilers because I think it's just such a good fit.

Chris Gammell: Yeah.

Sergiy Nesterenko: That was the case with, with compilers back in the day. Right. Like it was considered auto code. If you weren't, yeah. If you weren't doing the ones and zeros, you know, by yourself. And for, for many years, people thought that it would never be possible to automatically compile code. And even when the first compilers came out, like, you know, obviously people took them apart and they're like, wait, like, let me see what's going on with this, you know, this output and it's, oh, it's not as efficient. It's not as fast. I could do it better by hand. Yeah.

Chris Gammell: All this stuff. That's true. Actually, my old, one of my old coworkers, he would, he would regularly compare assembly output from a compiler to what he had handwritten. And then, you know, he would start to run comparisons as well. Just to see like, oh, actually that made it, you know, we lost a cycle on this one, you know, and for certain things that actually, you know, for non-critical stuff, like the, I mean, honestly, most of the code I write, it's not, you know, I miss a cycle, not a big deal, but like, if you're in a distributed control system inside a power plant, like which I was working in, like that actually could have very detrimental impacts. So, yeah.

Sergiy Nesterenko: Exactly. And I think that's a wise way to approach it, right? Like, I think that even in 10 years, even in 20 years, when the software is doing extremely well, Apple is still going to hire some people to pour over the, you know, the PCB design trace by trace, right? Like, there's just too much writing on it to, to, to not do that. Right. The same way that like, you know, at SpaceX, people did look at the compiled output and like, you know, sniff it for anything that doesn't look right. Of course, you know, but for like 99% of designs, that's not the case. I mean, the thing, this is kind of getting at the thing that's driving me to, to really push on this and to make this happen. You know, when I kind of zoom out and imagine a hundred year future, like what I really want to see is that like humans are doing what we're best at, which is kind of creativity, right? Like we should be doing, we should be unlocking entirely new ways of doing things, right? We should be unlocking entirely new ways to approach manufacturing, entirely new abilities fundamentally. And as soon as we've unlocked one, yeah, let's hand it to an optimization engine to use it in all the products we want to make. Right. Like, you know, as a kid, I got into programming when I was like, you know, 10 years old. And at that point, it was like easy to go learn HTML and make a little GeoCities website and all that nonsense. But like, that's cool. As a 10 year old, you could do that. And like nowadays, 10 year olds can like implement an AI and like ask it questions and have it generate images and websites automatically and apps and games. It's unbelievable. Where is that for hardware? Right. Like where is the 10 year old that can suddenly make, you know, whatever, an iPhone competitor or, or, or a new, you know, game controller for themselves and share it with other kids. The fact that we can't do that bothers me. Like, I think that we should minimize the latency between, you know, kind of human creativity and like real world bits and atoms that implement that creativity.

Chris Gammell: Right. Right. And I think especially in a, even just in a comparative way, right. As like, uh, if we want future engineers to be going into hardware, you know, having other options when there are so many other shiny things, that's as important, I think.

Sergiy Nesterenko: Absolutely. Absolutely. I mean, why you have to ask the question, why are hardware engineers so grumpy? Right. Probably they've been bit a number of times by hardware. That's a great question.

Chris Gammell: I don't want to ask that one. If I, if I answer that one, I probably, probably some deep seated stuff, uh, for myself.

Sergiy Nesterenko: Yeah. Fair enough.

Chris Gammell: Yeah. I do think, yeah, I guess it is being burnt a lot, you know, like, uh, by just things that pop up and, you know, just physics, man. Just physics. Yeah. Yeah. So let's get into some of the nuts and bolts of this stuff. So, you know, you have this on the FAQ, but what are, what are the, how do we then, how do we, how do we get this to happen for, you know, someone's like listening to this or 40 minutes in now, they're like, yes, I, I am a future quilter user. What does it, what does it take?

Sergiy Nesterenko: I guess I'll make a couple offers here. So, I mean, first of all, obviously, you know, we, the site's up, uh, we have a wait list. We're curating the wait list simply to actually try to work with the people that come and make sure that everything works well for them. Right. So that's the easiest first step is just sign up for the wait list and we'll reach out, uh, let you in and kind of work with you to see how it's going.

Chris Gammell: Uh, I'm going to ask another startup question here. Sure. Are people more like, if they're super interested, are they more likely to be accepted if they're using a work email? Because that's the thing.

Sergiy Nesterenko: Honestly, that's not a criteria that we select for yet. Uh, I mean, of course, eventually, uh, obviously, you know, it's a startup. It's going to have to make money. Obviously companies have the biggest use for this, all that stuff. Right. But like, this is ultimately a deep tech problem. Right. Like the, the, like the, the question isn't like if such a thing existed, that was just truly excellent. Would it be useful? And of course it'd be useful. The question is, can you build it? Right. So it's like, it's like selling a time machine. Like, would you buy a time machine? Yeah, of course. Can you build it? Like, no, not so much. So honestly, at this point, I, you know, even if you're not at a company doing this professionally, I would still encourage you to come.

Chris Gammell: Well, what are, what are you selecting for? I guess. Cause, uh, you know, like let's give the empire audience a little, little advantage here. This is a primo audience. So how do we, uh, how do we get them into your wait list? How do we get them at the top of your wait list? How do we cut the line? That's what I'm really asking. Sure. Sure.

Sergiy Nesterenko: Honestly, uh, two, two things in my opinion. Uh, so first of all, we want to make sure that, that you're actually intending to submit the kinds of boards that we have a chance of being able to do correctly. Right.

Chris Gammell: So that's just kind of constraint.

Sergiy Nesterenko: Number one, right. We don't want to waste your time. So think about boards that are, you know, sub, sub 2000 pins, you know, ideally sub 1000 pins, sub 100 components, you know, sub two, 300 megahertz signals, sub two amps. Right. Uh, it's like roughly the constraint, right? Okay. If you're above that, we're going to struggle and you probably won't enjoy it.

Chris Gammell: The next thing. Yeah. And I guess we should reiterate here too. This is, I mean, this is basically beta testing at this point, right? Oh yeah. Alpha testing, beta testing. I don't know.

Sergiy Nesterenko: What is it? Call it whatever you like. It's early.

Chris Gammell: Gamma testing. I like it.

Sergiy Nesterenko: I like it.

Chris Gammell: Yeah.

Sergiy Nesterenko: Right. That's the first thing. I mean, and the, the other thing that I'd love to actually do, I'd love to work more with, with the open source community on some of this stuff. You know, so folks who are actually willing to share their design, I'd be really excited to work with just to actually be able to like write a blog post about it. Right. So if there's somebody out there who's doing an open source design and like is geeking out on this and thinks this is cool and wants to, wants to work with it. Great. Come to us. Like, let's work with you and build your board. Let's prove that it works. And if we can talk about it and you can share your project, that's fantastic. Like we get to tell more people about what Quilter can and cannot do. So, uh, you know, this is kind of a, an invitation for anybody who wants to kind of like co-build some boards with us. We'd be totally down for that. Like we're building our own open source boards anyway. We'd much rather have somebody who's like the actual designer of that board talking to us about, you know, what the board's meant to do, giving us firmware and helping us understand the schematic.

Chris Gammell: Right. Right. Hmm. How are you validating on the output side of things? So you mentioned you have an E in house. Yep. Is it mostly because you're replicating, like you mentioned at the open MV board, you're replicating an existing, obviously you have the functionality of it, but then you also have a comparison. Is that, is that kind of a key, key use case?

Sergiy Nesterenko: That's been the approach that we've taken with the boards that we've done that are on the site. So the boards that we've done are the open MV, which we talked about. We did an Arduino Uno. That's kind of like the hello world of PCBs. In my opinion, we did a stepper motor driver and we've done an MP3 player and all of them were open source boards that we could just like literally buy one of and test and just see, Hey, like here it is, here it works. Software works. Okay, cool. And then, yeah, it's just a matter of like taking that design, kind of scraping the layout, you know, undoing the layout, putting it back in the tool for every board on our site. We made the commitment to have no human touch anything on the board after the output. So all we do is we download it. Oh, interesting.

Chris Gammell: Okay.

Sergiy Nesterenko: We share all of our inputs and outputs so people can see, but after the input, we let the software do its thing. We download the board file. We run a DRC just to like double check that nothing else went really wrong. That's it. And we send it straight to Fab. So far we're four for four on those designs.

Chris Gammell: Killer. Yeah, that's great. What is your expectation, I guess, of a user who's, you know, maybe not today, right? But maybe let's say two years from now, right? You've continued to find this, whatever. Do you expect that the user looks at the Gerbers or do you expect that they have built trust in the system that there's just an export to a board house?

Sergiy Nesterenko: Yeah. So we actually have a little bit of experience with this. So obviously what I'm saying here is that I'm inviting people who are, you know, hobbyists and open source to come talk to us. Don't be afraid of doing that if you are. But we have worked with real companies that have built real boards. So I don't want to discourage people who are professionals from using this. Obviously, if you think it fits, fantastic. What we saw with some of the early users is that on the first board they do, they're very skeptical, right? So they download the board, they ask a lot of questions, not feeling too comfortable. You know, and at that point we can even kind of, I don't know, maybe even work with the customer to like build the board for them and show that it works kind of thing. Just so kind of we take the risk and not the customer. That's fine. But after that, like after people see the first design like on their desk and working, after that people kind of just, we see people trust that a lot more on the second, third, fourth time. Those customers still ran the DRC just to like double check that nothing went wrong. But that's it. Like I wouldn't say that they were snooping on the Gerbers really, really closely or anything. So I think, and that's valid, right? Like once you, once you hold it in your hands and you're like, oh, this is real. It actually works. Like, huh, that's cool. You know, the psychology kind of starts letting you trust it.

Chris Gammell: What about kind of then the back and forth? So on the FAQ, it says Altium, KeyCad and Eagle, other sites, other things maybe in the future, but like, does it spit the layout files back out as, as like an Altium layout file?

Sergiy Nesterenko: That's right. That's exactly what we do. So if you upload an Altium board file, then we'll spit out, you know, a minimally modified Altium board file back where basically we just took care of the layout parts and left everything else alone. Ditto for KeyCad, ditto for Eagle. So hypothetically, I mean, speaking to your point about kind of co-piloting with this thing, you totally can, right? Like you can do a little bit of layout first yourself for the parts you really care about, upload it, let it do its thing. And then if you don't like some of what it did, go tweak it. Yeah. Like we're not, we're not spitting back Gerbers or we're not forcing you to go straight to manufacturing. Right. It's, it's kind of like if you had an outsourced layout person that you were emailing a board back and forth with, that's a fairly good model for how this looks.

Chris Gammell: Yeah. That's, that's a good comparison there. Okay. Yeah. And I mean, the other thing too, like being like, uh, you know, if you don't like certain, you know, something really tweaks your eye with like the generated layout, you could always be like, I'm just going to bump this around, you know, use the push and show, whatever. Yeah. Exactly. Clean it up a little bit. Yeah. I mean, that's, that's how I use mid journey too, really. I'm like, oh, you know, I'm going to just remove this finger. Yeah. Yep. Yep.

Sergiy Nesterenko: Exactly. Yeah. And I think like, you know, I'm excited for the day where some of these generative layouts actually outperform what humans can do. Yeah. You know, there's a really cool story with, uh, with NASA. They, they had to design an S band antenna around 2005 or so for a geosat. And, uh, you know, basically it had to have, you know, the correct frequency for S band, but also a certain directionality that would kind of give it the highest gain in communicating to earth. And, uh, some of the engineers took the kind of antenna design software and threw it at a genetic algorithm. It wasn't AI as well. That was the AI of the day. And like the antenna came out with really weird. Like you can see a picture of it on Wikipedia. It looks ridiculous. Like nothing like you'd ever expect, but on every single actual like radiated patterns test that they did, it outperformed every other kind of antenna they had in their hands for that specific use case. So I, you know, I don't think we're quite there yet on the PCB side, but I'm really excited for that. Yeah. Yeah.

Chris Gammell: And you said it was a genetic algorithm. It was that the one, I think I've seen that one. It kind of looks like super blocky and stuff. Uh, we might be talking about different ones.

Sergiy Nesterenko: The one kind of looks like, it looks like you took like five individual kind of thick wires and like bent them at random angles. I can follow up with a link later if you like.

Chris Gammell: Oh, I think, I think I found it. It automated inattended design with evolutionary algorithms.

Sergiy Nesterenko: That's it. That's gotta be it.

Chris Gammell: Okay, cool. I will link that into the show notes. That is awesome. Oh yeah. There's a, oh yeah. There's a paper there too.

Sergiy Nesterenko: Cool. Yeah. Yeah. Yeah. Yeah. So the principles has been there for a while that like you can get, and this is actually more prevalent, I think in mechanical design where, uh, you know, people will kind of say like, Hey, we need to handle these loads from these directions. Uh, and, uh, some generative algorithm will come up with some mechanical structure that looks like, you know, almost like a rib cage or some bones or something like that. Yeah. That like, uh, have the best strength to mass ratio. You know, I want to see that in PCB design.

Chris Gammell: Hmm. That would be cool. What about the, um, so you'd mentioned, you know, the, the, obviously a larger amount of space will make for a easier solving, you know, solved solution. What, uh, are there any, is there any guidance on that sort of thing? I mean, like, like right now, do I also upload a, like an outline file, like a DXF or similar?

Sergiy Nesterenko: Yeah. So the way we handle outlines is that we parse them from your board file. So, you know, obviously all team ego and key cat have their own ways of defining, uh, cut out, so to speak. Uh, but that's what we parse. So, uh, you know, in key cat, the same way that, you know, if you're most familiar with key cat, there's a specific layer for cuts, uh, and you drop a rectangle or a bunch of line segments or whatever. And like, that's what we'll use. Now the question about densities is a good one. What are like, what we tend to do with our designs is submit a few different sizes. So we'll submit a small one, a medium one, a large one, and just like have them run at the same time, see which one comes back. So we've debated adding this to the tool where we basically like, if we can't meet the constraints you said, we automatically relax it a little bit and kind of like go bigger and bigger on the board size. That could be interesting though. Honestly, the feedback we've gotten is that it would be better to increase the number of layers rather than the size, because then at least you can usually still fit in the same mechanical enclosure. You had to, even if the manufacturing costs a little bit higher because you had to go to six layers instead of four or something like that.

Chris Gammell: Yeah. I would agree with that.

Sergiy Nesterenko: So we're trying to get that flexibility in there first. I think that would be a better feature, but in principle, why not?

Chris Gammell: Yeah. Other interesting things for me would be like, uh, like when I think about like place and route type of stuff that I've done a long time ago, um, it was like, you know, I got to 98%, but it missed timing on this section. And then maybe I could go and change something about that section. So just like a general call, and this is that co-pilot kind of thing. Like you, you've been talking about, it's like the, Hey human go and go and make this easier, a little bit easier for me. And I'll try again, that sort of thing. So it's not like, like, I don't want to have to be tweaking stuff over and over and over again, but at least some pointers towards if I do have a heart constraint on size, like you said, you know, being able to switch to more layers, being able to, you know, do some custom piece of the layout so that it makes things easier, moving a component that I don't care about that maybe I, maybe I may put down a connector, but I don't actually, you know, like I just want to reconsider that connector. Right. That would be helpful too.

Sergiy Nesterenko: Yeah. Another cool thing we haven't done yet, but I'd like to, is things like pin swapping. A lot of these kinds of test engineering boards that we do, you know, you have like, I don't know, 30, 40, 50 signals you want to hook up to some connector and it doesn't actually matter which one goes where. It's like, that's something that would be nice for, for the algorithm to be able to optimize on its own as a kind of released or relaxed constraint.

Chris Gammell: Yeah.

Sergiy Nesterenko: And there's lots of different things that you could do for sure. And it's funny you say the 98% number. It's, I think that is kind of the big difference between a good tool and a bad tool in this case. It's like, it's the last 2% is by far the hardest piece. Yeah. So like for the vast majority of boards that we do that are like, at least within our scope, like, yeah, like the ones that don't complete, we'll get to 98, 99%. But man, finding a path to that last one, like that's where you've blocked yourself into your real corner. And even for a human, man, it's really annoying to go back.

Chris Gammell: I'm literally thinking of my, I have video proof of it. When I did the ABC board, the, uh, like I was basically just like out of room and like, and I think, uh, you know, I think I did 20 total layout videos and I think the last four were probably about the last 2%, you know, just like pushing here, shoving there. And, uh, yeah, exactly.

Sergiy Nesterenko: That's why we really pride ourselves on trying to get to a hundred percent. Like the, the, the baseline before even thinking about any physics or anything is a hundred percent completion with zero DRC violations. If we didn't get that, we consider that a failure on our part because that last part is so hard.

Chris Gammell: Do you think the, uh, this is going to sound bad. Uh, do you think you would relax any of the physics constraints? So like I can imagine some of my layouts probably have more crosstalk than they should. However, I'm willing to risk that sometimes in order to squeeze some traces through a little tiny area when maybe the traces are closer together than they should be. Uh, but I'm willing to take that risk and kind of deal with it later. I know that sounds bad, but I have done it and I, I've kind of known, known the risks maybe later in my career. How about that? Sure. Yeah.

Sergiy Nesterenko: I mean, we're not at the point where we're making those trade-offs at this point. And certainly if we were doing that, we would absolutely let the user know. Right. And ideally numerically, um, to kind of really show what the impact is. But the thing I'd rather us do is like relax a slightly different constraint. So for example, maybe we had to relax a crosstalk constraint on a four layer board, but here's a six layer board that does meet it. And then as the designer, you can choose like, ah, do I really think it's important to have, you know, such and such level of isolation or am I not going to go for the cheaper board? That's four.

Chris Gammell: Is it cost or is it right? Right, right. Yeah.

Sergiy Nesterenko: I think that'd be much better than just like not even giving you an option that meets your constraints.

Chris Gammell: Yeah. I think that's, I think that's, uh, those trade-offs. I mean, this is like basically describing engineering at a, at a base level at this point, you know, that's just like, you have to, someone has to make these decisions and I, I will bring it back again to that. You know, how do you know, especially as a younger engineer, younger engineers learning this sort of stuff too. It's like, I just think there's so much space for education in there because, and now that if you, you have something where you can run a AB test effectively and say like, actually, you know, this, we did the solving on it and you know, this, this trace next to this one causes 10% more cost cross talk. And that's, you know, here's what the signal is going to look like or something like that. Being able to kind of game it, game it out before you do it, that could help to, as a learning model, I feel like as well.

Sergiy Nesterenko: Absolutely. Yeah. I mean, I think it's, it's critical to have that feedback, right? Like, you know, I keep coming back to software cause I think it's, it's to a large extent what we should try to strive for in hardware. And the key thing about learning in software is like, you can just try and fail, try and fail, try and fail. Right. Like how do you write, you know, some new piece of code, especially as a beginner, like you try something, it crashes, you try something, it crashes, you try something, it does the wrong thing. You just keep doing that until suddenly you figured out how to really make it work.

Chris Gammell: Yep. Yeah.

Sergiy Nesterenko: You know, we can't quite do that with just building boards. I mean, I think when we get to the point where like a printer can just print the board out and have it work automatically. Cool. You know, maybe we can get to that point in reality, but until then I think physics is our best, right? Like if you really have a physics simulation that can answer the whole question for you, that's the best way to kind of try and fail.

Chris Gammell: Right. Yeah. I think the software model is kind of zero marginal cost to try again. Right. That does not exist in hardware in any way other than simulation. So. Right. Well, let's, let's lean on simulation, I guess. Yeah. It's getting lower though, right?

Sergiy Nesterenko: Like the, the amount of time required to, well, the cost even in dollars and in time to have a board is, is drastically dropping, right? Like 10, 15 years ago, it might've been weeks and thousands of dollars. Now, you know, you'll get a board from JLCPCB in less than a week for 50 bucks.

Chris Gammell: Sure. Sure. But there's also an unstated negative externalities like e-waste that we don't really talk about it all that much, but they're very significant. And, uh, I think if we can do it in a simulations way, that's not, you know, I think a lot of, not a lot of this stuff, but some of this stuff has been possible for a long time, but the gates around, you know, there are simulation software, there's solvers out there, but the capabilities and the costs to do so are, there's not enough of a, a drive to do it in industry as a standard practice that, that, uh, that justifies the cost in certain places, like you've mentioned, you know, so like some high speed scenarios and some, um, you know, high reliability scenarios. Yeah. You're going to do that stuff because it costs a lot to make the end board or it costs a lot to fail or whatever. You're going to do more and more of this stuff, but it sounds like it's just kind of bringing those capabilities kind of into the more general sphere. And, you know, if, if for nothing else, that is, that's a positive thing, I think.

Sergiy Nesterenko: Yeah, absolutely. Absolutely. Yeah. We need to get to the point where it's, you know, drag and drop your design and get some confirmation of what's good and what's bad on it. That would be the ideal. And like, you can, you know, pull up Ansys or, you know, whichever other simulation software isn't through that, but like, I wasn't going to say Ansys, but yeah, this Ansys is really expensive. Yeah. Yeah. I mean, aside from being ridiculously expensive, it's just, it takes a long time to learn. Right. Like, yeah, true. True, true. By the time you learn how to do the simulation, you could have just fabbed your board and seen if it worked.

Chris Gammell: Right. Well, and like, so the other thing too, I know that I was going to ask about this stuff is like, this doesn't exist in layout programs, but why is that? Or maybe it does. And I'm just using key CAD. So it's free. So like, yeah, I should probably temper my response there, but.

Sergiy Nesterenko: Yeah. Yeah. I mean, I think to some extent it does. I think the, the most, I'm not an expert at this, but like the most popular one in an ECAD software, I think is hyperlinks in mentor graphics. I could be, I could be misremembering that. Yeah. Likewise. I haven't either. Hence why I'm kind of stumbling. Uh, and I'm sure all team has some plugins as well to approximate some of this stuff. So I think people have definitely tried. Um, there's also a, um, a spinoff by TDK came out recently. I forget the name of that company, but they're also trying to do like a, you know, upload your board to our website as a service. And we run kind of EMI tests for you automatically, which is super cool. So I, I think inklings of it exist. And I think it just hasn't, I don't, it's like a chicken and egg problem, right? Like it's not good and easy enough where people are used to it. And because people don't use it, I think nobody's really trying to build it. Right. Right. Yeah.

Chris Gammell: There's no market here. Nobody uses this. Well, they haven't, they don't exist yet. How could I use it?

Sergiy Nesterenko: Right. Yeah, exactly. Yeah, exactly.

Chris Gammell: Yeah. Well, standardizing some of this stuff would be great. I think. Yeah. Do you think there's any negative or sorry, any false signals from this stuff that, so again, because you're, you're using solvers and stuff like that, and there's margins, like, again, like you said, some of this, so like, just to go back to my example of maybe subpar design on certain things, right? Like 10% margin on crosstalk might be something that's generally acceptable, but a simulator won't tolerate. Like, how do you start to feed that back in your mod? I don't know. Like, it feels like some of like, some of this stuff is going to be squishy in the real world, like where, you know, Chris is running a trace next to another trace, but quilter might be like, no, no, no, that's a zero. No, no crosstalk a lot. And like, so how, how does that get fed back into the modeling?

Sergiy Nesterenko: Yeah, that's, that's a good question. And I mean, it's, it's not that we've thought a lot about this and figured this all out yet. So we're, this is stuff that's yet to be built really. But I think that, you know, the, the right way to approach it is just to, you know, do good engineering and find all of the real constraints, right? So you're really trying to, like, if you're looking at crosstalk for a trace, what you're really trying to answer is just like on the chip that I'm feeding this trace to, you know, what's the signal going to look like? And is it too noisy or not too noisy? Right.

Chris Gammell: Right. Yeah. Can I, can the threshold detect it when it's like a spy signal or whatever, right? Like what is the, what is the margin on all things?

Sergiy Nesterenko: Right. Exactly. So if, if it's a common standard, you know, you mentioned spy or ITC or something like that, like there are well-defined kind of noise standards where if you exceed those noise thresholds, the bus is no longer guaranteed to work. Maybe it does, but like, that's not really the design corner you want to be in. You want to just meet the standard. I think it gets a little bit trickier when it's a custom application. So like maybe you have, I don't know, say an ADC and it's doing some sensor measurement for your specific application, you know, that isn't like a standard application. I don't know, maybe like you're trying to detect earthquakes or something. Right. And then like, based on the physics of earthquakes, you figure out like, what is the, you know, the noise floor of the ADC and like, what is the minimum signal that you need to detect? And then you've defined your kind of like maximum allowable noise. That's where the kind of design intent has to come from the designer and tell quilter, like, this is the kind of maximum noise or the isolation that we need on, on this input. So I think those are the two cases, right? Like, I think in some cases, just by looking at the chip and looking at the technology that, you know, that that pin is using, there's a standard or some kind of information that can tell you like, if it's going to work or not communication buses or, or stuff like that. But to an extent, yeah, this is going to be for the designer to set. So maybe the software equivalent of this might be like, well, we need to compile this code such that it runs fast enough, right? It needs to run in under 30 seconds. And like, is the compiler going to know that it's a requirement? No, it's just going to do its best. And if it's not doing well enough, you then tweak the design to make it a little bit smarter. And so like that amount of kind of collaboration with the tool is probably always going to exist.

Chris Gammell: Yeah.

Sergiy Nesterenko: At that level.

Chris Gammell: Right. Right, right. Optimization levels. I guess that's size, right? But like then I guess you could dive into RTOS and like, are you making timing there? That sort of thing too, right? So that's a kind of parallel path that you might to fit your constraints, that sort of thing.

Sergiy Nesterenko: Yeah. But I mean, in almost any project, you have some optimization variable, right? A lot of times it's cost, sometimes the size, sometimes it's some sort of performance metric or whatever. And a lot of times, you know, you're kind of sacrificing everything else in order to hit, you know, to maximize that optimization metric. And so we should be able to kind of do that as well. And to a little extent, we've started doing that, right? So even on Unquilter site now, we can give you the option of a two-layer board or four-layer board in a lot of cases. And the trade-off there is straightforward, right? Like four-layer board is going to be more expensive, but you're going to get definitely better, you know, signal integrity and noise isolation on that than a two-layer board. Yeah.

Chris Gammell: Awesome. Okay. We should wrap up here, but I have to ask about planes, planes on a two or four-layer board, I guess four-layer board rather. Is there like a capability for planes? Like do you define the plane yourself and say, don't touch it? Like this is just a ground plane? Or is that kind of built in as a thing that you would expect on a four-layer?

Sergiy Nesterenko: Yeah. So currently the way that we approach it is, even if you give us a four-layer board, we start off by just deleting everything and converting it to a two-layer. And then we branch off into a two-layer variant and a four-layer variant. And so we will add the plane. We will take care of making the pour and doing all the calculations associated with that pour. We do have the ability to go around certain pours. You know, so maybe you have some high power section on the top layer and you wanted to use a pour for it rather than traces.

Chris Gammell: Yeah. Yeah. You're like grabbing a layout from like a vendor that's like, hey, here's the best case layout for like a switcher. You just copy that into your design and say, no touchy. Exactly.

Sergiy Nesterenko: Yeah. That's totally fine. So yeah. So as far as stack up, like we'll control the stack up, but like, you know, a pour that you controlled and like the top or bottom layer, that's fine. Like we can leave that alone.

Chris Gammell: Okay. Cool. Cool. Well, I have to ask this as well because people yell at me if I don't. What about like pricing? So like how much is this going to cost if it is a thing that a company uses or I'm guessing company uses, I'm guessing individuals are, let's just say company uses.

Sergiy Nesterenko: Yeah, no, of course. That's a really good question. I mean, honestly, that's something we're going to have to figure out as we go. You know, I want us to have tiers. So like, I'd love for there to be kind of a free open source tiers. Like if you're willing to open source your design and share it with folks, then like, you know, maybe to some extent you get a free version or something like that. Sure. Sure. Obviously we'll eventually do a free trial or something like that too. When we start to monetize. I want there to be a kind of like hobbyist tier, you know, so something in the, you know, $50 a month range, something like that. But of course there's going to have to be an enterprise tier as well. So and I'm not sure, like we've, we've, we've had.

Chris Gammell: I think that's a good benchmark with like a hobbyist tier too, though. Right. I mean, like that's not a small amount, but it might say, you know, like even as a hobbyist, it might save you what, you know, a couple more hours with your kids, you know, a month, like, all right, that might be worth it. You know, like it depends on how the flow goes. Like I pay, I pay for mid journey now. Like that saved me, that saved me, I don't know, like a bunch of money I would put on fiber for bad artwork. Now I'd make the bad artwork myself. So like there is, there is, you know, it might not be great for a student, but like, but for a hobbyist who's like, just wants to get some stuff done. I think that's makes sense.

Sergiy Nesterenko: Yeah. And of course, you know, for, for enterprise tier, you, you can expect enterprise kinds of features, right? So a lot more compute, no limits, sharing projects, but also like better support with one customer. We actually did an agreement where we made a guarantee that even if we can't complete boards as the software, we'll do them by hand. Right. And so kind of like, cause what the customer really cares about is layout. Right. Like, like, I think it's like people who are into like, you know, tech and AI and stuff like that geek out on that part of it. And that's great. But like, really that's not the important part. The important part is that layout gets done.

Chris Gammell: You need the board done. It needs to be like done and it needs to be like proven. And then I need to move on to the next thing. Please, please, please.

Sergiy Nesterenko: And that's, that's, that's how we think, right? Like we're not doing AI for AI sake. AI is just one of the tools that we use in ultimately serving that goal of like, get the board done, make sure it works, make sure the customer can bring it up and everything's okay. And so, yeah, I mean, that's, that could be a service as well, right? Like if the software is struggling and, you know, it needs a little bit of human help. Well, from the customer's perspective, you paid for a layout service, right? So maybe some amount of human loop could be acceptable there as well. So yeah, long answer is we don't actually know the pricing yet. We're going to have to figure it out. Okay.

Chris Gammell: All right.

Sergiy Nesterenko: But I want to make it flexible.

Chris Gammell: Yeah. I think that's great. That's great. And I think, you know, people used to like the, the open source having some, some level of free that, that makes a lot of sense. And I think, like you said, people that are interested in have open source designs, they're willing to help contribute. The beginning could be an interesting way to, to try out something new like this. So where can people find all this stuff and follow you online?

Sergiy Nesterenko: For right now, it's just the website, quilter.ai. If you go there, that'll have, you know, the wait list for the beta and any updates that we have about the tool and things that we're building. All my contact info is on there as well. And eventually when we start doing things like social media, we'll link that there as well.

Chris Gammell: You got to lead with social media, man. Yeah. I mean, when you do social media, those, those visualizations, I think that's, that's all you do. You just post that. That'll be, that's some good stuff.

Sergiy Nesterenko: For sure. Yeah. That'll be fun. I'm looking forward to that.

Chris Gammell: All right. Well, thanks so much for being on the show. I appreciate it. And I'm looking forward to seeing what quilter pops out next.

Sergiy Nesterenko: All right. Thank you so much, Chris.

Keep current

Every episode, plus the occasional job post, in your inbox.