384: What's Board File?
Transcript from 384: What's Board File? with Liam Cadigan, Elecia White, and Christopher White.
EW (00:06):
Welcome to Embedded. I am Elecia White, alongside Christopher White. It's going to be a hardware week. Except we'll be talking about software. Anyway, we have Liam Cadigan again on the show to talk about software and hardware and startups.
CW (00:25):
Hi, Liam. Welcome.
LC (00:27):
Hi, Elecia. Hi, Chris. Great to be here.
EW (00:29):
Could you tell us about yourself as though we met at lunch at a technical conference that was in person?
LC (00:39):
Sure. No problem. That exciting. I'm Liam Cadigan. I studied electrical engineering at Memorial University of Newfoundland in St. John's, Canada, and currently work at Cadence Design Systems with a product called InspectAR.
LC (00:53):
I'm doing product management, and InspectAR is actually a product that I co-founded with some of my classmates while we were finishing up our engineering degrees at Memorial.
EW (01:05):
Wait a minute. It's InspectAR, not Inspect-Ay-Ar?
LC (01:07):
Oh, yeah. We'll say InspectAR just speaking, because Inspect-Ay-Ar was too cumbersome for us. So it is InspectAR as if a pirate was saying instead of InspectAR, but then that's just in there for the spelling. So that's...always a big debate.
EW (01:27):
Almost as bad as KiCad versus KiCad.
LC (01:30):
Yeah. Yeah, I don't think we're as bad, but maybe in second place. Who knows?
CW (01:36):
My whole world is ruined now. InspectAR. Sorry.
LC (01:41):
No, that's good.
EW (01:42):
Okay. Are you ready for lightning round?
LC (01:45):
Yes, I am.
CW (01:47):
I'm not. Visual flight rules or instrument flight rules?
LC (01:52):
Visual flight rules for me.
EW (01:55):
Hardware or software?
LC (01:57):
Definitely hardware.
CW (02:00):
You recently graduated from college. What did you want to be when you grew up?
EW (02:04):
No, he recently graduated from college. What do you want to be when you grow up?
CW (02:09):
You recently graduated from college. What do you want to be when you grow up?
LC (02:13):
I don't know. Hardware engineering has been great so far, but maybe I could be a farmer later in life. Who knows?
EW (02:20):
Favorite avionic instrument?
LC (02:21):
[Hmm]. I definitely like the attitude indicator, the gyroscopic ones.
CW (02:29):
Favorite fictional robot?
LC (02:32):
I do have to issue a spoiler alert here. If you haven't watched season one, episode one, of Westworld, my favorite robot is Dolores.
EW (02:41):
Do you know any good pirate jokes?
LC (02:46):
Well... this is funny story. When I introduced InspectAR to the wider product engineering group at Cadence, it was Halloween day that day. And so I did actually dress up as a pirate to do it.
CW (03:00):
Are there any courses you wish you'd taken, but didn't get a chance to in school?
LC (03:05):
There was one on ASIC design, just an introduction, and it just never lined up with my electives. But that's always something I want to learn more about.
EW (03:14):
Okay. So, you mentioned you founded a company with college friends right out of school and that was InspectAR.
LC (03:24):
That's right.
EW (03:24):
How did that get started? I mean, did you all sit around drinking beer, saying, "I don't know. What do you want to do this weekend?"
LC (03:33):
Yeah. It's a cool story. We had a capstone project, which our university does a little differently, because there's a mandatory internship in between the second last and the last semester. So technically the capstone project could run a full year if you wanted to work on it during evenings and weekends.
LC (03:55):
And so we were coming together, trying to come up with this project, and we wanted to do something that would help people inside electronics labs. And eventually we came to the idea of using augmented reality, because we had some computer vision courses going on at the same time.
LC (04:13):
And so the interest just aligned, and it was started in my bedroom. There were definitely beers drank and throughout throughout that whole last year, that's when we were kind of getting started with this thing.
EW (04:24):
And were you studying hardware or software?
LC (04:30):
So three of us were doing electrical engineering and then one of us, Nick, he was doing computer engineering.
EW (04:37):
And so all four of you founded the project?
LC (04:42):
Yep. The four of us started the project together as a capstone. And then later on, as we were kind of turning it into a business, we actually brought on a fifth co-founder, Mihir, and he joined us. He was based out of California actually.
EW (04:56):
What grade did you get on your project?
LC (04:59):
We did very well, and I think the teacher gave us a 93 or something, because we had a lot of work put in, and we had I think something like -
CW (05:08):
93. Why are they like that?
LC (05:10):
Yeah, we had 40,000 lines of code or something by the end of it. So he was happy enough with that.
CW (05:16):
So the final product is a multi-platform sort of thing. What did you develop on the prototype, the capstone project, was it an application for a mobile or was it a desktop kind of thing?
LC (05:32):
At the time of the capstone project, we were doing Android iOS -
CW (05:36):
Oh, wow.
LC (05:38):
- as well as Windows. And that was possible, because we built on top of Unity, which is a 3D real-time environment. And that's very widely used in augmented reality applications. A lot of what's out there actually is built on top of Unity. And so that made us platform agnostic.
LC (05:56):
And then shortly after we were able to add macOS, because there was just some very minor dependency we had to resolve to support that platform.
CW (06:04):
I'm really surprised. Unity, wow. I usually think of that as a game engine, so I guess it does more.
LC (06:09):
Yeah, and it is a game engine, but just because of the 3D real-time environment that it provides for all these different video games, you can pretty much just replace it with a camera feed. And then a lot of the same tools and packages that they have are still applicable.
LC (06:27):
So it's a really powerful platform, because you can go and have paid packages in addition to what's open source, and sometimes that can be pretty attractive.
EW (06:37):
Did you choose that because you were familiar with it, or because it was the best choice for augmented reality, or for its multi-platformness?
LC (06:46):
We did a pretty big analysis of the different options out there, and that would also have included native applications. And we would have been fine starting out as a capstone project, of course, to just have this work on a specific model of phone.
LC (06:59):
I mean, that would have been fine for us, but when we looked at it, actually Unity was the best for augmented reality in our view. And the different flexibility of hardware was also attractive.
LC (07:10):
Because for this application, sometimes a phone that you have to hold over something constantly isn't the best ergonomics. So it let us say flexible on the ergonomic side of things too, because we never had that figured out.
CW (07:23):
You mentioned you were three EEs and a computer engineering major, is that right?
LC (07:28):
That's right.
CW (07:29):
How did you go about learning Unity? Did you just dive in and poke at it until it worked, or did you find some resources that helped? Because both of us took a Unity class -
EW (07:41):
[Affirmative].
CW (07:41):
- a long time ago and...even as software engineers, I found it kind of a different way of thinking about writing software.
LC (07:51):
Yeah, absolutely. And I'm, I think, the only one on the team who probably has little to no competence with Unity itself. I was more on the file parsing side. But Darryl, one of our co-founders, he just always had a big hobby and passion for designing video games in his free time, outside of electrical engineering.
LC (08:09):
So he already had a lot of familiarity using it for just some of his own projects that he had built and so that he was able to spearhead that and kind of get us up to speed as much as we needed to be.
EW (08:20):
So you turn in this project. You graduate from college. At what point did you say we should figure out how to make money out of this?
LC (08:29):
So it actually came at about three months into the project. So we were still in college when we knew that this was something that we wanted to pursue as a business. And that was because we had gotten some pretty interesting feedback from people in school who said, "This could have really been helpful on my internship at this company."
LC (08:50):
And our university actually had a program, they called it an entrepreneurial internship. And so Darryl and another one of the co-founders met. They actually enrolled in this entrepreneurial internship, which happened to be smack dab in the middle of the capstone project.
LC (09:06):
And they decided to try and use the capstone project sort of as the basis for the business. And then over the course of those four months, they did a lot of different customer meetings and tried to complete value discovery. And they actually had some really positive results.
LC (09:23):
And so that's when we kind of knew, "Okay, this is something. We should, while we're finishing this project, really gear it up and try to do something with it right after we graduate."
EW (09:33):
I remember trying to use one project in another class so I could do less work, and it didn't always work, but it was always a really fun idea. Was the college encouraging of this, or was starting a business kind of just you, and other than the courses the college stayed out of it?
LC (09:56):
So, it's interesting. We were actually, they said the first people, at least with electrical and computer engineering, who tried to use their capstone project for one of these entrepreneurial internships. And I think because we were the first, they kind of said, "What odds. Let's see what happens."
LC (10:12):
And then the other nice thing is that MUN doesn't make any sort of IP claim against students' work. So there was no university ownership of the stuff we were doing for the course project. And that was just a convenient policy for us.
EW (10:29):
That isn't true everywhere?
CW (10:30):
No.
LC (10:32):
Not at Stanford, I know.
CW (10:33):
Yeah.
LC (10:33):
And a couple other schools. I don't mean to call out any name, but yeah, some schools will theoretically claim ownership.
EW (10:40):
Alright, I'm going to go away and think about that, how much it doesn't sound like a good idea to me. But you don't need to be here for that. So, what year was this that you finished college?
LC (10:55):
So we finished in May 2019, and we would have started this project at sort of the beginning of May 2018.
EW (11:03):
And in May? March? Of 2021 the InspectAR was sold.
LC (11:14):
Yeah. August 2020 was when we joined Cadence. And so we're just past, I think, the one-year anniversary of that by about a week or so.
LC (11:24):
And so it's been a really great year, but yeah, we came and joined the Cadence family after having the product out commercially for a period of time. And things have been great ever since.
EW (11:37):
But it was only out after college for a year, a year and a quarter.
LC (11:45):
Yeah. About a year. That's right. Yeah. Just over. So it wasn't a ton of time. And I guess, really in this case where we had put in a lot of time into making it just as a project, we were kind of ahead of where we would have been if we had developed the business in a more traditional way, if that makes any sense.
LC (12:06):
So we had a lot of the development done and they just thought it made a lot of sense with some of the other products that they had.
EW (12:15):
Do you think that this whole school project to founders, to being bought after a year and some, has given you an unrealistic expectation for your next endeavor?
LC (12:32):
We definitely all feel incredibly lucky and glad it happened. I know for me, at least, the way I feel is that the number of ideas that I would actually go out and try to start a business around again is a lot narrower.
LC (12:45):
I felt like when I was in college, I maybe would have tried one out of four ideas, or one out of three ideas, or something like that.
LC (12:52):
But now, just having gone through it, and seeing kind of what it entails, and what can happen, because there were some times where it was really hard, I would maybe take one out of ten and just be a lot more selective.
EW (13:05):
When Cadence came to you, were you excited? Were you just like, "Yes, finally?" Or were you a little hesitant? Like, "Maybe we should go further."
LC (13:15):
Yeah, that was definitely a big debate. And the pandemic had been going on for about five months at that time. And so...that was another thing that we had to think about...We had found that going to conferences and stuff was great. In the first year we thought we had a lot of success doing that.
LC (13:35):
And then we had to think, "Where's the world going to be?" And, "What makes the most sense for our business?" And that's ultimately kind of what came together and helped us make the decision.
CW (13:48):
Having been at several startups that made the wrong decision, I say you made the right decision.
LC (13:53):
Yeah, we definitely think so a year in, but it was nerve-wracking and obviously where it happened during the pandemic, a lot of this had to be virtual. All of it actually had to be virtual...I mean, travel just opened up between Canada and the U.S. a few days ago.
LC (14:10):
And I think Cadence is not doing business travel for a little bit longer. So we're looking forward to the first in-person meeting, which is coming.
EW (14:19):
And you did get some winnings from this. This isn't just -
CW (14:22):
Winnings. [Laughter].
LC (14:24):
Yeah, well -
EW (14:24):
Well, startups are a lot like playing the lottery. So they're winnings.
LC (14:28):
Yes. That's right. Yeah, that's right. It made sense to do. And we had been in the business for not that that long. And so we had less of ourselves invested, but it was a sound decision that all of us supported and even the investors that we had on at the time, they supported too.
EW (14:47):
Going into business right after school, what do you wish you could go back and tell yourself?
LC (14:54):
Well, with this idea, because it had started as a capstone project and there were these academic requirements that we wanted to meet, like we wanted to have a hardware component to the project to make our capstone project look better, so we actually had this X-Y frame that we built and never really needed.
LC (15:15):
So that was one thing, definitely that I wish I had known better. If we understood what it could turn into, we probably would have stayed more focused on software and saved time. The other thing, though, is just the importance of having distribution.
LC (15:28):
Because it's not like we were all just pondering starting a business and kind of building up some type of following for people who could go try the idea. So then when we started, we had to go and find people to give us feedback that wasn't set up already in advance.
LC (15:44):
And so that was another thing I wish I had known beforehand. If I could have just had a list of people, whether it was on Twitter or something like that, that we could have sent this out to, and then gotten some feedback right away, instead of having to go build that from scratch.
EW (16:00):
But you had worked some with hardware yourself. Did you feel like that was enough feedback to start with?...Why did you need other people's feedback?
LC (16:11):
We definitely leaned into our own experience with hardware. That was key. We probably would have built a bad product if we hadn't worked in electronics labs ourselves and really walked in the shoes of the would be users.
LC (16:24):
But then, if you try to just go off of your own experience, you're going to hold some bias, and there might just be things you do that actually doesn't work for everyone else. And so we had to go and validate that right away to make sure that we could eventually go and get customers later on.
EW (16:42):
You've mentioned your co-founders. And did they all stay for Cadence or has somebody gone off and decided to make a new business?
LC (16:55):
No one has left, and I think we'll all be there for another while longer. So we're all still working at Cadence right now and also working on InspectAR. And still actually a lot of the working relationships we had in amongst each other are the same today as they were before we joined.
EW (17:14):
Did you get a wider audience to be customers?
LC (17:19):
Yeah,...that was a huge benefit of joining their team. The sales are awesome, and they have a really good idea of where this product can be successful and how to find new target areas, all of that.
LC (17:34):
So we've been, especially me myself, I've been working a lot with the different product engineering people and then also the sales group at Cadence to try and find the best fit for this.
EW (17:48):
So you said you were studying electrical engineering, and with the hardware and software lightning round question, you chose hardware.
LC (17:56):
[Affirmative].
EW (17:56):
But now your title is "Software Developer?"
LC (18:03):
Yeah, that's right. So, mainly in that regard, I guess it's...kind of more at the epic level. So I'm not writing much code on the day to day. And I do end up doing a lot...more product management, but yeah, that's my title.
EW (18:22):
Is it weird to go from being answerable to a small group of people that you know very well, to Cadence, which is kind of a big company?
LC (18:37):
Yeah. I mean, there were definitely some moments where things felt uncomfortable or you're just unsure of yourself. But at the end of the day, I think that was true on the other side as well. They know that they're bigger, and they know that this is a smaller group.
LC (18:53):
And so I actually think the feeling ended up being mutual, and luckily they're really friendly and probably just the best people you'll meet. And so we've been able to have a good relationship and just keep things going ever since we've been in there.
EW (19:07):
Have they left you mostly alone to do what you were doing?
LC (19:11):
We have a lot of independence but there's also a lot of products within Cadence that kind of would be nice to work together with InspectAR. So it's really collaborative now, but it was more independent at the beginning. And we've just kind of been slowly making inroads and things like that throughout the whole time.
CW (19:30):
People think of Silicon Valley as the place where all technology startups form and where all funding happens. But you're definitely not in Silicon Valley. Are people's impressions wrong that you can found a company anywhere? And how did you go about finding investors and developing this from Canada?
LC (19:51):
It's really interesting. And definitely, I say this to people a lot, a huge challenge for us was just being out on a subarctic island, basically, developing InspectAR when there's little to no electronics engineering really that happens.
LC (20:07):
Now, fortunately there were a few companies who actually helped us out as early customers. And they did that out of a lot of solidarity and we were super grateful for that in our first couple of months of trying this out. But finding investors was tough. We got really lucky.
LC (20:24):
And during this entrepreneurial internship that Matt and Darryl did, they put together a really slick video and they sent it off to Y Combinator. Because we had been doing this program called Startup School, which is an accelerator.
LC (20:36):
And there was this grant that we really wanted to get, because it was just a non-equity grant, free money basically. And they've sent off this video, and we actually got selected to go down there for an interview. And so that was paid travel to California.
LC (20:51):
And then during that trip, that's when we met Mihir, and he was able to help us a lot in terms of making good inroads into that area. So we kind of had the best of both worlds after we did that. And we never got into Y Combinator by the way, because we were way too early, but the plane tickets were appreciated.
EW (21:08):
You did get into the Autodesk Accelerator Program.
LC (21:12):
Yeah, that's right. That's right. And that was a great experience. I think that's a fantastic thing that they're doing for smaller companies, because it actually offers some free office space in the Bay Area.
LC (21:24):
And so if you're ever just out there and you have customer meetings or something like that, or other things, you can go and check out some space at their office. And if you build a physical product, there is also as well some free prototyping resources available.
LC (21:38):
So that was really positive. And then of course, there's some of their resources as well. So we were glad to be a part of that.
CW (21:47):
You're telling me you can't avoid Silicon Valley, in other words.
EW (21:49):
That is what it sounds like. Yes.
LC (21:51):
Yeah. But you can have the best of both worlds, right?
CW (21:54):
Yeah, yeah.
LC (21:54):
You can avoid having a full engineering team in Silicon Valley.
CW (21:58):
Yeah.
LC (21:58):
And then actually, if you just have maybe a little bit of business development in the Bay Area, a lot of investors saw that as the best of both worlds and pretty attractive.
EW (22:08):
You mentioned subarctic island. You are in Newfoundland, right?
LC (22:14):
Yeah. So I'm in St. John's, Newfoundland, which is right on the east coast of Canada.
EW (22:20):
Your time zone, I know this is not your responsibility, but because of where you live, I assume there's only 400 people there? And so you must have some input into your time zone.
LC (22:34):
Yeah. The time zone is a half hour east of Canada's Atlantic Time Zone, which is an hour ahead of the Eastern Time Zone in the U.S. So our time zone lines up perfectly with this place in India. And that's about it.
LC (22:50):
So for everyone else, we're always adjusting a half hour and adding a half hour to everything, which can be pretty tricky. Definitely had some unfortunate missed calls due to that over the years.
EW (23:01):
That is tough. Having worked on time zones and been completely boggled by the idea that you can have a time zone that's 30 minutes or 15 minutes off from GMT, I mean, how did that come about? I mean, is it something that is just normal to you, or is it still kind of like, "Yeah, okay. We're weird. That's good."
LC (23:28):
Yeah. We're definitely weird. And it's good. The time zone comes as an interesting historical thing. So Newfoundland actually never joined Canada until 1949, which is relatively late compared to the rest of the Canadian provinces. And so it was a part of Britain, I guess the British empire, until 1949.
LC (23:47):
And because it was separate, and it was actually its own independent country for a brief period before bankruptcy, that's why it had its own time zone. So it's a super interesting historical tale behind it.
LC (24:00):
And actually there's a mainland portion of the province called Labrador and that's on the Atlantic time zone. So not even the full province is in this half hour time zone.
EW (24:09):
Alright. I'm fascinated by this, but I don't really think that that's helping explain your time.
CW (24:13):
Welcome to Time Talk with Elecia. Today we'll be discussing time zones.
EW (24:19):
You said that your portion of the capstone project involved dealing with the board files.
LC (24:27):
That's right.
EW (24:27):
What's a board file?
LC (24:30):
I think the easiest way to explain it is that the board file is the database that represents the digital model of the circuit board. So, it's what defines where all the copper has to be placed, where copper is not to be placed, and then where all the different parts of the boards go.
LC (24:48):
And these days, as circuit boards keep getting more advanced, there's just many, many other things that you could include in that too, if you wanted simulation results and things like that.
EW (25:00):
So this all happens after a schematic is complete and reviewed, and then it goes to layout. And that's where all of these things start getting built.
LC (25:11):
Yeah, that's right. That's right. So the schematic is what engineers would traditionally have learned to design from their education. So that's where you see the resistor symbols, that squiggly line, and different things like that. So that defines the actual logical connections between all the parts that are going to go on the circuit board.
LC (25:31):
And then there has to be this other step where you go and actually lay it all out physically. So that's called layout. And there all the different parts have to get placed and traces routed between them. And then the process can just continue from there.
EW (25:45):
And when I send a board out to OSHPark, I send them Gerbers.
CW (25:51):
Which is baby food.
EW (25:52):
Yeah. It is baby food. So I've always wondered about sending them baby food...What flavor do they prefer?
LC (26:01):
Well, that's really interesting. So Gerbers have been the industry standard manufacturing output. And the reason you even need a manufacturing output is because there are many, many different software packages available for designing circuit boards.
LC (26:16):
I mean, I think if you were to try and make a complete list, it's certainly more than 20 that you could use to design a circuit board. And they all have their own different data models and things like that that they use so that they can have their own specific features, but then there's no standardization for a factory to just go and build that.
LC (26:36):
So what the Gerber file does is it actually takes an image of each layer of a circuit board. So circuit boards have different layers, and you'll use the different layers to route the connections.
LC (26:47):
So if two wires need to cross over, what you can do is you can use something called a via to hop down, and go around it, and then come out to another component. And the Gerber files, you get one per layer, and sometimes they're called artwork because it actually does look like a piece of art.
LC (27:03):
And inside the file itself, it's actually this ASCII text representation of the vector image of that layer. So I know that sounds like a lot, but it has to be this vector text representation so that it can be stretched or mirrored and maintain precision. Because circuit boards are really tiny and can be very difficult to build.
EW (27:25):
There's another format for this. Tom Anderson mentioned that he likes that InspectAR is using the IPC-2581-B.
CW (27:38):
Oh, yeah. Good old 2581-B.
LC (27:40):
Yeah. Yeah.
EW (27:42):
What is that? I hate to ask him, because then he might know that I have zero idea, but what is IPC-2581-B?
LC (27:53):
Right...And this is in the rabbit hole, right, of electronics manufacturing outputs. We are firmly in that rabbit hole now. And the reason that it has that type of name, it's managed by this group called the IPC Consortium, and so they manage a lot of other different electronics standards.
LC (28:12):
And they'll actually maintain this one in a way that's open for other people to use. But what the file format actually does is it represents the manufacturing data more intelligently. So I mentioned that the Gerber files are sometimes called artwork and they're just a vector image of each layer.
LC (28:29):
So when you look at the schematic or the board, you would see, "Okay. That's R3. And it's a ten kiloohm resistor, and it's connected to five volts. And then it goes to ground. But in the Gerber file, all you would see is, "Okay. Here's this rectangular pad that you could use for a resistor theoretically."
LC (28:47):
But then you'd need to provide another document for someone to know that, "Okay. Those two rectangular pads are actually used to represent a resistor."
LC (28:55):
So what IPC-2581-B does is it just adds that extra data alongside the artwork so that when you look at...two of those square pads, you can see, "Okay, these are used to form R3," which is this little resistor on the board.
LC (29:11):
And then you could also look at, say a trace that goes into the pads, and because you're using the more intelligent data format, you would know that that trace is actually connected to five volts.
LC (29:21):
And so you have all that information there at once, and it makes it easier for the manufacturer to go and build the board then. Because they have more data at the start and can do more testing, for example, to make sure it's been fabricated correctly.
EW (29:36):
Okay. So why would we use those instead of Gerbers? I mean, it seems like Gerbers have been around for a long time, and they're well understood. And I can go to any manufacturer of PCBs and say, "Okay, here's my Gerber file." Why is the industry changing?
LC (29:53):
Well, in some ways it's because as you get into more advanced process technology at the factories, they had to do more testing to actually make sure that they build the circuit board correctly. And...in more modern and advanced circuit boards, you can have things like impedance control that only applies to a certain net.
LC (30:10):
So if you were using IPC-2581-B, and you knew that the customer who sent you the circuit board, well they only need this thing called impedance control on a specific net of the board, then you can actually test that specific net, and make sure you have the impedance control, and not worry about other areas.
LC (30:29):
If you never had that data to begin with, you'd either have to go to the customer and have them annotate on a drawing which net they have this impedance control, or you could just go and test a full layer to do it. So it just lets the industry be a little bit more efficient.
LC (30:46):
And then on the InspectAR side for us, it actually just let us build a better viewer of the circuit board. Because if we had just used Gerbers, we would only be able to show people a full layer, and it wouldn't have been as intelligent of a representation.
EW (31:02):
So InspectAR...can outline chips. And so this IPC format allows you to identify those sorts of things, or is that separate?
LC (31:18):
Yeah, that's exactly right. So...because we're using IPC-2581, we can go and we know where all the different components are on the board. Whereas if we just had Gerber information, we would kind of just have a picture of what all the copper areas look like.
LC (31:34):
So then you can use InspectAR and just search, say, R3, and show it right on the board directly. And that's something that we just wouldn't have been able to do if we had used some other formats out there.
EW (31:44):
But the downside of the format is that it is proprietary. I can't use an open source tool with it, because you have to pay for the information, and you can't make it public.
LC (31:59):
Yeah. There are no open source viewers right now. There are some that you can get on an unlimited trial version. There's one called a Vu2581. If anyone does need to do that, you can get that application. ...I forget who makes it. But Vu2581, that's got pretty good SEO because there's not much other stuff on the internet named that.
LC (32:21):
So there is one out there that's free. If you wanted to write to the spec, you would actually have to buy the spec from the IPC Consortium. But the spec itself is open. So you don't need a license to go and develop with it. There is actually another competing standard called ODB++, and you might hear that name get thrown around a lot.
LC (32:42):
And that kind of has the same intelligent data representation as IPC-2581, but it's actually a closed standard. So you would actually need a license from the person who owns the standard in order to use it in code and even make an open source viewer.
EW (32:59):
But like the IPC-2581, it has all of the extra information that allows for a more useful methodology of both representing it and manufacturing it.
LC (33:13):
That's right. Yeah. The ODB++ format does. Now one advantage of IPC-2581 is that it's an XML standard, whereas ODB++ is actually a file hierarchy of ASCII text.
LC (33:26):
And so because 2581 is XML, there are some other advantages in terms of using standard libraries and stuff like that to help process the data. But that's more of a developer advantage.
EW (33:38):
Tom wanted to know if you were going to the -C, or is there a problem with it?
LC (33:44):
There's no problem with the C revision. The main change is actually stuff that would matter more to a circuit board factory in terms of using more advanced process technology to make the boards. So we'll support it, but we'll also just stay backwards compatible with the B version, just because.
LC (34:02):
The only real complaint I have about -C is that -B actually has even the color data, which comes out of the EDA tool. And so for InspectAR, we kind of like that, because then if you design a board, and you start viewing it in AR, you can see the exact same colors that you used for all your layers in the design phase.
LC (34:21):
But in dash C they've removed that. So we'd have to just give them a default color. But that's not a make or break type of thing for us.
EW (34:29):
Can KiCad output all of these?
LC (34:32):
KiCad cannot. So for KiCAD, what we did is we supported their native format directly, which has actually become very easy as time goes on. There's been a lot of incredible work done on KiCAD. But I do see that IPC-2581 is on their roadmap.
LC (34:49):
So I don't know if it's going to come out in version 6, which I think is coming soon, but hopefully we see it there as well.
EW (34:56):
These are all things that we talk about, manufacturing, hardware, boards, but when we talk about the files, they require parsing, and you mentioned XML: there are libraries for parsing that sort of thing.
EW (35:12):
But this is a lot of software. Is this what you did for your capstone project, was learning these formats, and then being able to read them in?
LC (35:22):
Yeah, that's right. That was my main contribution. And so there was a lot of study really, too, in order to figure out all the feasibility. Because everything that I just explained basically did not seem obvious to me -
EW (35:35):
Yeah, of course.
LC (35:35):
- when I was starting this out. And so I had to really drill down and figure some of it out.
LC (35:43):
And actually at the capstone time, we tried to support Gerber, because...it's so widely adopted. And I talked a little bit about distribution. I almost felt that if it worked off Gerber, it would just be easier for people to try. And so Gerber even did this thing where they tried to be like ODB++ and IPC-2581-B.
LC (36:03):
They have this thing called Gerber X2, but in the spec, it wasn't made mandatory. And so because of that, a lot of the tools actually just don't output the data correctly. And so we couldn't use this new Gerber version. But they do have an X3 coming out that will hopefully fix all of it, so I'm crossing my fingers.
CW (36:22):
I feel like we should put the XKCD Standards -
EW (36:24):
Yes.
CW (36:26):
- cartoon in here.
EW (36:28):
I remember for one of my big, final projects for college, I had to write a checker to determine if embedded compilers conformed to the C standard. And so I had to learn the C standard and figure out little corner cases that I could test against.
EW (36:49):
And that led me to understand C far, far better than I should have coming out of college, because I had spent so much time thinking about how to break compilers.
EW (37:01):
Do you feel like you have this superpower of being able to look at these files and say, "Oh yeah. Okay. Yeah, yeah, yeah. I get it." Or was this something you did, and you're trying to forget desperately?
LC (37:13):
No, I still do have a little bit of a power...When we were able to grow our team a little bit, the first position that we filled was was someone to help us with that side of the programming, because I just had to move on more to the product side and things like that as we were expanding a little bit.
LC (37:33):
And I remember we hired a developer, Colin, and he really took to the task well. But one day I noticed a little bug. And I came over, and I said, "See this part of the file right here?" I was like, "That should be drawn like this. And I think it's getting drawn the other way."
LC (37:48):
And he just looked at me and said, "You realize that's not supposed to be human readable, right?" But as time goes on, I can read these things and see the trace get drawn out in my head. And that was from just a lot of kind of banging my head on my desk trying to get it to parse correctly.
EW (38:06):
I sometimes think about The Matrix movie where he's sitting there, and all of these screens are raining characters, and that's supposed to represent an unknowability, an ability that he has that no one else can.
EW (38:22):
And I feel like if those were all Gerbers and the IPC files, you'd be like, "Oh, yeah. Okay. That one has an airplane. That one has a board shaped like this, and, oh, look, that - " Do you think you're ready to be Neo?
LC (38:39):
Yeah, almost ready by now. I might wait until IPC-2581-C comes out just so I can make sure that the superpowers extend to that format as well. But I think once that's out, I'll be ready.
EW (38:51):
So back to InspectAR, what features have customers been asking for? Lance wants to know.
LC (38:59):
Yeah. The biggest one definitely has been to associate step-by-step instructions with some of the design information. And I think the reason why that's such a big ask is that people want to decouple themselves from the design when it comes back to the lab.
LC (39:15):
Because at hardware companies today, when the first batch of prototype boards come back into the lab, the hardware team is really sort of under pressure that those work and that they can get through all of their initial validation tests.
LC (39:32):
And so if you could set things up in just more of an agnostic way, where then it's not just the hardware team, you could have more resources from other parts of the engineering department, or company come in and help out on that phase. That's why I think that's so requested.
EW (39:48):
Having been the person who's waiting at the door, somewhat impatiently, for the hardware engineer to finally give me a board, I can see that. Yeah. Do you think schematics will be integrated into InspectAR?
LC (40:02):
Yeah, definitely. We kind of have it today,...we call it topology-based menus. So when you click on a certain component, you can sort of scroll over the pins and see what nets they're all connected to.
LC (40:16):
And then that pin will get highlighted. From there you can create that net. And once you're in that net, you can see what components are connected to it.
LC (40:23):
And so that gives you some sense of the topology like a schematic would, but a more direct integration where you can just actually view it like the actual schematic page, and then click on something, and have it cross-probe over. That would definitely just help save people more time.
EW (40:39):
SPE wants to know how you handle running a software business in an era where everyone expects all software for free.
LC (40:47):
Yeah, that's a really interesting question. One thing that we did is, for the free tools out there, we've made those freely available in InspectAR as well. So if you use KiCad, you can sign up from our website, and...you'll get enrolled in a 14-day free trial, but then if you don't continue past that, you'll go to our free version.
LC (41:09):
And you can use unlimited KiCad projects just on your mobile devices with InspectAR. So for the people who are using open tools and they're not paying today, we're just looking to continue that and try to see if they can get some value from InspectAR.
LC (41:24):
But then for the people who are using paid tools, which are more so companies who we would feel good doing business with, that's where we charge.
CW (41:32):
It seems like, apart from all of the customers you're targeting, like manufacturing and electrical engineers, that education would be a really big area. Have you considered integrating with tutorials or putting a system together where people learning electronics could use it in a more simplified way?
LC (41:55):
Yeah, definitely. Definitely. We had a lot of requests actually, as the pandemic got started, and some schools were toying with the idea of having fully remote labs. And for electronics, I mean, I just think that would have been a bad outcome.
CW (42:07):
Yeah.
LC (42:08):
I think most schools wound up finding a way with health restrictions, physical distancing, and things like that, to bring people back into the lab and still have the experience.
LC (42:16):
But even screen-sharing, the video feed of InspectAR, and explaining to people, "Okay, this is what that does," and being able to give them the insight of the design information is really valuable. And now that we're in Cadence, there's an academic network team who can kind of work with that.
LC (42:33):
Because it was a challenge for us as a smaller company that we probably wouldn't make money from doing it. But luckily now...there's a full department of people who can work with schools, and help them develop programs, and things like that for InspectAR.
EW (42:46):
RFDave mentions that David Gerber wrote a biography of his dad, Joseph Gerber, who did not have anything to do with baby food, but instead invented the Gerber plotter. It's called "The Inventor's Dilemma: The Remarkable Life of H. Joseph Gerber."
EW (43:08):
Well, RFDave, there was no question there. So I guess we'll say, have you read it, Liam?
LC (43:17):
I haven't read it. I actually first learned of it last night, but I do have some Wikipedia gold that I can share. So I researched this man, Joseph Gerber, because it's really interesting to me.
LC (43:26):
And I had heard that at one time in history, the Gerber was actually this big printer that would print out the images that circuit board factories use...basically as an input to help the photosensitive chemicals that get used, during etching and stuff like that, form the circuit board.
LC (43:43):
And the quotes, it seems like this person was a workaholic. The quotes were,...this is in 1984, "I'll retire when there's a stock exchange in Moscow."
LC (43:53):
And then of course, 1991 and '92, I think, a stock exchange was built in Moscow. And so he said, "I'll retire when the Red Sox win the World Series." So the answer changed, but that's just some Wikipedia gold to share.
EW (44:09):
Christopher, do you have more questions?
CW (44:11):
Yes.
EW (44:11):
Go.
CW (44:12):
So having dug really deep into all of this stuff, and the board layout formats, and the file formats, and everything, has it giving you a different sort of appreciation of, I don't want to say electrical engineering.
CW (44:25):
But...do you find yourself thinking, "I would have done this a completely different way," or are you Stockholm syndrome and everything seems fine?
LC (44:36):
I think the biggest insight I've had is, "Why does the same thing not exist for the repair of these things? Once they actually become a consumer device, why is there no standardized format for the repair of electronics?"
LC (44:48):
And so kind of the right to repair movement, that's been the big thing on my mind ever since I went and got all this technical knowledge of like, "Okay, here's what the industry has done to make it cheaper, easier, and faster to build a board. But why is there nothing on the other end for the repair of one?"
EW (45:05):
Yeah...Okay. Here's an idea. And hear me out here.
LC (45:10):
[Mhmm].
EW (45:10):
You leave Cadence, and then you get rebought by iFixit.
LC (45:14):
Yeah. That's, well -
CW (45:16):
[Huh]?
LC (45:16):
So,...it's interesting, there were a lot of people who said, "Why isn't this more focused on electronics repair? Why didn't you just have InspectAR for the repair of boards?" And a lot of it is that...the IP is still heavily controlled by the company that makes it.
LC (45:34):
So I remember when we were starting out, we were looking at, "Do we buy circuit boards that we can test this, and see what's our precision, and what's our accuracy?"
LC (45:43):
And I had this old motherboard that I had pulled out of this desktop I had built. And then it died years later. And I was like, "Oh, we can probably just test it on this board if I can find the files." But you won't get the files for that motherboard, and a lot of things like that.
LC (45:59):
So I think something has to happen in terms of requiring manufacturers through the right to repair movement or similar to make some of this data accessible. And then you could have an augmented reality tool for sure that would just explain it to people in an easier way.
EW (46:15):
...I mean, yes. Yes, we need that. Could somebody please start?
LC (46:20):
I agree. It would help our planet a lot too.
EW (46:24):
What is the tech scene like there in St. John's?
LC (46:27):
So, at one point we had the local media come, and they did an interview. And they coined the term Silicon Harbor for St. John's, which I thought was hilarious. And I still use that all the time. So we say St. John's is Silicon Harbor. It's a pretty up-and-coming tech scene.
LC (46:43):
But there have been some big successes. Just last year, actually, there was this fintech company called Verafin, and they were actually acquired by NASDAQ, the New York Stock Exchange. And that was the biggest acquisition in Canadian history.
LC (46:58):
There's another really cool company out our way who also works in the...mechanical engineering domain, helping mechanical engineers with design reviews. They're called CoLab Software, and they're in Y Combinator, or graduated from Y Combinator rather.
LC (47:15):
But they help mechanical engineers with design reviews. And it's a browser-based tool where you can play around with the CAD model, and make issues, and things like that.
EW (47:23):
Cool.
CW (47:24):
Are you going to do InspectAR for mechanical stuff, and you overlay the, that doesn't make any sense.
LC (47:31):
Well, there actually are a lot of headset-based companies -
CW (47:37):
Yeah, yeah.
LC (47:37):
- that do that sometimes for factories, sometimes it's just for equipment. And I think the idea of having the issue tracking of a design issue could be pretty interesting.
LC (47:49):
Because if something is built, and it passes the design review, but then people are standing around it, and they're like, "Who really approved this one?" Right? Like, "Why wasn't that caught?" But you can see that the issue is there tagged on it. It could be interesting, but maybe not, who knows.
EW (48:06):
There are a lot of interesting things that can happen with the repair side of things, but you're right. The IP is such a problem. I mean, they used to ship computers with schematics. Why have we believed that we, yeah, anyway.
CW (48:23):
No one can figure out how these two things are connected together.
LC (48:25):
Yeah.
CW (48:29):
Certainly not by looking at them.
EW (48:31):
Certainly not with a voltmeter.
LC (48:33):
Yeah. And I mean,...there's some pretty popular social media accounts out there around electronics repair. But all they do is they make the overlays manually. And so they kind of do this trial and error thing where they figure out, probably just with continuity on a voltmeter or something like that, how are things connected?
LC (48:50):
And then they will publish this little annotated drawing and kind of draw over the trace in red. So I definitely think people are asking for...just like, "How would you automatically and intelligently process the IP to make that readily apparent?" That's the big problem.
EW (49:08):
You think companies would want it for themselves first. I mean, you send out a repair person to some big installation. You want them to have all the tools.
LC (49:21):
Yeah, that's right. And electronics repair then could be a lot more distributed and a lot more efficient, I think. And internally companies definitely want it, because they might pick up InspectAR and use that on their manufacturing line. And of course things get broken during manufacturing.
LC (49:35):
But if it's not broken too bad, say a component is just misaligned a little bit, it'll actually go to a rework station. And a technician with a soldering iron will just touch up that one part. And so that's a use case for InspectAR. And so I don't see any reason why it couldn't extend further one day if we can figure out the IP side of it.
EW (49:56):
Well, Liam, it has been wonderful to talk to you. Do you have any thoughts you'd like to leave us with?
LC (50:01):
The only thing I'll say is that it's free for anyone to try InspectAR. Go to our website, inspectar.com. And you can sign up on a free trial, and no matter what software you use to design your circuit boards in, you can load it into our tool. And just on your mobile phone, get up and running in minutes, and see the magic happen there, and if it's for you. So head to our website, and just try it out. Let us know what you think.
EW (50:23):
Our guest has been Liam Cadigan, co-founder of InspectAR and Software Developer at Cadence.
CW (50:31):
Thanks, Liam.
LC (50:33):
Thanks so much, guys. Thanks, Elecia. Thanks, Chris.
EW (50:35):
Thank you to Christopher for producing and co-hosting. Thank you to our Patreon listener Slack group for some questions.
EW (50:43):
And of course thank you for listening. You can always contact us at show@embedded.fm, or hit the contact link on embedded.fm. And now a quote to leave you with, from Meggie Royer.
EW (50:56):
"I don't wear a cape. I can't scale buildings like a salamander or leap across canyons twenty miles wide. I don't have a huge S emblazoned on my chest. My superpowers come from teaching myself how to survive when all I wanted to do was be one of the people that heroes are supposed to save."