#359 – An Interview with Jeroen Domburg (Sprite_tm)

1:18:07
An Interview with Jeroen Domburg (Sprite_tm) cover art

Download episode · 72 MB

Also on Apple · Spotify · YouTube · RSS

Show Notes

Welcome, Jeroen Domburg (Sprite_tm)

Image courtesy of the @hackaday twitter feed

Transcript

Jeroen Domburg Sprite Tm: This is The Amp Hour Podcast, released September 11th, 2017. Episode 359, an interview with Jeroen Domburg.

Dave Jones: Welcome to The Amp Hour. I'm Dave Jones from the EEV blog.

Chris Gammell: And I'm Chris Gammell of Contextual Electronics. And I'm Jeroen Domburg of Espressif.

Dave Jones: Thanks for joining us, Jeroen. I can't pronounce it. I'm sorry. It was not bad, Dave. It starts with a J.

Jeroen Domburg Sprite Tm: How about Sprite? Can we call you Sprite? Yeah, Sprite will do fine. And we were wondering, so what is the genesis of that name? Where does that come from?

Chris Gammell: Oh, that is a long, long time ago. So, at a certain point where I just learned how to program and anything else than basic, I looked at my old Game Boy and I was like, hey, there's something in there I can program. And I whipped up one of the most ugly hacks, at least in hindsight. I took one of the cartridges and I broke it open, replaced the ROM with a flash chip. So, I could, like in illegally pirate games, I mean develop my own games. That's right. Yes, right, right. And, well, the Game Boy's, like in graphic system, had like in a bunch of things, you had a bunch of tiles and you could make those into like in either backgrounds or sprites. And at a certain point, I was with a friend and obviously the hip thing to do was to get into the demo scene and make all kinds of cool things. But obviously, you need a nickname for that. So, I thought back to what I just did. So, yeah, I decided I would be Sprite. Nice. And I think, yeah, I nowadays usually write it with an underscore TM after it. And that's just purely because seemingly other people also thought it would be a good idea to name themselves Sprite. So, yeah, just a little distinction. So, my usernames could be unique.

Jeroen Domburg Sprite Tm: That's awesome. That's great. That's great. And so, well, so what's your story? Where are you coming from? I mean, you have an interesting accent. We know you're from not China where you're calling from. So, yeah, tell us how you got from where you started to where you are now.

Chris Gammell: Well, originally, I am Dutch. So, if you want, my accent can be a waiver. You can bring it back, huh? Yeah. Oh, yeah, no worries.

Jeroen Domburg Sprite Tm: That's like when Dave goes to the bush, his stride comes on pretty heavy and hard, you know?

Chris Gammell: Yeah. So, yeah, I was born and raised in the east of the Netherlands. And essentially, I always had an affinity for electronics and stuff like that. My mom used to say that as a baby, if I cried, then all she needed to do was like inflict the light switch a few times. And I would be so mesmerized that I would stop crying. And, yeah, essentially always grew up with like in breaking stuff and trying to put them back together again. And sometimes I actually managed to get it back together. And, yeah, at a certain point, you got to choose what you want to do. So, I chose to go to university to study electronic engineering, obviously. Obviously, yeah. So, I went there. And let's just say that my university, well, I really like university because you could learn a whole bunch of new things. It was just that not all the things that I learned interested me. Yeah. The way my university gave the subjects was really like in, okay, so here is like in a big block of all kinds of mathematics. And then like in three years later, it's like, oh, I could use that for that. You know, I'm pretty good at picking up stuff. But I really need to know why I am learning stuff. And I can't just do it like in off the bat.

Jeroen Domburg Sprite Tm: Like when you're cranking on something, especially like math, like they want you to do it, right?

Chris Gammell: Yeah, yeah, yeah, yeah, yeah. Exactly. And like in later on, you know, if you know, hey, I got to use this for this, then I'll pick it up and happily learn it, et cetera. But not, you know, everything in an abstract, like in blob of math altogether. So, during that time, I also obviously did a bunch of projects. Like in one of the first things that I actually published on my own server in my university room was essentially how to convert an optical mouse sensor into a shitty camera. Oh, really? That's cool. That's nice. And that actually went big, as in that got slash dotted, which actually meant something at the time. It was big back in the day, yep. Yep. Yep. And, yeah, well, I got a whole bunch of visitors and stuff. And I'm like, hey, this is actually cool. Seemingly, people are interested in the shit I do. So, from then on, I decided to give every... Sorry, I hope you can't hear that. Did you get to eat my air conditioner? Are you okay? No, it's one of the bad sides of living in a 17-floor apartment is that there will always be people who decide to redo their house. Oh, really? Wow. Yeah, it's crazy. I mean, I like the fact that the apartments are so high because, you know, you get a really nice view, et cetera. But, yeah. Yeah, your neighbors are all up in your business, right?

Dave Jones: 17 stories are small for China, isn't it?

Chris Gammell: Yeah, true. It's not that big. Yeah, again, I hail from the Netherlands. So, you know, if you have a big-ass flat in my neck of the woods, that's going to be like in eight floors or so. Right. You know, 17 floors already is like, holy crap. But, yeah, no, we have like, I don't know, 100-something floors buildings here in Puxi and in the bank center. So, it's not that big.

Jeroen Domburg Sprite Tm: So, you're talking about publishing. You were publishing your optical mouse camera thing and slash dotting.

Chris Gammell: Yeah, exactly. So, at a certain point, I decided to do that, which actually helps because before that, I kind of had the, well, I think everyone knows that. The fact that you pick up a project, you work a bit on it, then you run into a snag or something where you have to wait and you're like, ah, I'll finish this later. And then the project ends up on a bench somewhere. Yeah. Exactly, exactly. And the other thing that I had was, you know, I made something and then it's done and I use it for a while and then I decide I'm bored and I take it apart for other parts without ever, you know, remembering how it goes back together, et cetera. So, I decided that, you know, publishing stuff actually was a very good idea, not only for, you know, the fact that the world can know about this, but also to, you know, have an opportunity to get a bit more disciplined in actually finishing a project and documenting it.

Jeroen Domburg Sprite Tm: Oh, kind of like the document is the prize. That's kind of like the, that's the thing at the end that you're going towards versus the thing.

Chris Gammell: Yeah, kind of, sort of. Like in, I'm halfway between, like in an electronics guy who makes stuff because, you know, making stuff is cool and a, I don't know what you would call that, like in a writer, a journalist type of thing. Who actually does things with the sole reason to make it into an article. And, yeah, I kind of like that, that, that, that, that in between and actually writing stuff is also much fun. I mean, you know, trying to figure out how people will read your stuff and not make it boring by going into too many technical details where there's no need for that and stuff. It's, it's, it's an art in itself. I agree. Yeah. Yeah. So anyway, I decided to publish all my stuff at first on my, on my web server in the university at a certain point. Yeah. I kind of saw that I would have to leave university at a certain point. So I decided to start up Sprites mods. Something that also helped is that one of my very first articles got noticed by, yeah, it's Elector in the Netherlands. It's Elector internationally, I think. Oh, yeah. Which is like in a dead tree, um, uh, electronics hobbyist, uh, magazine. And, uh, well, they, they, they liked the way I wrote and, uh, the stuff that I made. Um, and they asked me if I also wanted to, to write for them. Um, and I, uh, did a run of like in, I think a year and a half, two years or something, uh, of articles, um, uh, for that magazine. And yeah, that, that was also pretty enjoyable. But unfortunately, um, um, let me say that my university career slowly tapered off. You're right. Um, and at a certain point I decided, yeah, this is, um, uh, maybe I should try something else. Um, and, uh, you know, tried a few things left and right to still, still have, uh, some kind of paper to show, uh, future employers. And at a certain point I decided, man, maybe it's better if I just, you know, um, use what I have and, and try to find some work.

Jeroen Domburg Sprite Tm: And this was like a bachelor's degree, master's degree. What were you, what were you deciding on?

Chris Gammell: Yeah, this was, um, uh, this was a bachelor's degree and, um, yeah, um, uh, I never got my bachelor's, unfortunately. Um, um, so, but, but the nice thing was, um, I went looking for work essentially just, you know, initially just trying to see what I could get, you know, uh, I mean, you're signing, you're sort of on a, on a, on a, on a, on a crossroads of, okay, where am I going now? And, and this was more like in a probe to see, okay, how marketable am I? And, and, well, actually it really helped that I had a portfolio of all the, the stuff I did, like in, on a nice webpage, uh, format, uh, nicely with all the source code for download.

Dave Jones: So your website becomes your resume basically. Exactly.

Chris Gammell: Exactly. Well, it's my, it's my portfolio. It's a, it's a nice example of all the stuff I did, including downloadable code and, and, you know, everything. Right. And that's really helped. And, um, yeah, essentially I, I, uh, put my resume up on a job, uh, job, uh, website and I almost immediately got a whole bunch of, of, of offers. So, yeah, ended up taking one of them, uh, which was for a, um, small, uh, broadcasting equipment manufacturer. Um, I really liked it there. It was like 25 people. So, you, so you knew everyone.

Jeroen Domburg Sprite Tm: Uh, and that's the best place to, I think those are the best places to learn too. Cause you have to do so much of the process too. Exactly. Exactly.

Chris Gammell: Um, it also made me learn. Um, yeah, it also taught me another thing. And that is that I don't like to work for bigger companies because that small broadcasting, uh, uh, uh, uh, manufacturing company had a bunch of very interested, bigger companies. And at a certain point the company got bought by like in this big multinational, which, um, itself got bought by an even bigger multinational. So, like in, uh, in, uh, in the, in the span of like in two years or so, um, uh, before I worked for like, you know, 25 people company. And afterward I worked for a multi thousand people company. Yes. Um, and yeah, that's, that's, that's when I find, uh, found out that if you like, um, um, um, like doing multiple things, uh, for example, not only hardware and software, but also, you know, help a bit with the networking infrastructure like that, uh, doing some other things. Um, then at least in my experience, there may be companies where that's not the case, obviously, but at least in my experience, bigger companies are not a very good fit because for example, um, I was mostly a software guy, but I also like to do hardware. And for example, I, I designed a bunch of, of, of PCBs as well in the bigger company. That's, that's not an option because they can give the job to do a PCB, you know, either to you and you'll take like in a month or something, um, uh, uh, which are other work involved, or they can just send it to the big ass PCB design department overseas. And they'll have it done in like, what a day. So. Yeah. Um, um, yeah, at a certain point, my, my work. It just got, um, a lot more boring. Let me put it like this.

Dave Jones: So was this, uh, Grass Valley?

Chris Gammell: Um, yeah, that actually was a good guess.

Dave Jones: Well, it wasn't a guess. I've got your LinkedIn page. So it's hard. Yeah. I'm cheating. Sorry. Yeah. I, I remember Grass Valley, uh, group back in the day. I presume it's the same one. They make video editing. Yeah. Equipment. Exactly.

Chris Gammell: Now there, there's, there's, there's, there's, um, um, um, I'm not going to say anything bad about Grass Valley itself because, um, I've also been to, uh, for example, um, uh, uh, like in the States, they have a, a headquarters in Nevada city.

Dave Jones: Well, I thought that, yeah, I thought they were a US only company. I didn't know they had overseas. No.

Chris Gammell: I think nowadays they're multinational. Um, if anything, I know that, for example, the cameras themselves are, uh, an old Philips, um, um, uh, branch, uh, which they bought and they are made in Breda in the Netherlands.

Dave Jones: Ah, interesting.

Chris Gammell: Um, wow. So, um, yeah, yeah, no, uh, uh, Grass Valley, nothing against Grass Valley. I've, I've, I've, I've, I've been to, you know, um, uh, the place itself. I have a whole bunch of, of very interesting people, but yeah, especially if you work like in on the other side of the, of, of, of the, of the, of the earth essentially. Yeah, exactly. You know, in a department with like in 25 people. Yeah. Sorry. That's, that's, yeah, it's, it's kind of hard to, to, uh, at least for me, it was kind of hard to, to get the interesting things, the interesting work I was looking for.

Dave Jones: Yeah. When I was at my first job, we were like a kind of a competition to the Grass Valley group doing a security and, and, you know, a video type switching gear and stuff like that. And I always wondered like their products were so complicated. And I always wondered, wow, this must be a huge company that, you know, how many designers actually design this stuff, you know, cause there were like massive, you know, hardware builds and things for all this video switching gear. It was just phenomenal. I was like in awe of what they were able to do. You know, they were like the Rolls Royce of, you know, video switching gear at the time. I don't know what they're like these days, but yeah, that was.

Chris Gammell: I think they still have a pretty good edge. Right. As far as I understand.

Dave Jones: That was the late eighties, early nineties. So yep. Quite a while back. Anyway.

Chris Gammell: Yeah. The, the, the analog stuff. Yeah. I, I, I, I heard something from colleagues about like in the history of, of Grass Valley. So it's a pretty interesting company. They, they actually started out with, you know, um, figuring out, well, I think initially they, they, they started out from a video amplifier and then they were like, Hey, we can, we can switch video too. Exactly. Exactly. Make more money. Yeah. Obviously. Right. And, and essentially it started all from there. So, uh, the beginnings, uh, at least the story is pretty nice.

Dave Jones: Yeah. Cause they were all analog back in the day. It was like, you know, like that, that was the thing you did video switching and you know, it was all analog. You'd video amplifiers, switching, fading, the whole works, you know, it was all done in the analog domain. Now it's all digital, you know? So. Yeah.

Chris Gammell: Obviously. Yeah.

Dave Jones: So what happened after Grass Valley?

Chris Gammell: Well, essentially I decided to go and look for a new job. Um, and, um, I got a few nice offers back in the Netherlands and actually it was like in, uh, kind of sort of on the verge of, of, um, signing the contract with one of them. And then, um, yeah, in the meantime, um, uh, there was this, this interesting chip coming to the market and I actually got a few of them because they, they said they would be like in, uh, wifi to serial converters. And I was actually looking around for wifi to serial converters because at that time they usually used, uh, like in small Linux router chips. Right. Yeah. And the nice thing of those chips is that you can essentially reflash them and you can put your own user space, um, stuff on them and you can just make, you know, an IOT application for the price of a, uh, serial to wifi converter. Um, so it was really interesting.

Dave Jones: We're talking about the famous ESP8266. Um, yeah, not yet. Oh, wasn't that one yet? It was a previous one.

Chris Gammell: This, this, this was before then. Okay. Um, uh, like in, like in back then you would usually have like in, uh, I think RaLink had a bunch of chips that essentially ran like in a fully blown Linux, um, um, thing. Like, uh, you could install, for example, open WRT on it. Um, and that was like in very useful for IOT things. Um, they were less useful for battery life, for instance, because obviously, you know, um, and, and I think the size was also all slightly on the, on the larger size. I think it's kind of sort of matchbox sized, which is okay, but not always useful.

Jeroen Domburg Sprite Tm: So this is like, uh, you said this is a serial to wifi type thing. So it'd be like, uh, just really simple. Any, any board you have could basically talk to it and you could, you know, bolt wifi. Yeah.

Chris Gammell: Well, essentially they marketed it as such because, um, that way they don't have to do any support. You know, if you, if you, um, uh, if you market like in an entire Linux device, then you get like in a whole bunch of clueless people with questions. And if you, if you, where's it as a, where, where are the icons? Where do I click? Exactly. Um, but if you market it to, uh, as a wifi to, um, uh, to serial device, then all you need to do is, is, is essentially, um, uh, you know, document the, the serial setup stuff and that's it. Yeah. Uh, but, but, but under the hood, they were entire, uh, Linux devices. So if you know, uh, um, uh, if you knew what you were doing, then you could replace that with open WRT, you write your own stuff for it, you know, plunk a web server on it, plunk, uh, uh, uh, an LED controller software on it. And you could do your own thing essentially like the raspberry pi is, uh, now. Um, so yeah, I was always kind of sort of looking for, you know, the key word, wifi to serial converters. And then at a certain point they, they, um, uh, a bunch of them came out and, and the price was like in ridiculously low, I think like in five, $5 or something, which was like half the price I used to get. And yeah, um, they had this new chip, which was the ESP8266. And I went looking for information and seemingly I wasn't the only one because, um, uh, they also popped up like in on a bunch of forums and, uh, pretty quickly afterwards also on hack

Jeroen Domburg Sprite Tm: a day and, um, I remember when that stuff started happening, it was like, I kept seeing this, these, these part numbers over and over and I was just so confused. Like you said about the price, the price is just unbelievable. It's crazy.

Chris Gammell: It's, it's really low. Um, so, um, in essence, uh, you had this entire open source community essentially poking at the thing and seeing what it can do. Um, at a certain point, uh, there was a leaked SDK, which was, um, a, um, how do I say? Um, if you would download it, it wasn't entirely a legal version of a Chinese Windows XP with, um, I think cadence tools installed. Wow. Really? Yeah. I, I, I, I, I think it was leaked by one of the Chinese resellers, but I'm not entirely sure what the, what the source of the thing was. Jesus.

Jeroen Domburg Sprite Tm: And, uh, wait, you're talking about like, like the cadence tools, like the whole chipset design thing?

Chris Gammell: No, no, no, no. Luckily not that. Okay. That would really be a problem. Yeah. Uh, uh, but still, uh, cadence does have, uh, like in, uh, their own, uh, compiler for, uh, the extensa, uh, Oh, cause they own the core. That's right. That's right. That's right. Exactly. Exactly. So, um, uh, essentially you got a virtual machine with the, uh, with the compiler tools installed and, uh, also the SDK installed. And, and you could use that if you weren't too worried about the legality of the entire thing, uh, in order to write applications, uh, for that.

Jeroen Domburg Sprite Tm: And obviously you set that aside, of course, we were, I'm sure.

Chris Gammell: I, I, I, I, I read about that and I was like, um, but I also read that, uh, or, or actually, you know, um, the thing I was looking for was, Hey, does, does maybe GCC have a backend for this, I mean, GCC has a backend for nearly everything. So why not extensa? And, uh, that turned out to be the case. And I wasn't the first person looking into that. And, um, um, uh, there was only one, one snag. And that was that it wasn't entirely compatible because the extensa inside ESP 32 uses, well, a certain mechanism, um, that GCC wasn't entirely used to yet. And there was actually this guy from, uh, cadence, uh, uh, itself, I think who actually made, um, who, who, who also maintains, uh, I think he maintains the extensa GCC port as well. And he made a small change and then all of a sudden you could, you know, use the SDK, uh, binaries, which actually I think already did came out, uh, uh, under, uh, under an open niche, uh, license. At least you could legally reduce them. And you could essentially just yoink them from the VM and use them with GCC to write your own stuff.

Jeroen Domburg Sprite Tm: So we, we, we had to take a step back to, uh, extensa is the old tensilica. That's there. Oh, sorry. Yeah. I'm maybe going too fast. Yeah.

Chris Gammell: Um, yeah. So, um, uh, extensa is indeed, uh, like in an old, uh, or, uh, yeah, uh, is made by tensilica and tensilica used to be a company that was really big into, uh, you know, reconfigurable cores. So, um, you have a certain application, for example, you want to, I don't know, make music or something. DSP type stuff or. Yeah, exactly. And they have this really neat trick where you can, um, essentially you can write your code and then you can run it through their simulator and their simulator notices that, Hey, this and this and this is the hotspots. And it will essentially take those hotspots and convert that into a specialized, um, CPU instruction.

Jeroen Domburg Sprite Tm: Oh, I remember they did that on FPGAs too. Like it was really hot at one point.

Chris Gammell: So, um, uh, I think you can get a, a, a core that's entirely optimized for your design. And, um, seemingly that works really well for, uh, uh, yeah, like specialized cores. Um, but the other, the other nice thing they have is that they are, um, as far as I understand, as far as embedded cores go, they are pretty cheap. Um, so, um, um, that was one of the reasons why the ESP, uh, 8266 uses, uh, uh, uses an extensor core. Okay. Huh. Well, um, yeah. Um, uh, as far as I understand on the side of expressive, by the way, uh, initially they really meant the wifi to serial converters to actually be applications like in, uh, only be used as wifi to serial converters. Right. And then all of a sudden, uh, they saw a whole bunch of interest from this weird ass community, uh, uh, like in, uh, in the West. And, and they're like, holy crap, what's going on here? And, um, they kept, they kept an eye on it. And at a certain point when GCC came out, they were like, Hey, um, you know, this, this, this community is essentially clamoring for an SDK they can use. And seemingly now there's GCC that works and we just, you know, need to add like in our own, um, uh, IP, uh, as in our own libraries, et cetera, uh, to make that work with our chip. So, um, not long after they made an official release, which still was a VM, but in this case it was an Ubuntu VM. So they could distribute it with the GCC tool chain, which was open and their own libraries. And you could use that to, to, um, essentially, uh, uh, yeah, build your own applications, uh, for this chip.

Jeroen Domburg Sprite Tm: And so the GCC was existed because this, this tool chain or sorry, this, uh, core was already out in the marketplace, right? That's the idea. Yeah. Yeah.

Chris Gammell: Um, yeah. The extension core is, is, um, uh, kind of sort of like the arm core, uh, there, there, there really isn't a single, um, uh, core. Sure. Sure.

Jeroen Domburg Sprite Tm: It's a family of a family of different products and customized.

Chris Gammell: Exactly. And, um, and because Linux is pretty tied to, um, I think that's the reason, uh, Linux is pretty tied to a few, uh, ways of compiling, uh, compiling the GCC does. Um, um, they had to have a port of GCC in order to compile Linux for that, that, uh, chipset. And, um, so that, yeah, if you have.

Jeroen Domburg Sprite Tm: Okay. Sorry. I was just going to say that the, the, the switch over that you said, they said there was like one thing that wasn't, wasn't capable. And then they, they did a switch there. Was that just like a certain instruction that was not in GCC or what, what was that actual switch that happened?

Chris Gammell: Yeah. It comes down to, uh, to, uh, because GCC was developed, uh, in order to compile Linux, essentially, it didn't have that good a support for like in the smaller, uh, extensa, uh, uh, um, uh, cores. So, um, this core left off a bit, uh, yeah, the, the, the, the windowed, uh, registers, um, infrastructure, essentially, um, essentially it left it off. So, um, uh, things like calling functions had to be done in a slightly different way. And GCC didn't have support for that yet.

Jeroen Domburg Sprite Tm: Got it. Okay. Well, that's great. So I mean, like that's capable, right? I mean, that's like a lot of the work was probably what 95% of the work was done and then it was just kind of tweaking it for that thing. Right. Yeah, exactly. Yeah. It comes down to that.

Dave Jones: Did the popularity really explode when somebody put it to the Arduino platform and got it like, so that any Dumbo like me could use it?

Chris Gammell: Yeah, yeah, yeah. Um, I am not entirely sure. I'm, I'm, I'm, I'm sure that helped. Right. Um, let me, let me put that first, but, um, well, there are, there essentially are two things like, and you have people who really, um, you know, want to hack with it and essentially, you know, there's a chip out. We can't program for this yet. And we're going to make this happen.

Dave Jones: But, but that's got to be a small, that's got to be a small, a relatively small community though.

Chris Gammell: Yeah, exactly. Exactly. But that is, that is also the community that I was most, um, like involved with because, you know, if you have a GCC compiler for a chip, um, and, um, uh, I'm, I'm, I'm, I'm already happy. And if you also have a bunch of drivers for the chip so you can do wifi chip, uh, wifi stuff, et cetera, essentially that's all I need. Right. Um, the rest you'll figure out, right? That's the idea. Yeah, exactly. Exactly. And, and I'm not, I, I, I kind of missed out on the entire Arduino thing. Like, and that was after my time, so to say. So, uh, yeah, I, I, uh, learned, uh, programming, uh, yeah, uh, the hard way, so to say. Uh, so it's write stuff directly and see, um, I'm pretty used to that. Um, if I were to switch to Arduino right now, I would essentially have to learn another API. So, um, um, while I agree that it's very useful for like in people to learn stuff, um, I prefer other tools. So.

Jeroen Domburg Sprite Tm: Don't, don't worry. You're not, you're not being criticized here. Uh, yeah. So when did you, so you, I mean, you work there. So when did, how did that, that whole thing go down then? I mean, obviously you were in the Netherlands and then. Yeah. Now you're in China. So.

Chris Gammell: Yeah. Um, essentially, uh, as I said that this was around the time that I was looking for a new job anyway. And, um, I saw this thing and I was like, okay, um, you know, IOT is going to be, I think reasonably big with this thing. But I also saw an issue with that. Um, the, uh, you had the problem of configuration. Yeah. Um, essentially, uh, you have this device that can talk wifi and now you have a problem that you have to configure that because, um, uh, you know, um, um, uh, it, it won't automatically connect to your wifi network because your wifi network usually has a password or, or something. Hopefully. You need to feed that into the device. So, um, uh, I kind of saw this issue that a lot of people will be running into the same issue that they need to, um, uh, uh, configure the device to go on their wifi network. And I was like, eh, they're probably going to be a whole bunch of solutions that I'm not going to like very much. It's either, you know, clunky stuff like wifi interfaces, sorry, uh, serial interfaces where you have to enter your, your, your password or maybe someone writes an app for it or something.

Jeroen Domburg Sprite Tm: I was going to say the worst one is when you have to do it with like a, with a four button remote.

Chris Gammell: Let's not start there. L click, click, click, click, click, click, click. R. Yeah. Ah, crap. I have an underscore in my password and that's not in the character. Exactly. Yep. Yep. Um, so, um, uh, uh, essentially I wanted to preempt that and I thought a nice way to do that because the ESP 866 can also do like in, um, uh, it can, it can be an access point. So I was like, okay, what if I wrote a, uh, uh, uh, what if I wrote a web server for the thing? So, um, uh, I write a web server. I have a nice environment that people can just copy paste, uh, that, that, you know, shows you the access points and, uh, has a field where you can enter the password and, uh, you know, just, just make something like that. So the normal procedure of configuring these devices is going to be that you press a certain button or something. The thing will turn into an access point. You use your phone, your laptop, your, I don't know, whatever, your Tamagotchi to connect to that thing. Um, um, uh, click on the right thing, enter the password, maybe configure a bunch of other things and then press, okay, and your entire thing is configured. And I, I kind of sorta halfway did that because of self-preservation, because I could see that there may be a lot of interesting, uh, you know, things that would come out that could only be configured by using a windows program or something. Oh, I use Linux. So that would be a pain in the ass. So, you know, if I, if I would make something like this, then people would use this and it's nice, nice and platform independent. So I could also use it. So, uh, long story short, I got a mail from the CEO of Espressif and he was like, yeah, uh, uh, uh, we saw that you, you know, made a web server and this actually is on our own roadmap, but, um, uh, we're, yeah, we, we, we don't really have time for that. So it keeps getting pushed back. So we're really happy that you did this. Is there any, any help or whatever you need with this? And I'm like, yeah, well, I kind of sort of make this in my free time. So, you know, well, yeah. I do like money. I like money. Um, well, yeah, yeah. But, but, you know, at first I'm like, yeah, I, I don't really need specifically help with this web server because I'm, I'm designing this, you know, in my own free time. And, and, and, you know, if I get paid that, that, that kind of sort of implies a, a, um, you know, then I all of a sudden need to develop this in order to, you know, uh, be worth my money. And, and I'm not sure I can say if I'm going to keep being interested in this. So it's like, nah, I'm fine. This stuff will, you know, run this course. I'm, I'm, I'm, uh, uh, you know, putting it on the market under an open source license. And, you know, everyone who wants can, can, you know, help with, with development of this. So now I'm fine. Um, so, uh, a bit later I was looking into sensors and I actually had a bunch of, uh, questions. Um, uh, well, the problem with wifi sensors is that, you know, usually at a certain point they have to wake up, they have to connect to wifi, send, send whatever they sent over to, you know, the main ship and then go to sleep, uh, uh, again. And I had some issues with the wake up, uh, a bit, uh, taking a fair amount of time, like in multiple seconds. And I was like, yeah, if you change a few APIs here and there, you can probably do this like in, in what half or maybe a third of the time. So I made a bunch of suggestions, uh, on the forum. And again, I had the, uh, CEO in my mailbox and he said, yeah, well, what you did there is essentially describe our roadmap. Um, you seem to have a feeling for this kind of stuff. Would you be interested in, you know, either being a consultant for us or maybe, you know, a crazy idea and move to Shanghai and work for you. And I'm like, well, I'm looking for a job anyway. So, yeah.

Jeroen Domburg Sprite Tm: And you had never, had you been to Shanghai at that point or no?

Chris Gammell: Um, I've been to Shanghai once. So I actually, um, have a friend who worked in Beijing for five years and I decided to, um, you know, um, see what life in China is like. So, uh, with a friend, I decided to go on a holiday to China first, uh, to Beijing. Then because there's a nice, uh, sleeper train going, uh, between the two to Shanghai. Um, I didn't like Shanghai at the time because it rained all the time. Um, and, um, yeah, so, so I actually had seen Shanghai and I actually had got an idea of what life, um, and, and working in China would be like still, um, you know, um, before that I essentially, um, I was born in a city. I went to university in a city where I could actually, um, you know, the cities are so close together that on bike it's half an hour. Um, so, um, and, and, and, and then I got work and, um, for work, I moved back to the city I was born in. So, um, yeah, moving to Shanghai all of a sudden is a, is a pretty big step, but I was like, you know, um, um, I, I don't, I don't spend that much money. So I had a, a, a, um, yeah, essentially I was in a situation that even if I went to Shanghai and the entire company, um, didn't exist, then I could still go back to the Netherlands and be in a reasonable, reasonably comfortable position, uh, with just a nice story to tell. So I was like, you know, you don't get, yeah, yeah, you, you, you don't get, get, um, uh, opportunities like this that often. So maybe I should just go for it. So I did. And, um, yeah, I haven't regretted it yet.

Jeroen Domburg Sprite Tm: Okay. Yeah. And then, and that brought us here and now you're on the Amp Hour and you will regret it. No, I'm just kidding. Uh oh. No, I'm just kidding. Then.

Dave Jones: So how is it like in China? Where are you based? Shanghai?

Chris Gammell: I'm, uh, yeah, I'm based in Shanghai. Uh, like in Espressif's headquarters are here. Uh, we also have an office in Wuxi, uh, where, uh, Espressif originally started. We are starting to have headquarters like in all over the world. Uh, because we're getting bigger and we're also getting more, uh, international customers. And, um, for example, for European customers, uh, the time zone difference can be, uh, a problem, uh, if you want to have support. Um, so.

Dave Jones: So how big is Espressif? How many employees roughly?

Chris Gammell: Um, it is, um, it's interesting because like in every time I tell that I, I get the result that people are either overwhelmed or underwhelmed. They either expect like in much smaller or much bigger. Um, I think we're at like in 100, say 150 ish people now.

Dave Jones: That's probably more than I expected, but yep.

Jeroen Domburg Sprite Tm: Yeah.

Chris Gammell: That's healthy though. That's a good size. Yeah. And we're still growing like in.

Jeroen Domburg Sprite Tm: See, I think it would be different though. If, so I'm guessing it's a fabulous organization, right? Yeah, yeah, yeah. We are. If it was, if it, if you owned a fab, then that number would be three times that, right? Because you. At least. Yes. Just because of all the overhead stuff. So that's kind of just the, I feel like that's part of part and parcel of being a fabulous company. It's just, you can have less people. So. Yeah, exactly. Exactly. Yeah. That's great. And so, uh, okay. So you're, you're doing software slash firmware there or hardware too. Yeah.

Chris Gammell: I'm, I'm, I'm doing all kinds of stuff. Yeah. If anything, I have the diversity in what I, uh, uh, what I want to do back. Too much diversity. Sometimes, you know, do accounting or, uh, are you packing and shipping or what? Oh, luckily no. Not that. Uh, no, but, um, like in my, my day to day job essentially still is like in software. Um, I'm a software, uh, what's my official title again? Senior software engineering manager, I think. Um, uh, essentially, um, most of the time I take care of ESP IDF with a bunch of people who also work on that. Uh, ESP IDF is the, uh, SDK for like in the ESP 32, which is our, our latest, um, uh, chip. Um, uh, I kinda developed. Like in the original RTOS implementation for that port it did to be multi-core. And now, um, yeah, it's essentially the base of the SDK we have. Um, but for instance, um, I'm also advising the digital team on, um, you know, uh, what would be a good idea to do with regards to the architecture? Um, I also like future for future stuff.

Jeroen Domburg Sprite Tm: You mean like you're kind of giving feedback.

Jeroen Domburg Sprite Tm: Yeah. Yeah. Yeah. Yeah.

Jeroen Domburg Sprite Tm: Yeah. Oh, that's great. Very much. Very much. Yeah.

Chris Gammell: Um, so yeah, that's kind of interesting because, you know, um, um, um, the nice thing of being on the bleeding edge of stuff is that you can make new stuff. The bad thing about being on the bleeding edge is that you actually have to think of that new stuff. Right.

Jeroen Domburg Sprite Tm: Oh, no one else is going to do this. Huh? Okay. Well. Yeah, exactly.

Chris Gammell: It's, it's both very interesting as well as like in, um, extremely frightening somehow. So, but still, you know, it's, it's, uh, uh, expressive consists of a bunch of very intelligent people and I'm not the only one who has to make the decision. So I'm pretty sure we can come up with stuff that actually, you know, works. I mean, we've, we've, we've done it in the past. There's no reason to, you know, uh, that, that, that, that we make mistakes there. And, um, yeah, uh, we do have a bunch of ideas that I think would be very much liked by, uh, the markets and, um, you know, electronic, uh, fanatics, um, outside of just, outside

Jeroen Domburg Sprite Tm: of just like, how about cheaper?

Dave Jones: Yeah, you're right. Well, it's gotten to the point where it, it's pointless making it cheaper. Right.

Jeroen Domburg Sprite Tm: Right.

Chris Gammell: I, it's, it's kind of, well, there, there still is a point in there, but, um, um, uh, you know, um, I think easier is something though.

Jeroen Domburg Sprite Tm: Right. I mean, like, because it's still everything. I think that you guys have, like, you're talking about like this, this, this, this IDF and the multicore and all this stuff, all the setup stuff. And it, it already seems like in terms of dummies like me and Dave being able to get online, that's awesome. Right. From a community perspective and everything else, but from a, like, like what you were talking about with like the wake up, get online, go to sleep, that kind of stuff is from an IOT perspective. That seems like that's the most important thing for battery life and that's everything. Yeah. So.

Chris Gammell: Mm-hmm. Yeah, it is. Um, yeah. Uh, well, easier for a big part is like in a software thing. Um, uh, as you already mentioned, for example, having Arduino. You know, support that is actually like, you know, well developed and not just, Hey, you can do a digital right using, uh, using our chip. Um, is actually pretty important. And, um, uh, like in, uh, uh, all the way we do it essentially, um, we do have developers for the Arduino port, like in, in house, but there are also a bunch of other things. For example, you have micro Python and you have Lua port and you have JavaScript, et cetera. And, um, our, our main approach with regards to those, those, um, uh, those guys is essentially that we develop ESP IDF as, as good as we can. So those people can all use it as a basis without, you know, having to work around the things we have decided. Uh, but apart from that, um, you know, there are people who know Lua way better than we do. There are people who know the intrinsics of micro Python way better than we do. So, um, if they have questions with regards to ESP IDF or if they want to have changes, then, uh, we're happy to incorporate them. Uh, but we leave the development of, of those things to those guys. And that actually seems to work out pretty well. Um, uh, people like that are usually very happy that they get, you know, good support and, um, still get to make like in all the, the language decisions. So, um, yeah. Right. Yeah.

Dave Jones: Speaking of languages, how is the language, how is the language barrier being in China? By language, I mean the human language barrier. Human language, this pesky human language that we have to deal with. Yeah.

Chris Gammell: It's, um, uh, well, the nice thing is that, um, you know, English kind of, um, uh, there are, there, there, there seem to be more and more people who speak English in China. Um, it still is, um, you know, like I come from the Netherlands and like everyone speaks English in the Netherlands. Yeah. Um, um, so it's always going to be worse in China and, um, uh, at work, it's not that much an issue because a lot of the engineers, uh, speak, um, at least understandable English. And even if they don't, and they will usually poke a colleague and, and, you know, you will have to, yeah, you're essentially talking to two persons instead of one and they will have some backtalk every now and then. So that's not that much of an issue. Um, in daily life, uh, it's kind of sort of is, but at a certain point, uh, even if you don't study Chinese full time, you develop what's known as taxi Chinese.

Dave Jones: Taxi Chinese. Yeah.

Chris Gammell: Yeah. Um, yeah. Essentially enough Chinese to be able to say, you know, um, uh, uh, yeah, I want to buy that thing, that thing, that thing. Left to right. Stop, stop, stop, stop. Like that. Essentially. Yes. So, um, yeah. Um, and I'm also trying to, to, to, uh, you know, work at it. Um, uh, like in, uh, Espressif also helps out there by essentially hiring a Chinese, um, uh, teacher, uh, for like in all the, all the, all the, all the foreigners, um, in the, uh, in the company. And well, on one hand, um, Chinese is a pretty hard language. Um, it's, um, you know, you've got to. You've got to learn other written Chinese, which is an entire. They're right. Totally different based. Yeah. Yeah. Uh, but also, you know, I'm used to learning languages that are spoken in Europe. And the nice thing is that there's a lot of overlap there. So for example, if you know English, if you know French, then you can probably also get the gist of what an Italian guy says because, you know, it's, it's pretty, yeah, similar and, and you can recognize words. And then you go to China and like in everything is different. And they have like in only, only a few loan words that you may be able to recognize. And even those, if you don't know them, they're mangled in such a way that only if you're later told that those are loan words and you're like, ah, yeah, now you say I can actually, yeah. Um, so, um, uh, like, you know, at least the spoken language, the biggest barrier is to actually, you know, get all the words and, and, and get them into your head. And, um, unfortunately with a daytime job going on and with, um, you know, me also trying to do some, some electronic stuff, um, uh, on the side in the evening. Um, yeah, my Chinese could have been better. Let me put it like that. You're not finding any native Dutch speakers in China? Is that what I'm hearing? Uh, there are native Dutch speakers, but you know, why would I? The, the, the English community is so much bigger. Right.

Jeroen Domburg Sprite Tm: I actually didn't expect you to have any native Dutch speakers there.

Chris Gammell: So it's, yeah, there's, there's a few.

Dave Jones: How does working in, in China go? Like, do you just turn up and do a job? Like, do you have to get a working visa? Do you have to have a company sponsor you? How does it?

Chris Gammell: Oh, holy crap. Yeah.

Dave Jones: That's easy, is it?

Chris Gammell: It's China is very, very good at bureaucracy. Let me put it like that. Yep. It's yeah. Um, essentially, uh, let me think that's more than two years ago.

Dave Jones: Well, the company offers you a job, right? The company's offered you a job and you go, yep, I'll take it. What was involved in, in actually moving there and doing that?

Chris Gammell: Um, essentially what happened is that, um, I think initially they have to take care of a bunch of things so you can actually get a license to work there. Right. Um, um, so, uh, you send a whole bunch of stuff like in all your high school diploms because maybe it helps, uh, to, uh, to them so they can, can communicate with a government, you know, instance that takes care of things. Then at a certain point you get this really shiny and really, it is a really nice looking, um, uh, uh, on, you know, uh, printed on hardboard, uh, uh, sorry, on hard cardboard, um, a document that says, yes, you're allowed to come to China.

Jeroen Domburg Sprite Tm: It's like a golden ticket.

Chris Gammell: Yeah. Kind of sort of. It looks really fancy. Um, um, so then you can use that to go to your local embassy. I think then you get a Z visa, which is, um, uh, used to get into the country. Um, um, so then you can essentially, you know, go to China. Uh, then within China, um, you're allowed to get in, but you're not allowed to actually live there yet. Oh, you have to get a residence permission first. And, uh, to do that, let's see, you have to, uh, you would have to do that before you

Dave Jones: turn up. I'm presuming. Uh, no, no, no. Yeah. Well, um, oh, because you're like a tourist. If you turn up, you're like a tourist and then you've got a.

Chris Gammell: Well, yeah, sort of the, the Z visa is, I think, uh, you can get into the country and that's it. So as soon as you're in the country, you have to do like in all the other stuff. And, um, uh, I think the idea is that if you can't get a residence permission, then your Z visa will at a certain point expire. So you're forced to get back. I'm not, I'm not entirely sure. Oh, by the way, this is also like in information of two years ago. I think it's changed slightly. So, um, well, you made it.

Jeroen Domburg Sprite Tm: So that's all that matters. You know, like you said, you're allowed to leave. You're allowed to come back. So that's a good time. Yeah. Yeah. Yeah.

Chris Gammell: That, that, that seems to be, you know, I've crossed the border a few times and they still haven't stopped me. So that's probably okay. Okay.

Jeroen Domburg Sprite Tm: Yeah.

Chris Gammell: It's prototyping right there. Exactly. Just trial and error. Yeah.

Dave Jones: And what about the infamous great firewall of China?

Chris Gammell: Yeah. It's, um, um, yeah.

Dave Jones: Is it, is it, is it real? Is it a real thing? Is it easy to circumvent?

Chris Gammell: Is it, it's, it's most definitely a real thing. Um, as in, if you go like into Google's website or Facebook website or whatever, then you'll figure out that, uh, unfortunately they have some technical issues.

Dave Jones: So can you watch YouTube? Yeah. Like I've heard you can't even watch YouTube.

Jeroen Domburg Sprite Tm: Um, like Dave's asking the questions for himself here. Let's, let's be honest. Yeah, exactly. Well, you know, it's kind of my job. Yeah.

Chris Gammell: I, I, I, I, I can watch the EV vlog and, uh, well, it's, it's, you may, uh, yeah. Um, um, essentially what you do is you use a VPN. Um, so.

Dave Jones: Oh, but you've got to have a VPN to do it. So normally you wouldn't be able to.

Chris Gammell: Yeah, exactly. It's, uh, yeah. If you use a VPN, then essentially you can tunnel through the great firewall and, um, end up in another location and then go to the internet and, and look at whatever's allowed in the location you end up in.

Jeroen Domburg Sprite Tm: Hmm. Well, it sounds like, it sounds you're making do. So.

Chris Gammell: It's, it's, it's, it's, it's a pain in the ass, but, um, you know, you learn to live

Jeroen Domburg Sprite Tm: with it. Yeah. Um, speaking of, do you, I mean, so do you guys, do you guys publish on like the, so I mean, there's a lot of stuff out there. Obviously you mentioned Hackaday, stuff like that and other blogs and forums and stuff like that. Do you, do, does Espressif ever publish stuff in terms of how to get this thing online or is it more community focused, that kind of thing?

Chris Gammell: Um, it's, it's kind of sorta, um, I think we do a bit. Yeah. Well, um, how to get this stuff online as in how to use the SDK. We have a documentation team for that and they do an awesome job of, you know, um, if you look in the ESP IDF, um, tree itself, um, you can, uh, you can essentially see that there's not only like in all the function calls, et cetera, are well defined. There's also some information on, Hey, you bought our development board. How do you do stuff? Hey, you want to use J tech and what kind of J tech posts can you use? And how would you, for example, debug a, a sample application? And we essentially do that, um, you know, in our own documentation because, uh, we wanna, um, stuff like that may change. If we decide to change, for example, our J tech implementation and a bunch of commands you, you, you need to enter probably are different. And if you publish it anywhere else, then you essentially have an old article, which isn't up to date anymore, but which still turns up. So, um,

Jeroen Domburg Sprite Tm: And then people go to production and they're like, Hey, my party can program. Okay, cool. Yeah, exactly. Exactly.

Chris Gammell: So, uh, so if you keep that in your own documentation, then you're, you're almost forced to, to, to, to keep it, um, uh, up to date every time you change something. So that, that works well for us. Um, aside from that, uh, we also, um, uh, yeah, well, um, the dirty little secret is that I, that I have a second title, which is a technical marketing manager.

Jeroen Domburg Sprite Tm: Oh no, Dave, we got one.

Chris Gammell: What, what, what, what? Honestly, I have no, well, I do have an idea. I didn't know it was going to happen. It's, um, that, that, that kind of was the case. Um, um, essentially it went like this.

Jeroen Domburg Sprite Tm: Happens to the best of us. I've had marketing in my title. It's fine.

Chris Gammell: Essentially it, it, it, it worked like this. I, I really liked the, the, the, the, you know, the chips we make also, you know, from a hacker perspective. I mean, it's got two cores, which means that you can do all kinds of fun stuff, which involves two cores and it's got a bunch of memory. So you can do, you know? Um, so one of the things I made, uh, for the, well, at the time it was the ESP 31, um, which is, um, yeah, essentially the ESP 32 beta. Um, I ported a, uh, Sega, um, what's it? Sega Master System emulator to it just to show, like, you know, this, this, this may be a, a tiny little chip, but it can actually do like in a whole bunch of things. Um, the same thing.

Dave Jones: So can you tell us about the ESP 32? How is it different from the ADO? Cause you, you're basically almost a two device company, aren't you? You've got the classic AD266 and now the ESP 32 is like your, your new. Yeah. Kind of, sort of. Are you, are you trying to push people towards the ESP 32 or, or are they like different market segments? Like, well, I am because I really liked the ESP 32. Right. But, uh, that's, that's not company policy. But is it like a higher, but is it a higher cost chip? Are you ever going to make the 32 for the same as the 62, AD266, et cetera?

Chris Gammell: Uh, we may, um, essentially the story is there that the, um, AD266 essentially is, um, a spin off of another chip, the 8089, if I recall correctly. And you probably never heard of that chip, um, uh, which is because it's, um, well, um, let me go back a bit. Um, Espressif essentially started, um, uh, with the development of wifi chips because they saw that, uh, you know, Chinese, uh, um, at that time, like in tablets were really big and you had, the market was flooded with, with, well, also cheap Chinese tablets. Um, and, um, those tablets usually used a wifi module because, um, you know, uh, doing wifi actually is pretty hard. And at the time you had, um, a bunch of wifi chips who needed a whole bunch of glue logic around that, that would be actually, you know, carrying that 2.4 gigahertz signal. Um, which is pretty much a pain in the ass because you have to take care of what your PCB to be like. Yeah.

Chris Gammell: Um, so the way they solved that is to make a little module with a chip on it and, and, you know, that, that, that module PCB could be like in really nice and, and, and, and, you know, controlled impedance and all that sort of stuff. And they would put it like in on their main board, which was like in cheap ass Chinese, uh, you know, uh, four layer, you know, uh, just Shenzhen, uh, crank something out, uh, stuff. Um, but the problem is that the, you know, um, making the module actually, you know, costs a bit, like in maybe it's, it's, it's, it's 50 cents or something. So, um, the, uh, the, uh, the, the opportunity that the, that Espressif, uh, tried to exploit and, and, well, succeeded pretty well in that was that if you make a, uh, a wifi chip that is cheap and doesn't require any external components that, you know, carry like in, um, uh, uh, 2.4 gigahertz signal that is, that is really sensitive. Um, and, and also has a bunch of auto calibration. So it can adjust itself to whatever, you know, cheap ass cardboard PCB it's, it's, it's, it's based on, then, then, then, you know, you can, you can save the cost of making the module. And, um, that was the ESP 8089, uh, which is essentially a tablet wifi chip. Right. Um, but they also had the idea, you know, IOT is an up and coming market and maybe we can, you know, just tweak the design a little bit so we can also do something with IOT because maybe there, there, there, there are a few people interested in that. So, uh, in essence, they made a second variation of that chip, which has, uh, the capability to, uh, run like in its own standalone program from external flash. And that became the, uh, ESP 8266. And, um, at first it really was meant as an application thing. And, and, and that's where the, where the proprietary SDK that leaked came in. And only later, uh, like in Espressif was kind of like, holy crap, there are so many people interested in this. So the entire chip itself actually was designed as a wifi chip for tablets with the IOT bit only thrown in as almost an afterthought, I would say. Um, so, um, that is the reason why, for example, the ESP 8266 has so few peripherals and only has one ADC channel and stuff like that. Right. And for the ESP 32, um, uh, yeah, um, uh, we wanted to do it the other way around. So we, we designed a chip that was first and foremost made for IOT. And secondly, you can probably also use it to, you know, um, uh, get wifi and Bluetooth into your tablet if you really want to.

Dave Jones: What does that mean? Design it for the internet of things. What are the requirements? Like if you're, okay, we're going to design a chip and it's focused on the internet of things. What does it need? Yeah.

Chris Gammell: Okay. Um, so yeah, as you probably know, the internet of things is a really, really fuzzy and badly defined, um, uh, term.

Jeroen Domburg Sprite Tm: I mean, I think sensors, sensors is probably a good incoming thing. Yeah.

Chris Gammell: Um, essentially, you know, um, uh, we leave the definition of the internet of things to, uh, you know, the, the people actually make internet of things, uh, things, uh, we essentially

Dave Jones: Yeah, but they make the internet of things things with your thing.

Chris Gammell: True, true, true, true, true. True, true, true, true. But, you know, uh, the basics you need for an internet of things thing is like in connectivity. And we have that, which is like in wifi and Bluetooth as well as BTLE. Um, and apart from that, you want to have, uh, you know, that's, that, that's essentially the internet side sorted. And then you want to make your thing and your thing essentially is like in anything you could normally plunk a microcontroller in, but now you plunk a microcontroller in it that can connect to the cloud. Ooh, the cloud. Um, um, essentially, uh, all you need on the other side is a capable microcontroller and a lot of peripherals so you can interface with whatever you want to interface in, uh, with. So, um, there are quite a few on this thing.

Dave Jones: I mean, like ADCs, DAX, PWMs, you know.

Chris Gammell: Exactly, exactly. Comparator or two. So, yeah, we have, we have a whole bunch of peripherals that can be used for like in the things they're meant to plus a whole bunch of peripherals that can be used for things that, you know, you don't, um, uh, we didn't design to have them used for.

Dave Jones: Um, on the, on the comms side of things, just one thing, like, you know, you mentioned Bluetooth BLE. I find BLE a pain in the ass. I'm developing a BLE product at the moment. Is there, there's a new, I've heard there's a new Bluetooth five coming out. Have you dealt with that? Do you think that'll solve issues with BLE or whatnot? I've heard it might. I haven't really looked into it.

Chris Gammell: Um, to be honest, I am more knowledgeable on the Wi-Fi side of things. Um, so, um, yeah, I heard a few things would come out, uh, but I'm not sure if they make like in the API where you as a developer would, you know, use, uh, if they would make that any easier.

Dave Jones: Okay.

Chris Gammell: But I gotta admit that's not my, my field of specialty. So.

Dave Jones: Cool.

Chris Gammell: Yeah.

Dave Jones: Yeah. With hindsight, I should have put in a, um, ESP 32 in, instead of just a BLE module, you know?

Jeroen Domburg Sprite Tm: So anyway, well, how do you, I mean, Sprite, how do you find, how do you find the people are approaching? Are they like, we're definitely putting down a module or people actually putting down the chip set? And they're like, Oh, well we, I mean, is it possible to get the chip set on its own or is it has to add the module?

Chris Gammell: No, it's very well possible. And people, people actually do that. Um, um, yeah, it's, it's kind of sort of 50, 50. I think, um, you have got at least on the, um, like, and it seems that the, um, European and Western developers are more keen on just buying a module and using that because they don't have to worry about the certification of that bit. Um, and stuff like that. Um, I have the idea that the Chinese manufacturers like to just plunk in, uh, yeah, either, either, um, you know, plunk in the raw chip. Yeah. Yeah. Or, or they essentially, um, uh, custom design a module for their own use because the Chinese manufacturers usually are like in the bigger ones. Um, so they have to tier one manufacturer type thing. Yeah. They, they, they, they, they want to have a module they can use in a lot of, of their products and they, um, essentially want to, you know, custom design that entirely to their own purposes. So, um, you know, in essence they're buying the chip, uh, from us, but they're still using modules in their products.

Dave Jones: Right.

Chris Gammell: Yeah.

Jeroen Domburg Sprite Tm: That's great. I mean, it's, it's kind of insane how many, I mean, so this is the trend that we see on here all the time, right? So we see, I talk about analog chips getting, you know, shrunk into packages. Obviously the ESP 32 has got everything on board, right? I mean, it's, uh, and obviously it's low cost. It's got wifi. It's got Bluetooth. I mean, so I guess I kind of see what you're talking about when you said, where does it go from here? Like what else do you even put in there? Right.

Chris Gammell: Like, yeah, exactly. Well, yeah, there, there, there are a few things, uh, we can do. I mean, there's also the, uh, there, there, there's always the bit, you'll always have applications that, that either need more CPU power or need to be lower power. So to say, um, I can, everyone wants a device, um, uh, you know, that can sing and dance while they only have to put in like in one AA and it'll live for like in 10 years. Right. So, um, at least that's an optimization. Um, uh, yeah. Aside from that, you know, tweaking the peripheral set is, is maybe not as glamorous as, you know, wow, we designed a whole new, uh, uh, chipset architecture. But, um, I think.

Dave Jones: Speaking of which, like, would you want to move to like an arm? Like, are you still going to push along with the 10 silica? Cause like some people think that this, oh, it's running Linux and like, or whatever. It must be like an arm, you know, type processor. Whereas it's, it's, it's a 10 silica. It's, it's, it's own totally different processor architecture.

Chris Gammell: Mm-hmm. Uh, yeah. It's also not, not running Linux. It's running free artos. Uh, it's more of an embedded thing because you only have, well, you only have like in half a megabyte of RAM to work with. Um, so.

Dave Jones: But, but that operating system had to be ported to that 10 silica processor, you know, and then you've got to maintain it and. Yeah. Everything else, right? So.

Chris Gammell: It's, um, actually free artos, um, uh, uh, initially wasn't, uh, capable of handling dual core stuff. Uh, right. That is one of the, one of the things I did when the ESP32, uh, still was in, was in beta. Initially they meant to use the ESP32 solely as a, uh, yeah, the CS term is AMP, uh, asynchronous multi-processing. So, essentially, um, you have a dual core, but it's essentially looks like you took like in two discrete microcontrollers and just smashed them together with a communication bus in between. And, uh, one of the things I actually did was like in, you know, if we could share some memory regions, then we can essentially make a symmetric multi-core processor, which, uh, essentially allows you to. Mailboxes. Uh, yeah. Uh, yeah. Well, not only mailboxes, uh, it makes stuff a lot more transparent on the programmer side because essentially, uh, free artos is multi-threading. Mm-hmm. So, you, you start up multi, multiple threads anyway, but you don't have to worry on which cores your threads are running. You can, um, either if you want control, you can say, hey, I want this thread to run on core one and this thread to run on core two, and they can just talk to each other using, uh, like in the same things you would use to, uh, communicate between threads. And, um, uh, it's, it's, it's entirely transparent. Yeah, exactly. And it's entirely transparent that, that you, you're actually running on two cores. Um, uh, but if you want to, you can also, for example, say, hey, um, I don't care whatever CPU this, this is running on. I just want like in the most, um, uh, the most power possible. So, um, you know, uh, run my thread on whichever CPU has the most free time. And, and, and that is really powerful if you want to, um, uh, you know, uh, have applications that need a lot of computing power. So essentially I was like, yeah, you know, all we need to do is make the free RTOS, uh, dual, uh, dual core. And, um, I think my colleagues weren't as enthusiastic as I was, but, um, uh, the digital team essentially was, yeah, whatever, that's a small change. We can incorporate that and, you know, if that doesn't work out and we can always use it as an asymmetric, uh, uh, processor. And I actually came up with like in a proof of concept, um, shoehorning the asymmetric nature of the, the beta silicon into something that could be used as a symmetric multicore processor. And I actually had a proof of concept with like in multiple threads migrating and stuff. And that is essentially why the ESP32 now is a symmetric multicore processor instead of an asymmetric one. That's awesome.

Jeroen Domburg Sprite Tm: What about the, uh, so like, so we kind of mentioned, so Dave asked if it was Linux based and you said it's our free RTOS space. And I mean, could you give us like some, some power differences and stuff like that just to, I mean, like I assume free RTOS because it's just a little bit closer to the metal would be lower, you know, like more power control over that kind of stuff. Is that, is that a good assumption or no?

Chris Gammell: Uh, yeah. Yeah. Um, um, it's kind of hard to say because there's so much that, that, that depends on other things as well. Um, sure.

Jeroen Domburg Sprite Tm: Like anyone's going to optimize for, for their application, the best power for their application.

Chris Gammell: But, um, if anything running, running Linux on this device is pretty hard because Linux, um, unless you tweak it to a point where you almost can't call it Linux anymore. Uh, and needs like in, um, uh, from a standpoint of embedded RAM and an embedded device needs a, I think the technical term is metric fuckton of RAM. Um, it's, it's, it's like in, um, nowadays you can probably get away with like in eight megabytes, but eight megabytes is really cramped. Yeah. On the other hand, if you're used to your AVRs, if you're used to your arms, et cetera, eight megabytes is, is huge. It's enormous.

Dave Jones: It's ridiculous.

Chris Gammell: And, and, and, and ESP32 actually already is, is pretty big. I think we have like in half a megabyte of RAM. And if you look at the silicon die that that's like in three fourths of, of, of, of the silicon or something, if I recall correctly, it's, it's, it's, it's a lot. Um, so, uh, given that if you want to use Linux, you either have to use external RAM. And if you want to use external RAM, uh, like in, um, uh, with the, in, in, in, in, in, in those amounts you're almost forced to add an external DDR, um, memory parts to it, which means that you have high speed signaling going on. And then if you're designing an entirely different product. So yeah, essentially we're, we're using free artists because Linux, you know, just never was in the picture. It's not an option.

Jeroen Domburg Sprite Tm: So it doesn't probably affect, I mean, you talked about all these software stacks are built on top of this stuff, the SDEK though. Right. So for most people, it should be pretty, uh, not, it's not insignificant, but it should be less significant if they're writing in their own language that they're used to. Stuff like that. Right.

Chris Gammell: Essentially the way our, our SDK works right now is that you essentially have the standard, uh, you know, PSD sockets set to play with. So, um, essentially if you write an application under Linux that is single threaded and uses sockets, then you can pretty much just copy paste it to ESP IDF and, um, it'll work. Um, uh, because you know, the API to, to create sockets and send stuff over the internet is the same. So, um, with, uh, uh, in that respect, it should actually be pretty easy. Uh, if you want to do, uh, like in real multi-threading, then, um, um, you'll probably have to read up on the free RTOS SDK, although we have a P thread stuff as well. So if you have a somewhat small multi-threading, uh, Linux application, you may actually be able to port that without too much, too much issues. Okay. So, but yeah, the, the thing I'm saying is that, you know, all the APIs are actually pretty well known and well documented. So, um, you know, it shouldn't be that hard to, uh, develop an application for, uh, ESP IDF, uh, compared to developing an application for Linux. Okay.

Jeroen Domburg Sprite Tm: So it was like a kind of starting to wrap up question here. Um, what about people that are starting to put this into products? I mean, I've seen some, uh, some products that are using the modules, some that are using the chips, stuff like that, but are there, are there pitfalls that, you know, people listening should watch out for, like for, for sourcing, sourcing parts from Espressif or, you know, sourcing modules or, or even designing firmware and like, uh, programming chains around this stuff. Like what, what's the usual best guidelines that you have for that?

Dave Jones: Like, for example, if I'm designing a widget and I have to suddenly manufacture a million widgets, can you guys supply me with a million chips?

Jeroen Domburg Sprite Tm: I mean, or even like, yeah, distribution channels too. Like, I mean, I've seen some, some widgets, some widgets, some modules in, in the distribution channels, but not many, you know?

Chris Gammell: Yeah. To be fair, I don't have that good of an eye on our distribution channels because, hey, if I want an ESP 32, I'll just go to the office and grab one from there.

Jeroen Domburg Sprite Tm: I mean, well, you know, everybody gets benefits from work, I suppose. Yeah.

Chris Gammell: Perks of the job. I actually control the airwaves. What do you know? Yeah. But, um, uh, yeah, um, I think if you want to have like in, uh, multiple, uh, ESP 32,

Dave Jones: for example, a million, uh, let's say 50,000, a hundred thousand, which can be a nothing quantity for a, like a toy or something or some other product that's going to, you know, we need it done by, by his time or whatever.

Chris Gammell: Yeah. I, I, I, I happen to be, uh, like in also on the user side a little bit because I am actually developing one of my projects into an actual product. Oh, fancy. Um, and it uses an ESP 32. So that goes down nicely on which ones that could be. That is surprising. I have to say. So, um, uh, as far as I know, if you need like in 5,000 or something, uh, then, uh, I think it's best to just contact our sales channel. Um, I think the email address is sales at expressive.com. So it was pretty simple and, um, I think they can help you. Um, there are also resellers, but for the life of me, I can't remember.

Dave Jones: Yeah, but they, but they wouldn't have stock of that sort of quantity. You know, if you want 10,000, 20,000, you've got to.

Chris Gammell: Yeah. Yeah. That'll, that'll be, um, yeah, I'm not sure, but it's pretty likely that, yeah, they'll also send you to, you know, um, the expressive, uh, website. I mean, if people are.

Dave Jones: So contact them before you start on your design. Yeah. Not after, oh, I finished it. And by the way, can you give me 50,000 next week? Right. Yeah.

Chris Gammell: You, you probably have, uh, a certain, uh, delay. I, I, I think we stock a fair few USB 32s, but you know, especially with larger sizes, there'll always be like in, yeah, we got to have those manufacturers first. Yep.

Dave Jones: Well, you're, you're, so you only make two chips. That's it. Except three. Um, sorry.

Chris Gammell: Yeah. At the moment, I think we have, um, yeah, essentially we have four chips, I think at the moment. So you've got the ESP 866 plus the, uh, variant, which is used for like in tablet, uh, use, like in embedded use with a host, um, uh, Linux, uh, uh, processor or something. We also have the ESP 32 with, uh, uh, uh, uh, companion chip, which can be used, uh, if you want to add wifi and Bluetooth to your Linux device. we are working on a chip that hopefully will be out like in at the end of this year which is going to be it's going to be pretty similar to the sp32 but it's going to have a few improvements and i think the idea is that it's going to be slightly lower cost and obviously we have future chips in the pipeline yeah the secret stuff the stuff that you're holding yes that's okay yeah

Dave Jones: has there ever been any hint of companies in china looking to clone this thing

Chris Gammell: um is that a concern or is it it's it's well the thing is that um is it hard to do would it be hard to yeah well the thing about cloning is if you for example look at um uh you know the ftdi chip yeah right that's a classic example that one's been cloned up the wazoo yeah if you if you look at those clones um then um essentially they're not literally clones of the silicon it's not some it's not that someone ran off with the mask just right they're they're they're they're they're an entirely different architecture that just happened to react in a similar way if you connected to usv and a serial thing and um i think uh um you know a lot of the clone chips work like that uh they're essentially chips that that that look and feel the same but the internal architecture is entirely different obviously if you go down to like in the the the simpler chips like these 74xx series right they are almost literal clones but the clone the complex clones are more like you know simulators than real clones got it and um if you if you would have to use that in our chip then you would essentially have to develop a wifi process yeah everything's just right exactly what we did is we

Jeroen Domburg Sprite Tm: looked at the wi-fi standard then we looked at the bluetooth standard and then we made a ship

Chris Gammell: so essentially yeah um if you have a company that can do that they'll bring out their own chip because there's no reason for them to clone ours got it yeah that's great

Jeroen Domburg Sprite Tm: well uh sprite this has been awesome i heard rumor you will be at the super conference

Chris Gammell: in pasadena yes i will do my very best i'll have to come up with with an interesting talk again which

Jeroen Domburg Sprite Tm: is always like in a scramble but well we will definitely that's the stuff i mentioned at the beginning or maybe i just mentioned to dave at the beginning but we will have i'll link those in because the tamagotchi talk the snake talk what was the other one oh the mini game boy talk yeah those those three man they're they're killer they're really fun talks so yeah thanks awesome thank you very

Chris Gammell: much where can people find you online uh well my main website is spritesmods.com uh which unfortunately hasn't been updated in a while because i've done all kinds of other stuff that didn't really fit there i'm planning to to put something up there soon again and aside from that i don't know github twitter irc the usual places i guess okay we'll find them all we'll link them all like we usually do and your sprites mod on twitter uh yes i think that's what my uh my official account is called it's also slightly silent but i'll probably i'll i'll uh yeah i've got something in the pipeline that takes up a lot of my time that i'll probably have done uh at the hackaday conference so i can say a bit more about it then um but after that i'll probably increase my frequency of posting articles and interesting stuff uh a bit again awesome cool well spray thanks so much for

Jeroen Domburg Sprite Tm: telling us about this stuff i'm sure we'll have lots of comments about in the comment section about what it all is happening with esp stuff it's really it's really exciting time yeah sure i'll keep an eye

Chris Gammell: on it i like reading about what people do with with the chips awesome thanks man we'll talk soon

Dave Jones: yeah sure bye

Chris Gammell: you

Topics

ESP32ESP8266GCCJavascriptLuaMicropythonNetherlandsOpenWRTSDKShanghaiTensilicaVideo

Keep current

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