There's quite a few seats down here in the front row. If you've got, if anybody's looking for seats, right here is four, three. Okay. So, let's please give a warm welcome to Wayne Stambaugh. Thank you. Thank you. Thanks. I'd like to start out by saying thank you for everybody for attending. It's great to be back at a live Fosdom again. This is the first time I've been back since 2020 pre-COVID. So it's great to get out in front of the key CAD user base and get to talk to people. If you didn't show up at the booth yesterday, it was a lot of fun. We sold our swag out much faster than we thought we would and all the stickers were going before lunchtime. So hopefully next year now we know we'll bring a little bit more with us. So there's a lot to talk about. I know some of this is going to be kind of fast. I'm going to get through it quick, but because there's been quite so many changes that are going to happen in the upcoming version eight, I'm just going to blow through them. The talk slides are available online. There's some animations in them that I'm not going to have time to let play all the way through. So if you are curious about how some of the new features work and how you access them, you can just download my talk and then play through it on your own. So let's talk about what's going on. I'm only going to talk about what's happened in the last year because it would be too much to go all the way back to 2020. Unfortunately, that first line should have said key CAD date was already released. Well, we ran into a few issues. We're going to have to spend an RC3 here probably in the next day or so. I expect eight to be released with some time in the middle of February at the latest. Fingers crossed, but I think we're pretty close. Last year when we ran the version eight end of year campaign, we raised over $200,000 in donations and donation matches from other companies. So that was really, really a successful donation campaign, and that's allowed us to pay developers to continue to contribute to key CAD. So all these new features that are in key CAD and V8 and then moving forward is largely in part due to those having those funds available to help pay our team to continue to contribute. That's been really beneficial. We had our first conference since the original one in 2019 in Chicago. There was a key con Europe this year in Ocarina, Spain. For those of you who didn't get to attend, it was a much smaller, more subdued event, but it was really well done and I think everybody had a good time. Interestingly enough, spun out of that, there's a company called Watch You Next PCB who is one of our platinum sponsors. They also decided to throw a kind of impromptu key con Asia. And so Seth and I were in Shenzhen in November for the first ever key con Asia. So what else is going on in the team? So in the last year, we've added three new lead developers. Watch You Next PCB who sponsored the key con Asia event. They actually have hired people to work full time on key CAD. There's one full time individual now. Once we release eight, he'll probably be the next member of the lead development team. They also hired a second person that he's bringing online and getting him used to the key CAD code. So now we're going to have some additional resources that help the project. The biggest improvement though has been in the library team. So the library team has grown tremendously. For a long time, we had this huge backlog of symbol footprint 3D model libraries that kind of were getting stale because the people who were running the library way back either changed jobs or they had to go do something else. Life got in the way. But in the last year, we've added six new members to the library team and there's been eight now. Is it eight? Sorry, I probably didn't update it. But it's been a huge amount of backlog. I'll go through the statistics at the end here just to show you how much that's improved. We actually have a technical writer now. We have one individual who spends a lot of time just all he does. He's like our, they always say there's no I in team for Graham. He is truly a one man team. So our library docs don't lag or our key CAD documentation does not lag as much as it used to. It used to be the documentation always lags quite a bit. For version eight, it's going to be relatively up to date. There'll be a few things that are missing. One of the other things that was interesting is worth electronic out of Germany had contacted me about providing their footprint and symbol and 3D model libraries to key CAD. And so they've been slowly starting to online and contribute stuff. And their goal was to get their entire product line in the stock key CAD libraries. So at some point it's quite a, that's a big company and it's quite a few parts. So thank you to them for stepping up and documenting their basically providing their own symbols and footprint and 3D model libraries for key CAD. So one of the things that's interesting, we'll talk about, I'll also talk about this in the statistics part is in US and in Europe we have quite a bit of market share. We actually have a very large presence. But in Asia we've kind of lagged behind, but in the last year we're looking at the download numbers, Asia's really starting to ramp up now. And you know, that's a really big market. So it's neat to see key CAD getting in, in making penetration in that market. And I think one of the main reasons, especially in China, is we now actually have quite a few people who are full time either translating the application, translating the documentation. So they have really good native language support for key CAD. So that's really, I think that's what's helped. We now have five platinum sponsors and if you're not aware platinum in key CAD is 15,000 a year or more. So we now have five of those. And I know it's a little limited right now, but the key CAD stores open. So if you want to get some key CAD swag, there's not a lot of items there yet, but as time goes on we will add more and more items to the key CAD store. So head to store.keycad.org and check out, get your latest key CAD swag. And of course we always like to give a little love to our platinum sponsors. I see Felix is around here somewhere. Eisler, the newest sponsor is DAI and they're a consulting firm. They are our latest platinum sponsor. DigiKey and Watchu, Next PCB. So Watchu is the parent company of Next PCB. You are familiar with them. They are a PCB and PCBA manufacturer. And of course key CAD services corporation whose goal is to continue to support the key CAD project from the commercial side and everything flows down from there into key CAD proper, which so we all get to benefit from. So what would we add in version 8? So there's a lot of things that happen in version 8 that are not in version 7. So we made a bunch of SVG exporter improvements. Some of the primitives used to export as line segments and now it exports as its own primitive. There's now a startup splash screen, but that's been disabled some more about that later. But it's there for like rebranding. If somebody wanted to make their own variant of key CAD and wanted to put their own splash screen up there, they can do that. There's now, oh it's slow. Oh it went too far. Page up. Come on laptop. There we go. So there's now all the hotkeys. So here you can see the animation plane. You can assign multiple hotkeys now to a single action. We have ARM64 builds. So for those of you who are running Windows on ARM64s, we now have data binaries for you guys. One of the big contributions this year was there's now an easy EDA project importer. So your easy EDA and easy EDA pro projects will import directly into key CAD. The whole project schematic, everything. So that was a nice contribution. We introduced the command line interface in version 7, but there were bits and pieces of it we're missing. So now you can run DRC and ERC from the command line. So if you want to do like a CI tool, so every time somebody commits a change, you run the ERC or DRC, make sure it's clean. And if it's not, you can automatically ping somebody, hey you broke this, you broke that. So that's going to be in, that'll be available in version 8. Yeah, we all like those CI tools. Keep people on their toes. So here's something that's interesting to happen this year. So one of our, this is one of the things that key CAD services did was there was a customer who needed this for their, this was a request, they paid us directly to integrate this into key CAD. So everybody gets get support key CAD now. It's not everything is supported in get, but most of the basic things that you would need to keep track of version control of your designs is now built into key CAD. So the property panels on seven, it was only available in the board editor. It's now available in all editors. So the schematic and the symbol editor and the footprint editor now have the little panel. You select the object, you get the, you have the panel up. You can modify your object properties without having to open and close the dialog. Here's another, oh come on, you can do it. There you go. Here's another one. So we have customers that do really complex designs and they requested this. So they have, when you highlight a net, sometimes it's so complicated in order for you to find where on the design where everything goes. If you have a deeply nested hierarchy, it's cumbersome because you got to walk down, walk up and down the hierarchy stack. There's now a navigator. When you highlight the net, there's a navigator allowed. You see all the elements that are connected to that net in the bar on the left. Click on it, opens the sheet, takes you to that element directly. So if you do really complex designs, it's a time saver. That was also paid for by somebody else. This wasn't something that was even on our radar. It was just something that a paying customer requested. They paid for it, goes into key CAD. We all win. So there's now search panels on all the editors. So there's a global search panel which allows you to search for all kinds of different objects. You click on it, takes you to that object in the view. Instead of the old find dialog, this is a lot more convenient. It's a little bit more useful. You can see what's available. So there's now an internal bomb tool. In version 8, you no longer have to generate your bombs using a script. In the past, we always scripted it out because everybody would argue about what a good bomb is. We provided a tool. It's obviously not as flexible as the scripting is, but if you just want to export a simple bomb, there's now a tool for that, built into key CAD. So we also have contextual object grid alignment. So you know how sometimes you want the pins on 50 mil grids, you want your text to be on 25 mil grids. You can set it up contextually and when you're using that object, it will automatically pick that grid spacing. So instead of you having to constantly change grids back and forth when you're connecting pins versus like moving your text around to get them all nice and lined up pretty, there's a tool that handles that automatically for you. You don't have to do it. There's now nested symbol inheritance. So you can now instead of in version 7, the derivation level was 1. Now the derivation level is infinite. So you can create subgroups of subgroups of subgroups and you can stack. So you don't have to keep redefining the same fields over and over again. You can define a set of fields and then build something on top of that, the symbol on top of that, symbol on top of that. So that's available in v8. Oh, God. Yeah, this is a pretty big, there's now a tool to check for diffs so against the library. So you're working in your schematic. You don't know if there's a different, you know, it allows you to see a diff. So you say you run an ERC and you say there's a diff, you get a diff error or a diff warning that your symbol doesn't match what was in the library. There's a tool now that will show you what the difference between the two objects were. So you can decide whether you want to pull in the change from the library or just ignore it. Okay, so there's, we now, you can now directly import CAD, Altium, CAD Star and Eagle Symbol libraries directly into KeyCAD like you could do some, you know, some of the other ones instead of having to like convert them and then, and then bring them in as KeyCAD libraries. You now can just bring them in directly. There's a preview. Is it going to show up? Yeah. So there's now a previewer for the library so as you hover over, mouse hover over them, instead of having to click it and see it in the editor, you can now just hover and say, oh, yep, that's the one I want. Just some handy convenience features. There's now a library file. I don't recommend anybody doing this. This is just for demonstration purposes. Here on my hand editing, a Symbol library file, and if you watch in the, it's updating, we now watch all the files in both the Symbol and Footprint libraries. And if you, if they change, it will tell you so you don't save over top of existing changes like say somebody, say you got two people working on the same library at the same time. Some of you is going to get a, hey, you're going to overwrite somebody else's changes. So we implemented that. We now have a simple single button now. Let's say you have a bunch of libraries that you've imported from Altium or Eagle or wherever with one button. Now you can just save those as KeyCAD libraries because one thing we can't do is we don't write anybody's proprietary formats. So we just, it's a read only library. But if you want to edit them in KeyCAD, you just save them as KeyCAD libraries and go on about your work. We now have differential cursors in the simulation, in the simulator. There was quite a few changes in the simulators that much improved. So you, you know, there's a lot of LT spice like features that people are used to having in a spice simulator. Oh, come on. We can now directly import LT spice schematics. There's a caveat with that. You have to have LT spice installed because it goes, because it needs to go back into LT spice installation and get all the LT spice symbols. So if you want to do this in order for it to work correctly, you do have to have LT spice installed on your, you just can't take your LT spice circuit and then import it without being able to import the rest of LT spice because it references its own internal stuff. So we have to do this ourselves in LT spice and we have to extract all that out to make a simulation, but it works very well. I mentioned earlier we got a bunch of spice simulator improvements. We have FFTs. This is a really bad oscillator here. So it's fun to make. You can see, you should only see that one spike there at the beginning and none of the other ones and a perfect oscillator. But I did this one just for fun because I know how to make bad ones. I've experienced that. And S parameters and Fourier. So like most of the features that have been available in NG Spice that we just haven't extracted out, that information that we haven't extracted out in the simulations is now available. One of the more requested features, come on, you can do it, there you go, is editable power symbols. So before in KeyCat if you wanted to create a custom voltage, you had to go into the symbol editor, copy it and then change it. You can now do it on the fly right from the schematic editor without having to create a new symbol. We vastly improved the importers for SVG and DXF, or I'm sorry, we now actually have SVG and DXF importing into this schematic editor. It was only in the board editor and the footprint editor I think before, but now it's now in the symbol and schematic editors. We can export to Cadence Allegro PCB designer, so for those of you who don't want to use our board layout package, you can now export the net list to Cadence. And we've switched over, so a long time ago we switched the board editor printing in Cairo, which can do things like alpha blending, which is kind of more important for the board editor, but we've also switched over just recently in the schematic editor. So like if you have bitmaps with alpha instead of being no alpha, they'll be printed with alpha blending. Okay, that's it for the schematic editor. So it got the bulk of the love for version 8, but there were still a lot of changes in the board editor. So we have the same tool that we have in the schematic editor, check footprints against the board in the library. You can get a visual diff, you get a visual diff just to see what the difference is before you accept any changes. You can now import, come on, you can now directly import Altium Footpoint Libraries. Before we didn't, you had to save the Altium Board Importer would import them and automatically convert them to key cad formats. Now you can just import the library as it is. SOLIDWORKS PCB files, we now do, that wasn't fairly easy because they're basically Altium PCB files, but we can now import SOLIDWORKS PCB files. There's a do not position flag, DNP for the board editor now so that when you export your position files, it won't export those if there are things that you don't want your pick and place machine to populate. We now allow connectivity on any random shape. So you can draw a shape on copper, any shape you want, sign a net to it, it becomes a trace or another connect or zone, but you can basically draw any arbitrary shape and give it a net name. We've added some major improvements to the interactive meander tuning, here's the new properties dialog that allows you to set the parameters when you're doing your meander tuning. There are a bunch of step export improvements, including if you really want to have ridiculously large step files, you can actually export the pads and the traces and the vias, and your step files will be gigantic, but you can do it now. That was a feature that people requested, but be prepared, you're going to have some big step files. So property panels again is now in the footprint editor, you can see down there I click on an object, I get the properties, I can just edit them in the properties editor. We also have the preview, the hover preview, flyover preview in the footprint editor as well. There's a recent, we now export to IPC 2581. So I know this isn't supported by a lot of manufacturers yet, but we're now in a position where when it becomes more widely supported, we'll already have it in KeyCAD. And there was a whole host of 3D viewer improvements, things like visibility panel, so you can turn layers on and off, and there's a bunch of other stuff in the 3D viewer that were massively improved. So I'd like to thank Roberto because I shamelessly stole this from his presentation at KeyCon. This was a matrix of the changes, and so everything in blue was the importer. These were the importers for third party tools. Everything in blue was in seven, the orange is now included in eight. We have a few gaps, we got Gita, import, and PICAD, but we still need to do the project support for Altium. So right now you have to import the schematic, the board, sync them up together so that KeyCAD is happy, but I think in eight and nine we're going to have project support for Altium. So here's some fun statistics. So the source repo, so between now and version seven, the source repo, and it's actually more than that now, had 4,500 commits by 15 different authors. Actually KeyCAD sits at 1.63 million lines of code without translations and another 176K lines of comments. So we're rapidly approaching 2 million lines of code. The library team has just been busy, and in the last year we've added 1,207 new symbols for a total of 20,000 2023. I'm sure it's more since I've made this. He's clean, that's not here shaking his head. Footprint library, we added 713 for a total of 13,454. And just to give you an idea how significant that number is, I was informed this morning that one large, well-known component distributor doesn't have that many footprints. We actually supply more footprints than some of the distributors do. So I don't think I have the permission to say who it is, so I'm just going to say just throw that out there, but it just shows you how massively improved the KeyCAD libraries are. We added 238 3D models for a total of 6,700. We did slip a little bit in our language translation, so for v7 we had 17 languages that were 99% translated. We only have nine for v8 release, but I'm hoping that situation will improve as v8 gets out there. We saw, I don't know how many people saw this, but Felix and Eisler posted KeyCAD usage, and this actually shows the growth from 2020 to now. In 2020, I think we're roughly in the mid-20% of their orders for KeyCAD, and we've continually grown to now, we're 42, but I've heard recently somebody say something like 50% in the last month. So you see all the other EDA tools going down, KeyCAD's going up. That's a nice trend. I like that trend. And it's an Oshpark also demonstrates similar kind of trends. They're seeing KeyCAD usage go up from their customers. Now, that's not universally true. There's other board vendors, I'm sure, that have different statistics, but most of the board vendors that we interface with directly, they're seeing those kind of numbers. So that's really good. So I'm going to blow through this quickly. I apologize for not having a lot more time. But here's what's coming in V9. So we're going to have IPC support for internal procedure calls. So one of the things that KeyCAD has always had an issue with is our Python scripting. People call it an API. Technically, it's not an API. It's a wrapper around the internal KeyCAD API. So anytime there's something internal changes in KeyCAD, we build the Python scripts, we break stuff. We are in the process now of working on an IPC interface that will act as a go-between between any high-level language, including Python, and a running KeyCAD instance. So one of the things you know is you can actually bring KeyCAD down with a rogue Python script. So we're going to try to fix that in NINE as best we can. And at some point in the future, we'll deprecate the scripting stuff and make everything built on top of the API just to eliminate those kind of issues. And so you'll have a stable interface. So when you write a Python script using the API, it's not going to break the next time you compile and rebuild KeyCAD. We want to do, one of the things that's requested is customizable interface, including toolbar layouts. We're going to try to get that done in NINE. There's some talk about doing a visual diff merge tool for Git. So you look at the difference between, so you'll see the visual difference between the schematic or the board before you change or merge. So you have a merge conflict with somebody else. You can look at the diff and say, oh, yeah, I want mine or I want theirs. We've been getting requests for embedding licenses and project and library files. So we'll implement that. Support for barcodes, multi-user editing is something we've been discussing, whether or not that happens or not. That's a big one, but it's something that we're looking at. And of course, I talked about the pads and the guita importers. We've also been taught, one of the things that people have asked us about is being able to save the old file formats. Historically, KeyCAD has not allowed that, but we're actually in the process of thinking about that. And also, forward file compatibility, we were just open a file, an older file or newer file, and KeyCAD just says, well, I don't know what to do with that. So it just doesn't do anything with it. But if you save it, you're going to overwrite and lose your anything that the old version of KeyCAD, you'll still be able to open it. It's just some of the things won't work. A lot of other applications do similar things. For the schematic editor, there's actually a merge request now for a tool that synchronizes sheet pins and hierarchical labels in the schematic that it references. So you can do this bi-directional updating in both directions. We're going to replace this. So right now, we allow sharing of schematics between projects. We're going to stop that and go with a reusable design block because that particular thing causes us so much grief that we decided it wasn't smart to continue to support it. That will give us the design blocks. We're going to do variants for schematics in nine. I don't know if we'll get the board variants, but at least we'll get the schematic variants. Bezier curve editing tool. People who know there's a Bezier curve support in KeyCAD, but there's no tool to edit them in KeyCAD. So we're going to do that. The board editor, there's also now a zone manager. That's also a merge request that's ready to go as soon as we release eight. It allows you to edit all your zones in a single interface. Instead of having to open each zone individually in one dialogue at a time, now there's a zone manager for all of them. Multi-channel designs, that's in progress. Pad stacks. We're really hoping that one gets in because that's one of the feature parity issues that we have. Like so when we try to import from other tools that support pad stacks, we can't import them. We have to make an assumption based on a best guess and you get the pad stack that KeyCAD could support. So we're going to do pad stacks. Guard rings, that's a feature for those of you who do high-end piece stuff and you want to guard your high-end piece circuits so you don't have to leak each current. Those are useful. Right now our router doesn't really make it easy for you to design a guard ring. And also we're going to do the Bezier curve editing tool in the board editors. Somebody's working on a table tool right now. That'll be in the schematic and maybe the board editor. I don't know whether that's actually going to happen but hopefully it does. So it'll just be a table like any table in your favorite document editor. They'll just be native table support. We want to embed 3D models into the footprint so you don't have to have your 3D models. 3D models are external to the board. They'll just be embedded in the board and you take the whole board with you. You've got all your 3D models. ODB++ export, this one's already also in progress. Our friends at WatchUnextPCB are working on that because their infrastructure uses ODB++ since they, you know, that's what they use when you order boards. They prefer it over Gerber so they're going to provide ODB++ support so if your favorite board manufacturer is an ODB++ only shop, you'll be able to export that. Okay, that's it. Just a quick wrap up here. I can't, I mean I get to stand out in front of the team as the project lead but it's an incredible amount of time and I always want to say thanks to all our developers who contribute to KeyCat. It's really gotten impressive the last, you know, the amount of contributions just keep going up. I'm really, really encouraging and it's fun for me as a project leader to see that happen. Thanks to all our sponsors and donors if you've contributed to the KeyCat donations. Thank you very much. That continues the sustained growth of KeyCat. Thank you for your continued support of the KeyCat project so everybody who uses KeyCat thanks. We really like the fact that you use KeyCat and we hope we can continue to support your needs as a project. So anybody who's ever organized a dev room or anything like this knows it's not a nontrivial amount of work. Thanks to Seth for organizing this. It doesn't happen by itself. And hope I get to see everybody here next year and I hope I get to see everybody at least at one of the KeyCons this year. So keep an eye out. The one in Europe this year is going to be in Germany. We don't have a date yet or a venue. We have people on the ground who are working on it. And as soon as we have that information we'll put it up on the KeyCat website and on the forum and you'll be able to keep your eyes open and then hopefully you guys, hopefully we can see as many of you there as possible. Early September in Bohem. Is that when it is? Early September? Okay. And I'm not 100% sure we're going to have a Shenzhen and Asia one this year but I suspect we will. Has Hubert committed to that? We are going to have KeyCon Asia. It is just waiting for the time we coordinate with Maker Faire Shenzhen. So we're going to be on the same weekend as Maker Faire Shenzhen. So yeah, if you want to go, that's a great dual hit because if you've never been to Shenzhen Maker Faire it's really impressive. You should go if you get a chance. So okay, I'm open for questions. If anybody has any questions, no. Thank you. I had a question about the libraries. Are there plans to move the libraries in a... In a... This deep... Po. Are there plans to... So that a project could import the libraries directly from... Yes. Not right now? So the question is, are there plans to allow importing library objects directly from a Git repo? Because all our stuff is basically saved in a Git repo because we design it. You can import the project libraries, not the globals. Yes, not the globals. So yeah, because the Git support, obviously, the libraries that are already in your project will be part of your Git project. But externally, no, we don't have anything at the moment for that. But I mean, if somebody wanted to spin up a Git plug-in, that wouldn't be the... No, but I wouldn't turn you down because I think other people would probably like similar things. Do you have any plans to integrate some sort of mixed signal, real-time interactive simulation into... Kind of like Muldi's in, basically Muldi's in. Well, okay, there's... So on the simulator front, we've had a lot of fits and starts. I wish I had a better, a more rosy outlook to give you on that. We had some people working on EM simulations, so we were going to take the board, break it down into its 3D representation, and then do like EM and maybe a power solver. But the people... There's several things on that front that make it difficult. The most difficult thing is finding the manpower to do that because that's pretty specific kind of... You have to have a pretty good knowledge of how to do that. The other problem that's kind of been problematic is a lot of the libraries that do that in the open-source world, because we are an open-source project, obviously, we're not going to use like MathLab. They don't necessarily build well, they don't play well on all platforms. And so KeyCat, one of the... If you're not familiar with it, one of the things that KeyCat doesn't do is make second-class citizens. All the major platforms are considered equal. So if I can't provide a feature on Linux or on Mac OS, I'm not going to do it on Windows. It's got to work on all three. So that's kind of been a little bit of a... We've had a little resistance there. I don't think that problem is over... Oh, not solvable, I think it is. So the person who's implementing that's not only got to do the end part, like the solvers, they also got to get all the libraries to build all the dependencies that they need to integrate into KeyCat to build on all three platforms. And that's a bit of a load. So I do think it's going to happen at some time. Obviously, it's never going to be as fast as I want it to, but we do have in our big wish list of things we want to do, it is there. It's just whether we get the manpower to do it. Any other questions? Am I done? One more. Yes. Go ahead. Okay. Congratulations for all the amazing work. Thank you. Contributors and maintainers. And I want to ask about one of the planned features for the next release you talked about, GiveDiffMerch tool. I think it would be amazing if the command line tool could export a GIF animation. So you could... Export? You mean what the command line told you to export the Diff? Yeah. So, like, I don't know, GIF animation, something like that. So when somebody comes with a pull request, you could see, okay, what's changing without needing to download or open? I mean, just an idea. That's not a bad idea. I mean, what, like a ping? We'll put an issue for it and we'll see about that. Yeah. So any more questions, please follow. Wayne will be out in the hallway to answer any questions. So thank you once again, Wayne. Thank you. Thank you.