Aha, welcome, thank you so much for coming. So Meet Hero. Hero is application source code on a developer's laptop. Hero longs to be a real application, running in production, serving in users, and we're going to help Hero on their journey. Our job is to help Hero navigate hundreds of CNCF projects, choose which ones to use, integrate them with one another so Hero can live their dream. I'm Whitney, this is Victor, and together we host a streaming show called You Choose on Victor's DevOps Toolkit channel. So in our show, each episode is a system design choice, and then we gather all the relevant CNCF technologies that can do that thing. We get experts from each technology and then we give our experts only five minutes to tell us what their technology does. Then at the end of the episode, we ask the community to vote, and whichever technology gets chosen is the one we implement in our ongoing demo. That's it, right? So based on choices you've already made in the show, right now in the demo environment, we have a cluster, it's an AWS EKS cluster defined with crossplane resources. We also have Argo CD doing GitOps for us, and our application's already deployed, and we have a contour as a way for our end users to be able to access our application. So wait, it sounds like Hero already is a production serving in users. What are we doing here? It's over, we did it. Yeah, good job. So the thing is there's no security in our production cluster, and so Hero's in danger, and so are the users in the system, so we need to save the day. So this is where we need your help. Please get out your phones and scan this QR code, and we're gonna do a live vote today. We're gonna go through four system design choices, and then Victor's gonna build a demo based on what you choose. So we're gonna add cluster level policies, we're gonna do runtime policies, we're gonna manage secrets, and we're gonna secure pod to pod communication. So let's do this thing. I love how Victor hasn't said a word yet. This is great. All right, so first up we're gonna do admission controller policy or cluster level policy. Our choices are Kyberno, OPA Gatekeeper, and Cube Warden. But first of all, why do we need policy? Well as things stand, our applications could become bloated and use way too many resources, or they might run outdated versions, or they might pull from untrusted container registries. So we need to add rules to our cluster that will help prevent this and a bajillion other things that we don't want to happen from happening. So a policy is a rule that defines expectations of actions that are not allowed to happen to objects in our system. It's important to know that it's organization specific. So we could do things, for example, like add resource limits, or we could declare which versions we want to use, or we could prevent our container from pulling from untrusted registries and also a bajillion other things. So how does it work? So when we make a new rule, we commit to, sorry, I lost my train of thought. When we make a new rule, it adds configurations to Cube API in the form of an admission controller web hook. So basically if you try to make a change to the cluster that falls under the jurisdiction of this rule, it's gonna ask for permission from the admission controller. The admission controller is a piece of software that's running and if it's a validating admission controller, it's gonna answer yes or no. If it's a mutating of admission controller, it might change something about the resource. Either way, it's gonna return a response and then the Cube API is gonna act in accordance with policy. So let's talk about our tools. The first one is Kyverno. Kyverno is an admission controller that's built specifically for Kubernetes. So you can write policy in YAML, kind of. It's really a, let's say, Kyverno JSON query language. And it's meant to look and feel like YAML with the idea that people who are working in Kubernetes can reasonably author and they can reason about policy well. There's a ton of other bells and whistles. It's a mature technology, but that's not a different, those aren't differentiators, so I'm gonna move on. Next up, we have OPA gatekeeper. OPA stands for Open Policy Agents. And with OPA gatekeeper, well, let's say Open Policy Agents, you can use that with lots of different stuff all over your estate, not just cloud and not just Kubernetes. And OPA gatekeeper, the gatekeeper part pulls OPA into Kubernetes, so you can use it in Kubernetes. It has one big benefit and one big drawback. And those two happen to be the same thing. And that thing is Rego. So with OPA gatekeeper, you write your policy in Rego and then you can use it across your entire system. Your policies are reusable. The drawback is Rego is notoriously difficult to work with. So maybe, just maybe, you don't wanna write policy in YAML and you don't wanna write policy in Rego. What should you do? Maybe you wanna consider Qboardin. With Qboardin, you can write your policy in any language you choose and then that policy gets compiled into a WASM module. The WASM module's an OCI artifact. You can even write your policy in Rego and put it in a WASM module if you really wanna make your life hard for no reason. And then you can run that WASM module as part of the Qboardin admission controller. So now's the moment. Which do you choose? Please? Uh-oh. That's how much people like security. Oh, this is exciting. So I just wanna remind y'all that this is not like a popularity contest. It's not a competition. All it is is like, what do you wanna learn more about? So if there's one you already know, don't vote for that one, you know? It seems like there, it's a consensus. Okay, shall we close it? Yeah, we're gonna close it with Caverno. Let's see it. Okay, now I'm allowed to talk obviously. Okay, cool. So I'm going to copy some policy that I prepared. I will show you the policy, but I wanna copy it mostly because, why? Because it will take a bit of time until Largo CD picks it up. So I'd call me dash M, whatever, and push, push, there we go. Now the thing I pushed is here, policy is Caverno, right? Caverno, right? This is a policy I'm going to push. Three policy, or more policies to be more specific. What can we do with the cluster? Sorry, not what we can do with deployments. And this one says, hey, this policy applies to creating and updating resources and applies to the namespace production and the number of replicas needs to be greater than two. Right, a very simple policy. And then we have another one for databases. Hey, you can create databases, in this case using cross-line compositions or composite claims. They need to be small, medium, or large. And if you try to create databases specifically in production, then they need to be medium or large, cannot be small, right? It's a very simple policy, it's nothing special, just to demonstrate how all that works. Now, while I was talking, hopefully, Argosvd cluster policies cease. Argosvd probably, yes. Argosvd picked it up from Git, deployed it to my management cluster, and you can see here I have those three policies that I explained before. Now, what I'm going to do next is the most important part, and that's the time I'm going to copy CNCF demo YTT, which is my application, defined as Carvel YTT, and now if you're asking, why is Carvel YTT? That's because in the previous talk we had Nobody Knows When, people chose that one. So I'm copying my application, and I'm going to edit and commit and push. There we go, and now Argosvd will pick it up and we can watch it. So let's say kubectl get dash dash namespace production, get deployments, for example, right? No, that's the wrong thing. It's not deployment, that's deployments, there we go. Now, let me just make sure that Argosvd picks this up and it creates something. It might work, it might not work. My measurement of success is that if it doesn't fail at the very beginning, what might be happening is that forwarding Argosvd, let's say, oh, okay, yes, it's getting back up. We need to find out, there's my application, cool, right? So let's just try again and then you try it again. Anyways, my application has been deployed, but the important part is that if I do kubectl namespace production, get all, you will see, hopefully, that there is a pod, but not from the application, there is a service, there is a status, it's not from the application, the deployment is missing, right? Why it's missing? Because of the police, easy. So kubectl, let's see what's going on, kubectl, kubectl, the namespace production. It's very hard to type while this thing is sticking in my eyes, describe deployment. No, there is no deployment. Yeah, sorry for that. There is no deployment because Kavanaugh prevented it from being created, right? So what I'm going to do next is that I'm going to increase the number of replicas of my application. Do you have the prompts to the top of the screen? Yes, I can. Thank you. Here we go, right? Kavanaugh prevented it from running. That didn't stop. And what? It's still on the bottom. What's at the bottom? The prompts, like people in the back can't, oh, that thing, okay, okay. You're too demanding. That's just, and there we go. Okay. Is it enough? Beautiful. Are you happy now? Yes, thank you very much. By the way, they call her grumpy in the last talk. This is a proof. Okay, let's fix it. I don't have enough time to chat with Whitney. Vim, I'm going to fix it. Why did the values prod? I'm going to change something here. What am I going to change? I forgot, I forgot. Yes. What? Yeah, replicas, exactly. Replicas. No, I forgot what I put it. What did I do? Two, they say. Two. Yeah, but I'm not sure whether that's the value I put. Let's say it's that one, right? And let's say that I might be completely wrong here, but I know I forgot something. Okay, that's fine. That's fine. Maybe it will work. Maybe it will not. Get, there we go, push. And now it will adjust for a while. We can go to the next choice and come back to this later. Well, one pens and needles. And you want slides now? Yes, please. Okay, I'm going to get your slides. There are your slides. We tried to move the prompt. You're inspiring all kinds of confidence. Runtime policies is what we're talking about next. We're going to talk about FACO and cube armor. But first, what are runtime policies? So do you completely trust everything that's running in your cluster? Do you trust the internal applications? Do you trust third party tools? Do you trust your dependencies? Do you trust every single process that's running in your whole cluster? Well, how do you know if something suspicious is going on? And that's where runtime policy comes in. So with runtime policy, we're looking at what's happening at the kernel level of each host machine. So we're looking at kernel events and looking for suspicious behavior. So we're looking for unknown unknowns at runtime. So with runtime policy, you monitor your application, define your expected behavior, and then you can make a runtime policy that does something when an anomaly is detected. Now what that something is depends on our technology. So let's jump in. First up, we have FACO. FACO is a cloud native threat detector. FACO has a few different sources. So you can get kernel events from the kernel module, or you can get it from the EBPF probe. But you can also, there are plugins. So you can pull in like cube cuddle logs or cloud provider logs, or there are a bunch of them, 13 or maybe. So that's FACO. What happens if an anomaly happens is an alert is triggered. And so that alert is really just a text that has some sort of a priority associated with it. Then that alert you can forward to other. So you can use FACO's sidekick to forward alerts to compatible destinations. They're like 50 or 60. So like email or telegram or whatever. And then you can use FACO talent to do something when an alert occurs. So what that something will happen after the alert and it might be kill a container or get extra information. And then we have cube harbor. With cube armor, it still does the monitoring. It still does the alerting, but it does attack prevention. So this time when an attack is attempted, it fails. So it never happens at all. So cube armor also uses EBPF to hook in the Linux kernel in a safe and performant way. And then it also uses LSMs or Linux security modules which are basically access control to the Linux kernel. And that's the mechanism it uses to prevent attacks. It's a younger project, FACO talent is graduated. And it's time to vote. Okay, can I finish my previous section while they're voting? No, because we wanna... Yeah, fine. Cube armor. I see that you folk of folks are trying hard with moving but not... And they're not usually exclusive. Like I'm pretty sure you can forward cube armor alerts to like FACO sidekick. Just FYI, it's not a competition. Yeah, all right.  Okay, I'm not going to implement that. I'm going to implement where I was before because I forgot a couple of things. First of all, database size should be medium because the policy said that it must be medium in production. And more important thing that would prevent me from doing anything is that I forgot to convert from YTT, carol YTT to pure YAML before putting it to get... You know what? I'm getting lazy. I'm going to copy it. I have it somewhere. Look at this. I don't know. This is a get repo that you have access to also. Yeah, there we go. There we go. There we go. Okay. And now I can get push and add and commit and push and whatever order doesn't matter anymore. There we go. And now if I go back to Argo CD and refresh it, is it working? Yes, synchronize, refresh. And then Argo CD is still thinking that it needs to do what it was doing before. So I'm going to stop it and then start it again. And there we go. Deployment was created and the database was created. And... Ba-ba-da-da. Cool. Now what was chosen? Q-Barmor. What was chosen? Q-Barmor. Q-Barmor, okay. Q-Barmor. Let's do it. What first? Cube-Cuttle, okay. So what I'm going to do is try to do something I shouldn't be able to do in a container of one of my applications. So I'm going to do Cube-Cuttle. No, Cube-Cuttle. That's the name space, name space production. I wanna exec something and that's something is CNCF demo controller. This is actually Schema Hero now. And the reason why I'm using Schema Hero instead of my application is because my application is based on scratch image and there is nothing you can do to it anyways. But I'm going to say, hey, I want to output all the files in this container. This should not be allowed because if somebody malicious comes and outputs and they can do stuff to those files, this should not have happened. So to fix that I'm going to say, I'm going to annotate name space production and say cube-armor file-poster equals block and overwrite what over... Why don't you correct me? Are you French? You don't know English. Is that the thing? Overwrite. Okay, and now the last thing I need is I'm going to copy the policies for cube-armor.  There we go. And now I'm gonna see this should deploy cube-armor and I will be able to apply the rules and you can see the policy that I just applied. Here it is, that's what I pushed to git. I'm just saying, hey, this essentially, long story short, this is the only thing you can execute in that container. Anything else? Not allowed, right? The short version of all that. Now if I say cube-armor name space, name space, ah, cube-armor-name space, production, get cube-armor policies, there is no policy, there is no policy, there is no policy, infra, because Argosy did not get infra, I said. There we go. Not yet pick it up. Fill, probably, eventually. Is it there? There we go, there is a policy. No, it's not yet, wait, wait, wait. Now I'm going to execute the same command before, right, this is from my history. Remember this command, it output all the files? That's not the reason to clap. Come on. I don't know what I did wrong. I'm gonna probably annotate it in bad cube-armor, or armor-file-posh, that sounds correct, block. You know what, imagine that it worked. Let's go on, imagine that it worked. In the real world it works. When these things are not sticking in my nose, it works. It's important to know it's Victor's feeling and not cube-armor's feeling, I think. Exactly. All right, you wanna keep doing it? It still works, doesn't it? Okay, okay, go for it. You can think it through while I talk about secrets management. So for secrets management, we have three tools, external secrets operator, secret store, CSI driver, and SOPs. So with secrets management, our application and applications like ours have a lot of different confidential information they need to manage. So most of this can be done with a vault. A vault is a technology that basically stores secrets safely and it has an API to access it. That's the bare minimum. A vault, whether it's solved, is probably also doing secrets rotation and helping with remediation. But the vault is not what we're talking about. What we're concerned with, how do we get our secrets into Kubernetes? So first we're gonna talk about how external secrets operator does that. So what it does is it connects to the vault API, it gets the secret, and then it writes that secret, it makes it a Kubernetes secret, and it also manages the life cycle of the Kubernetes secrets. Then our application can get it, and ba-ba-da-da! Our application has its secrets. External secrets operator has two rad alpha features. For one, it can take Kubernetes secrets and it can push them to the vault, and it can also generate Kubernetes secrets. Next up we have secret store CSI driver. As you can maybe guess from the name, it uses CSI or container storage interface. The idea here is they think that Kubernetes secrets aren't very safe. They're basically just base64 encoded and stored in at CD. So they wanna make a secret solution that doesn't use Kubernetes secrets. So what secret store CSI driver, the first thing it'll do is mount a temporary file system to the pod. Then it reaches into the vault and gets the secret and writes the secret to that volume. And then our application can access the secret as part of its file system. Da-da-da! And then the next one is SOPs. This is short for secrets operations, but if you call it secrets operations, no one will know what you're talking about. With SOPs, all it is is it's a CLI that can encrypt and decrypt files. So here we are defining our Kubernetes secrets and we can use the SOPs CLI to encrypt the secret parts. And then there's also a decryption key associated with it. So how that works in our workflow is our vault is now storing the decryption key. It's not storing our secret anymore. So because that is encrypted, we can commit it to Git.  Now you have to teach Argo CD what to do. So we use a configuration management plugin and then it will pull up the SOPs CLI which gets the decryption key and can decrypts the file. Then I can be applied to Kube API, we have Kubernetes secret or we can access it and da-da-da-da-da-da! And that's SOPs. So now you get to vote please. It got really quiet in here. They're all concentrated on voting. All right, it seems pretty definitive. Secret store CSI drivers, what they've chosen. S-S-C-S-I-D, cool! Okay, I'm not going to do it. And the reason is very simple. It's actually great, but it works only with your applications and I'm planning to put the secrets for my database that is used by Crossplan and any third party application expects secrets so volumes will not work, right? Great project, doesn't work for me today. So, I'm going to choose myself what I'm going to use then and I'm going to use external secrets. This is the first time I'm doing that, meaning that I am pro-choice, but not today. So if I take a look at the secret, CNCF demo DB password, right? And I'll put it to YAML and this is the secret I already have in my cluster, right? And you can see the password and if I output that password then base 64, base 64 decoded, you can see that, what is wrong? What did they do wrong? Equal in the end. Okay, okay, cool, cool, cool. There we go. That's my password. Now, the problem with this password is that it is hard coding in a manifest that I applied before I started this talk. This is unacceptable because if you go to my GitHub repository, you will find out what the password is. We shouldn't be doing that. So instead, what they have is this. I'm going to go to my application and here, there we go. This is my application right now and somewhere there is that secret. There is this secret, right? Unacceptable, anybody can see it. So what I'm going to do is open that, you know the values pro that I used before, unsuccessfully and I'm going to say that my database should not be insecure. This is false and I'm going to execute YTT again to generate the manifest which probably this time might work. Who knows? There we go and I'm going to push it and commit and push it and do all the things. And now if I do kubectl touch, touch namespace production get external secrets.externalsecrets.io. It's probably not yet there but I will refresh my application in Argo CD up, there we go. This one, come on, come on, come on. Uh-huh and now if I, there we go. There is external secret, right? Now what this did is that this is now, this now went to my external secret, to secret manager in AWS and retrieved the secret for me and if I do get secrets, you will see that there is a secret my DB password and if I output that just as before and this time remember the copy, the everything, there we go, echo dash n. This is the secret from my secret manager. It worked, this time, two out of three. Let's go with me. Let's do it, one more. So next we're going to secure our pod to pod communication, our choices for this are Istio, Linkerd and Silium. So there are three aspects we need to concern us with to secure pod to pod communication. The first one is identity. We need each of our pods to have identity and we need them to be able to verify each other's identity. The second one is encryption. We need to encrypt the connections between the pods and then finally we need policy. So pods that shouldn't be able to talk to one another, shouldn't be able to talk to one another, don't let them. And Istio and Linkerd both do this in a similar way, in a service mesh way. So here's our cluster, it's flattened so I can illustrate how this works. So basically Istio and Linkerd, they inject an extra container into every pod that's running. And then Istio or Linkerd can act, oh and then those containers act as a proxy for all the requests going to and from the pod. So then Istio or Linkerd acts as a control plane that a human could use with lots of custom resources to do the complex work of configuring how all those proxies talk to one another. So that's called the data plane, is all the proxies. So what differentiates, oh let's talk about how it relates to our three things. So Istio and Linkerd use MTLS, which does the identity and the encryption all in one step with certificates. So it's using digital certificates and X509 certificates. And then you can use policies that you create with the tools to restrict access between pods. So Istio and Linkerd, Istio uses Envoy as the data plane which is very powerful and very complex. And that Istio is a super full featured tool. If you can do it with service mesh you can do it with Istio. And Linkerd can do most things, almost all of the things but really it focuses on operational simplicity and performance. So Linkerd uses a custom written rust proxy as its data plane. And the Linkerd people will tell you that this proxy uses only 10% of the resources of the Envoy data plane that Istio uses. But if you ask the Istio people they'll say, ah that used to be true a few years ago maybe, but these days it's about the same. I don't know who to believe so I'm just presenting both sides. Then we have Cilium. Cilium this is a whole different beast. So Cilium is a CNI implementation. CNI stands for Container Networking Interface. So Cilium and I is a specification for how a Cubelets gives an IP address to a new pod that it's creating. So Cubelet and Cilium might have a conversation like, hey can I have an IP address please? And Cilium would be like, yeah totally here's your networking stack with an IP address. And Cubelet like, thank you so much. And then Cilium's like, also I've given the pod an identity using Spiffy. And Cubelet's like, I don't know why you're telling me this. It doesn't have anything to do with me. And Cilium's like, also I have this EBPF program that I'm running at the kernel level in the pod network main space. And Cubelet's like, seriously. And then Cubelet's like, also this pod generates events for everything that the pod does. So this EBPF program generates events for everything the pod does. And the Cubelet's like, I think I hear Cubate PI calling me, I gotta go. And so here we are Cilium. How does it work with the three things that make pod to pod communication secure? So first of all, we already talked about identity, it does that with Spiffy and that also secures connections between pods. It does encryption, you can do that with either Wireshark or IPsec. So now these two things are decoupled and in our other use case, they're together. IPshark or Wireshark and IPsec. Yes. And then also you can configure it to restrict access between pods. So the thing about Cilium is, as a CNI, a cluster cannot operate unless it has a CNI. So we must already have a CNI running in our cluster. And if it's not Cilium, it's not something you can just like switch out. Like you'd probably have to take down your cluster and rebuild it. So Victor, do we have Cilium running already? Yeah, it's the default anyway. It's the defaults. So there's not really any competition for a Cilium. You might not have it as your CNI if you just went with your cloud provider defaults if you're using a managed cluster. But if you put any thought into it at all, you'll almost certainly have Cilium running. So our choices are Istio, LinkerD, and Cilium, which is already running. But I can put LinkerD or Istio on top of it. So don't worry about that. Yes. And there are reasons too. Cilium is great for the three things we talk about, but in terms of all of the features that Istio and LinkerD can do, it's not there yet. I think that's it. I think that's Cilium. Okay. So, there we go. There we go. I'm going to execute a quick script that will help me set up a couple of things that are just boring to do manually, Cilium SH. And it will install. Actually, Cilium is already installed, but what I did not install in advance is Pifi, right, which gives identity to my stuff, and that will probably happen soon. We can tell them a joke while we're waiting. Why did the man fall down the well? Because he couldn't see that well. Can you do a funny joke for a change? I'm... Why did the monkey fall out of the tree? Because it was dead. Okay. No more jokes for me. No more jokes for me. No more. Okay. Isolation of Cilium is going. Do you want to open another tab and try to troubleshoot Cuba or not? No, it's not happening. Maybe, let me see. Cubicuttle source. There we go. So we do have a repo that we'll have a QR code for later, but if you don't like the choices that your peers have made today, you can go to our repo and you can explore how other choices might work together. Also, you can do it from the very beginning of the story. So this is... We've been doing this for over a year, so we've gone through quite a lot of system design choices at this point. Okay. There we go. It started. Actually, it takes a bit of time because if you install Spiffy later, some things needs to be restarted and whatnot, right? Anyways, so if I do Cubicuttle, Cubicuttle, an SPS production get Cilium end points. What are we doing? End points, yes. There we go. You can see that in my production cluster, the pods that were already running there got their own end points but they should be actually now speaking with the other things in or outside or in the cluster, actually, mostly securely. What else? What else did they want to show? No, that's not what they wanted. Yes, yes, yes, yes. Let's take a look at the policy, for example. How much time do we have with me? The red shirt. Red shirt, two minutes. Okay, very quickly, policy. Cilium, network policy, there we go. There's one policy over there that says, hey, if you go from this end point of the application in sleep, only those that are, let me actually see the policy, match label sleep. Yeah, only those that have specific label up of a sleep can actually access this specific application and so on and so forth. We have no time to show you that because I would need to spin up a couple of other applications, but there is an entity, secure communication between pods and policies that you can define. Here is more secure than they were before. Will you put the slides back up? They're not more secure, but okay. We didn't, and not every choice. There are other service meshes we didn't talk about. There are a couple other secret solutions we didn't talk about. We just talked about what we had time for. So here's our hero running in a safer production cluster. There are also lots of security choices we didn't choose. This QR code is a feedback form. Please give us feedback. And then that one is the link to the CNCF demo. And we'll be doing our last episode of you choose of just a recap and end to end demo. We'll be doing that at booth C1 on Friday morning at 10.30, which is the Tanzu booth. Don't come, it's gonna take two hours to go through it all. Come hang out with us for two hours. You must have better things to do. Okay, that's no time for overtime limit. We are getting kicked out. No time for questions. We'll be around. I'll have you choose stickers. So please do stop me and get one. Thank you so much, y'all. Appreciate you.


Life in New York, it's Ask an Engineer. Hey, I'm also mesmerized by the LED display. Some cool videos. Yeah. That's right. It's time for Ask an Engineer. It's me, Lady Aida. With me, Mr. Lady Aida. We're here at the Aida Food Factory in downtown Manhattan. This is what we do of our manufacturing and testing and kidding and shipping and coding and videoing and making those like cool synthy sounds. The first two videos, sorry, the second two videos were some of our Halloween stuff and that's music that we made. And then we had a song from one of our projects in the past.  But I wanted to say special thanks to Mark who puts this cool eyeball video and I saw them like, I absolutely have a song that goes along with it. Yes. There's only so many songs that you can write about one eye. And we did that. So thanks for sharing that, Mark.  I love that. This is breaking news. This is breaking news. It's breaking news. It gets rediscovered every Halloween. Breaking news. We have an eyeball. We have so many eyeballs. But it's for the next hour. The only eye I've got is for like an MPI and other segments that we've got kicking for the next 50-ish minutes. We're here checking in on what's going on in the maker community, hat community, new products, videos. It's not out yet. And more. Mr. LaDiana, let's kick it because we've got a lot to cover. On tonight's show, the code is Proto for Pico. You'll figure out why as we get to new products. But 10% off in the Adafruit store all the way up to 11.59 p.m. Eastern time tonight. User will lose it. These are one of the last sales of the year before we have our holiday sales and more. We'll probably run out of stuff. Now's a good time to buy a bunch of things, save 10% off or more. Adafruit Live. This is our live shows where we talk about things, including this one, show and tell. Talk about some of the folks that were on the show and tell and more. And do some time traveling around the World Makers Hacker's Artists' Engineers. See what's happening in this world together with folks who share things. Chip Shortage this week. It's TDK. It'll be fun. Some of Retro Tech. This one's interesting. It's a new thing, but it works with an old thing. Find out about that. From the mailbag, we read your letters and more. Help wanted some jobs from the Adafruit Jobs Board to some Maine, New York City factory footage and more from Adafruit. Some 3D printing, some Ion and PI. We show some new products that are actually available and you can check these out this week. It's Amphenol. We're going to do some new products. We got some top secret. We're going to answer your questions. We do that over on Discord. Adafruit.it slash in Discord. We can join all 35,000 of us, all that and more tonight. I'll ask an engineer. Yay. Okay. So the code is ProtoFurbico. They get free stuff when they put stuff in their car. I'm glad you asked about the free stuff, because we do have freebies when you order from Adafruit. $99 or more, you get a free Promo Proto, half-sized breadboard. People love these to take their projects and make them permanent from a slaughterless breadboard. At $149 or more, we still have the pink PCB KB2040. It's an RP2040 microcontroller board with cast-related pads. It's got RP2040 with 8 megabytes of flash. It's a micro-QT, USB-C. It's great for taking pro-micro projects and making them even more powerful with a mega-chip. $199 or more, you get free UPS ground shipping in the CompSense United States. And $299 or more, we have our favorite round circuit board, circuit playground, BlueFruit. It's a great way to learn coding and electronics with Bluetooth low-energy wireless built-in buttons and LEDs and alligator clips. And we've got tons of projects in the learning system in both Arduino and CircuitPython for this board. And don't forget, if you're going to buy things like Raspberry Pi's on our site, make sure you make an account, verify your account, and then set up two-factor authentication that helps us keep the scammers and the folks who buy Raspberry Pi's and try to sell them for hundreds of dollars on eBay at Bae, also good security.  We're here. This is live right now. We just finished up Show & Tell. See, I can poke him. Yeah, we have lots of favorite projects. Every project's our favorite on the Show & Tell. However, I try to pick one that I think folks should just look at quickly because you'll get inspired or you'll say, like, wow, I had no idea. So this week, Aaron stopped by and showed a mermaid costume outfit that lights up underwater and 30 light-up jellyfish that are all synchronized. We also have a guide and we have a guide coming out with how you can do LEDs for harsh environments, kind of like underwater on a mermaid tail. Aaron is back and she's fishier than ever. So if you're interested in what's the state of the art for a lot of the things that we do, Aaron is definitely pushing the boundaries of what you can do with new pixels and more just about everywhere in the air, the land, the sea, the sky, underground, under pressure. In space. Yeah, so check that out. Volcanoes. On Sundays, we do from the desk of Lady 8. It's in two parts.  Yes. Oh, I want to show, yeah, the proto cowbell, which we're showing off. I did a longer demo where I showed it connected to Adafruit IO with a sensor and using the reset button. So it's a kind of a nice full test of the functionality of the piecabelle. And then I also showed an IR emitter board that will be coming to the shop soon, a prototype that we made. Then for the great search, that's when we go to digikeka.com. We try to find, we find things that people say, hey, I need help finding stuff. Yes. So what did you do this week? Well, for this week, so I showed off this infrared transmitter and I wanted to find the brightest right angle SMT LED that was a reasonable price. So I showed how to use the digike search to find out the brightness of the LED by using the lumen flux. The specifications that you want to look for with IR LEDs, like the nanometer wavelength, the beam spread, and also right angle versus flat versus reverse mount LEDs. We found a really good option and it turned out to be the one in the prototype and it's very bright. All right. And then on Tuesdays, we do GP's product pick of the week. Here is this week's highlight. It is the NRF 52 840 sensor board. This is also known as the LED glasses board because it was originally released to drive our LED glasses. This is an incredibly cool dev board for all kinds of wearable projects and remote projects. It has Bluetooth, BLE capability. You can use that for things like Bluetooth MIDI, Bluetooth HID. It has an accelerometer on it so you can do tilt kind of stuff. I've got my little phone there that's listening over Bluetooth to what I'm doing with this neat little package. I've got a little LiPo battery under there. I am using the accelerometer and that's actually turning one of the knobs. Listen to it as I move the fader. Little add-ons we want using I squared C and you can chain them so you can have a bunch of stuff. I thought this was really cool to consider this board as just a dev board and not worry about the glasses part of it. NRF 52840 sensor board, a.k.a. LED glasses board. And tomorrow's your piece workshop. Tune in to that and more. And then Fridays, deep dive with Tim. We can learn about all the innards of Circuit Python and more. Time travel. We're working on a time travel song. It'll be done soon. Let's first just give you an update. With 8Box there is no update. However, we will have an update towards the end of the month if we can get 5,000 ish of something. Then there's a chance we can chip in 8Box, but getting 5,000 of something in a time is not really easy. We have heard from chip manufacturers and they said, yeah, we're really disheartened that there's no chips. So we're like, I'm like, imagine how we feel. So the engineers at a lot of these companies, they shall remain nameless. They're like, oh, we really, you know, we're shaking the tree internally. We're trying to get some out to eat a fruit. But chips don't grow on trees now. They don't. So we'll see what's most likely gonna happen is we'll probably say, hey, we're gonna be back in 2023 because we'll definitely be able to do an 8Box and I think more things will catch up early next year. It's probably what we're gonna do, but don't worry, we don't charge until we ship. We'll probably do an email. We don't like to send emails out to people unless there's something they could do. You can always cancel, but we have a few thousand people waiting, so just keep that in mind if you do cancel. You might not be able to get back on when we are shipping and we do foresee a bunch of shipping coming up soon. Okay, on our website, it's electronic Halloween time, so do check out all of the posts, all of the things that we have. We have gift guides, all the stuff that we do every single year. Pretty much every day of the year is Halloween here at Adafruit, but we can kind of just be ourselves for the month of October. And then Philby is working on this. This is the really neat LED drippy blood technique. Isn't that neat? So I just wanted to show some Halloween-y stuff. And he's been blogging about the updates, so check out the Adafruit blog to get... It's really neat. The process, it's like there's a lot of details and effort that Philby knows a lot about with costuming and LEDs, so especially if you are going to embed electronics into your Halloween costume or burning man costume or what have you. Erin and Philby are both like the experts. They're ain't no better. And then today, Lady Aida was a speaker at Expressive DevCon.  There were some great segments, great topics, lots of folks we knew from the community. Lady Aida was in the chat answering questions. This is just a speed up. It was a half an hour, it wasn't this fast. Yes, it was just fast. I had like a lot of coffee. Yeah, and we were showing some hardware, talking about Python on hardware and the ESP devices. And then some folks said some really nice comments about how easy it is to use CircuitPython. CircuitPython is really joyful. Very joyful is a good way to describe it and just getting up able to do the things you want to do fast right away. And if you make it from one processor, it works on all the others too. Okay, we have an Adafruit IO update this week. Big news, folks always say, Adafruit IO is great, it's free, but how can I pay you if I want to do other stuff?  So for Adafruit IO plus, you can do things like send SMSs, you can schedule them. So imagine if you want to do a project where you're like, if the temperature gets to a certain point, I want to get an SMS. And those cost money. So we're not charging for those, but if you have an Adafruit IO plus account, you get I think like 25 or something like that. 25 a day. So and it's UTC time. For UTC day, yeah. Yeah, so do check that out. It's really neat. We think a lot of people are gonna use it. It's something that I just want to get a SMS when or text message when my basement starts to flood or when I leave my garage door open. This is that easy. And it's in the low code, no code, easy to code category. And speaking of congratulations, we have 1000 devices on Whipper Snapper. Whipper Snappers are no code way to get your IoT devices doing all sorts of stuff. This is our first milestone. And we expect there's gonna be thousands of thousands of more. So do check it out on Adafruit IO. It's free to use. It's in beta. And then we also have a gift guide already for if you want to do stuff with Adafruit IO and Whipper Snapper, here's all the devices. Well, cause we have, you know, there's some sensors that we have supported and some we don't. So, and there's gonna be another sensor supported starting next week, which people I think are gonna really like, it's definitely, this is the only no code IoT system that I know supports this very popular temperature sensor. Oh boy. All right. You're gonna love it. It's chip short time. It's chip short age. It's chip short age. Right, this week it is from TDK. It's actually not from TDK. It's actually not from TDK, which stands for too darn out of stock, but that doesn't matter. So it's an Invin... Vincense. They bought them. Yeah, yeah. It's a sub brand. This is the MPU 6050. Now you might be saying, dude, the MPU 6050 is, you know, not recommended for new designs and RND, but here's the deal. It's still used in a ton of stuff. People really, really love this six-dough sensor. And look, the replacement's also not available. So don't give me that NRND thing. What do we use it for? We use it for a breakout, but a lot of people use it for their robots and their drones. It's like the most popular six-dough IMU. It used to be very inexpensive, and now brokers are trying to sell it for like 10 times the cost. But we do love the MPU 6050, and we would love to have this back in stock, TDK. So maybe you can send us a reel, or you can send Digikey a reel, and they'll send it to us. They could send some to us and some to others. You can, I mean, but mostly to us, that would be great. You know, we would love to have this chip. Yeah. No, there's no even lead time. I don't, I mean, I wouldn't be surprised if, you know, in a year, they came back and said, hey, we're never making it again. This has happened to a bunch of underlying chips. This is another, this is another example. Like, if you just tell us what's going on. People really like this chip. Just say, hey, look, like we're just not gonna make this anymore. Or just like, oh yeah, it's used for like this other thing that you're never, like we gave them all to someone else. Like, yeah, any information. Cause like right now it's just like, well, what do we do? What do we do? What do we do? What do we do? So that's our chip shortage for this week. We ordered 10,000 in May of 2022. And the ETA is May of 2020. And we sold through. You know, we got a couple wheels in 2021 that we had ordered earlier that year. We got them and we shipped them all out. So we're out again. And we're not gonna get any for another year-ish, maybe. So that's- The May 2023 is a guess too. Again, I'm not, I don't know for sure we're gonna get it. But I kind of think it's some earlier. This week's chip shortage. Please. Chip shortage, chip shortage. All right, this week's mail bag. It was sent in from Doug. Thank you, Doug. It's got my mag tag up and running. And it's the coolest little device ever. It's gonna make a great little weather station console for the bedroom. I have a related project where I'm using Metro ESP32 S2 as an MQTT subscriber to display real-time data on LED backpack status from a Davis weather station. I'm old when the cool kids like me got radio check size for kids' birthday gifts, but Adafruit stuff makes me feel like a kid again. I promise if I ever win the Powerball, I'll make a sizable donation to your R&D. Also, please make a giant mag tag so I can make custom weather display. I know. But I can read from across the room. I wanna make one. Thanks, Doug. All right. I hope to make one soon. Okay, this week we have some retro tech. This was a little different because it's not exactly old, but it works with things that are old. So here it is. A long time ago, back in the 70s, this was a, I guess one of the first versions of crowdsourcing ideas from Sony. It's a little truck that you put on a record and it spins around the record, record stays still, truck drives around and it plays what's on the record. And this is the statement on the website of the, from the folks who make it modern one now. And it says, instead of a stationary needle, the new moves around surface of a stationary record. Record player with a built-in speakers is developed for promotional use only and it was first displayed as part of the exhibited internal Sony idea contest established to encourage all employees to adapt unconventional thinking. Came complete with both motor, enabling the car to run around the surface and a of the record and a cartridge and it's undercarriage to ensure the needle remain within the group. So there's a company in Japan that makes the record runner and you can get this and it's officially licensed. This is really officially licensed from VW. They did all the right things. And it looks like a car, looks like a little van but then the secret's underneath. That's the needle and you put the batteries in. And we have our own record here at Adafruit. So we decided, well, let's make sure it works. You tried it out. And we tried it out. And that's retro.  If you work that you cared about, you would put it flat on table anyways. I'll put a car on it. All right, help on it. We have some ideas for some songs for this too. Okay, you can go to jobs at adafruit.com and you can post a job if you're a company or if you're a person who has skills and want to pay the bills, you can do this. This is a technical customer service representative remote slash email. And this job is kind of neat. It's for... Lego builder. Yeah, it's a Lego builder. And basically someone who can make stuff who has a technical background. So there's brickstuff.com. You can check out the website but also check out this job listing if this is something that you consider yourself a Lego fan. You can get a job. This is like the ultimate job for someone. Building Legas. Yeah. All right, we're on a long, it's Python on hardware time. Exciting news this week. It's exciting. So you did the... We talked about this earlier. What is the expressive thing? Do the expressive thing. That's now online. Check it out. There's a lot of good sessions as well. But we're up to the second beta of Circuit Python 8. Yes. What is in it and why should people go try it out? The big deal that's new in beta 2 is we now have PicoW support with Wi-Fi in Circuit Python. SSL, Sockets, TCP, UDP, Requests, Adafruit IO. We got our Azure library working as well. It's all pretty much working and it acts like native Wi-Fi socket pool. And it's great for people who have a PicoW. You want to use our mass storage or USB or HID or MIDI capabilities. You want to use all of our 300 libraries that we've got. You can now very easily use Circuit Python with Wi-Fi and the PicoW. It's very fast, works great. Only warning is in order to fit SSL we have to shrink the partition. So if you have an old PicoW, save your files because when you program it with beta 2 it'll reformat the disk. But you probably weren't using a PicoW with Raspberry Pi it's with a Raspberry Pi PicoW with Circuit Python because we didn't have Wi-Fi until now. So, but this is the first time it's released. It seems to be working. If people are trying it out, something doesn't work. Please open up an issue on GitHub. Big ups to Jepler who slowly but surely made way through porting the MicroPython library to Circuit Python and making it work seamlessly within our socket pool system. And this is our launch poster and we got permission with expressive and good timing because today it was the talk that you did Circuit Python on ESP32. You could check out the Python developer survey if you want things inside of Python that maybe works for devices or just regular old Python. This is kind of neat just speaking of Wi-Fi stuff. You can pull news headlines with the PicoW and Circuit Python less over at Tom's hardware used PicoW with Circuit Python and was able to display this stuff. Request and JSON is like amazing. It's like so much fun to do IoT projects. The huge amount of memory that the PicoW has means that you can read chunky JSON files, parse it out, get the data. It's like so fun and joyful to use. That's what people are saying. It is joyful. We'll talk about some Cal Bells very soon. And we were looking for some testers who were trying to help get the word out from River. This is an online Circuit Python IDE. So check it out. You can look in the newsletter. And of course there is tons of streams. Projects. Tons of projects. Unending. Projects. You can also, like I said. Ooh, a train map. Yeah. You could also check out the entire day of expressive DevCon. It's their first event. They did a really good job with it. They use StreamYard. I'm noticing a trend with how people are starting to do developer events. They did a really good job. Today was day one. It took us two and a half years to get a remote event streaming. Yeah. And that's the Python on Hardware News. This week you can, of course, get this delivered to your inbox every single week. Head on over to AdafruitDaily.com. That's where you subscribe there. We don't do anything with your store account. Completely separate, completely separate website. That is this week's Python on Hardware. All right. We're an open source hardware company. It's open source hardware month. We have 2,750 guides on learn.adafruit.com. Lady, what's on the big board? We had a lot of guides this week. Okay. First up, if you do download CircuitPython 800 Beta 2 or later and you're like, okay, I got a Pico W1. I want just like, just give me the code. I want to get started immediately. Liz wrote an awesome guide that has like six pages of every setup start out and then like a bunch of really common examples that people want to do with the Pico W. I found it trivial to get up and running. I was, I got my demos going in like five minutes. So check it out. It's excellent and should make your IoT project a breeze with the Pico W, which we've been putting in stock. So if you want one, sign up at Adafruit.com. We are putting in a bunch every day now. We're trying to get through the backlog. No, sort of another big announcement. The user pages for the Adafruit learning system is finally ready and available. So what are user pages? Well, the Adafruit learning system, it's beta. It's beta. Gotta tell you it's beta. Yeah. But we have guides that we curate. We write the guides that I'm talking about now. And one of the things that's important to us is to make sure that the guides we have for our products and projects are up to the Adafruit standard, we want to make sure they're well documented, that the photos are really good, that the code is open source, that we're using only permissive, the only things we have permission to use, except when we're like being really naughty. But user pages are where you, somebody who has an Adafruit account can make pages, tutorials, documentation that is not visible on the front page, but you can link to, and it's publicly available, you can send people to your page. So you have wish lists, you have tutorials or hacks that you want to show off. Here's one I made real fast. So this just means anyone in the world can use the same authoring system our authors use. And it is super easy. You can put products in, you can put videos in. The media and you can have embedded code and just.  They put ads around it, we don't do that. This is your content. And the other thing is you can't, you have to have a sign in for others to see it. We don't do that.  Also, what we want to do is there's folks that maybe they're just getting started with their electronics career. Maybe they're just starting learning code, but they want to do documentation. They want to write guides. Maybe they want to work for Adafruit one day. This is a really great spot. You can put your own electronics portfolio there. So this is just us trying to figure out ways that people can kind of share in what we think is one of the best tools out there. So please, please, please check it out. It's beta. There's- Like it released this week. Yeah, there's a button on the pages. You can also use the forums or supportedadafruit.com if you notice anything that needs a fix in. Yeah, but working on it. What else? Well, the thing is, we had to lock it down. It's a lockdown version of what we have as the back editor. So there's still a bit more work to do, but hey, this is pretty cool and amazing that there is now a way that people can share and make pages on Learn that, you know, use the powerful editor we've had for like almost 10 years now, but you don't have to go through the moderation process that we do for normal guides. Liz also wrote a guide on the PCA 9548, 8-channel Stemic UT, Quick iSquared C Expander. Great if you have a bunch of a sensor that uses the same iSquared C address, but you don't want to, you know, you can't change the address, like they're fixed addresses, but you still need to have multiple ones connected. Liz wrote a great guide on a laser harp that used distant sensors. The laser part was a bit of a hack. It wasn't truly a laser. I mean, the laser was visually there, but it was done with distant sensors. And the way she did it was using a TCA 98, 9548. So she was an expert at using this breakout. We also have, from Non-Pedal, so the video, the no-code IOT soil sensor with all sorts of sensors and devices attached to it, and it's a cool 3D printed case. Liz also updated the TCA 9548 breakout. It never had circuit Python example codes. When she did the QT version, she went back and she added it to this one. Melissa did a bunch of work on the TensorFlow Lite guide for Raspberry Pi. You can run TensorFlow Lite out of Raspberry Pi 4 if you have two, four, eight gigabytes of RAM. But with, not Buster, but whatever bumblebee, I can't remember the name of the current. Flapjack. Flapjack. The latest version of the Raspberry Pi OS, which it's escaping me, and 64-bit. Ice cream popsicle. Ice cream popsicle has, I don't know, they always name it after like Otters. It has the latest version of TensorFlow Lite. It's a little bit slightly different to configure and the Pi camera V2 was not quite ready for use yet either, but finally everything started working. And so if you're using 64-bit OS, no, Buster, that was it. Or did I say, no, it's not Buster. I don't remember. I think it's whatever. Anyways, the latest Raspberry Pi OS is this video. Bullseye. Bullseye. That's it. See, it starts with B. Thank you, thank you, Chad. Why would I remember this? I don't know. And also, why isn't it alphabetically incrementing? I don't understand some of these things. They used to be alphabetically incrementing. They're gonna keep you guessing. It'd be like ice cream sandwich, and then it would be like- So, keep you on your toes. J for jellyfish, I don't know. I don't understand naming of Linux distributions anymore. And check out that guide. And then Liz also did a project for using Pi Leap and Fog Glider on the Clue board, so you wirelessly program it and using the onboard biometric pressure sensor to make your own barometer that tells you what the weather's gonna be the next day. Bungie does alphabet, but Deveen does Pixar names. Okay, but like, this reminds me- Just so you know. This reminds me of when like the XB-S2 came out and then there were like the XB-2, and I'm like the XB-2 is totally not the upgrade to the S1. It's a totally separate non-upgrade version. Like most people prefer the S1. I haven't thought about XBs in a long time. I know, right? Like I brought that out. Yeah. Yeah. All right. Palette cleanser, factory footage. Advanced manufacturing, main New York City factory footage. That's here. That's behind us. That picking place is like 10 feet away. It's true. Pretty branding. Okay, we have two videos. We're gonna play them back, back. Gonna page our stuff by the show until this evening. So you'll see the expanded versions of these projects and more we'll see you on the other side. You can build your own IoT garden. Using Adafruit I.O. and Whippersnapper. This can help you keep track of your plants by logging data, such as temperature and humidity. Our sensor node features a batch of stem of breakouts that keep track of the air quality and humidity of the soil. All of the electronics are housed in a 3D printed enclosure that's also water resistant. This is powered by the Qtipi ESP32S2 running Whippersnapper, Adafruit's no-code solution to IoT projects. Just stick this in the soil to monitor how wet or dry it is and log that data in a custom dashboard. The Adafruit Stemma soil sensor features capacitive measurements so it won't oxidize over time so you can reliably monitor the health of your plants. With Whippersnapper, you can create a beautiful dashboard with gauges and charts so you can visually monitor the health of your garden. Setting up your Stemma sensors is really simple and easy with Whippersnapper's built-in support for I2C devices. It's free to get started. Just head over to io.adafruit.com. All of the breakouts are daisy-chained together making this a solder-free project. Links to all the parts are in the description. To build the snap fit enclosure, you'll need to 3D print the parts in your favorite filament. We made a special case for the Stemma soil sensor to keep the circuitry nice and dry. The two have snap fit together and feature slots for ventilation. Check out the learn guide for a full step-by-step tutorial on building the case and setting up your dashboard. This 6600 milliamp lipo battery is placed at the bottom of the case and will provide many hours of data logging. The Qtipi is press-fitted into the mount and secured in place with these little built-in clips. The Stemma QT breakouts feature mounting holes so they can be secured with hardware screws. The SCD-30 air quality sensor can be mounted to the bottom making this a compact modular circuit sandwich. To monitor power usage, we're using an additional lipo battery monitor so we can be notified when it's time to recharge. This USB-C connector is wired up to a JST cable so we can easily power the Qtipi from the battery monitor. Now we can connect all the Stemma breakouts together and start logging some data. We hope this inspires you to check out Adafruit's Whipper Snapper to start building your own IoT projects. And you can hang out with NoPager every single Wednesday to learn how to make all this stuff and more. All right, before we go over to IOTMPI, don't forget it is Protoforpeco. That is the discount code and you get a variety of free things when you load up your cart. Don't forget about that too. Here we go. Hey, this week's IOTMPI. It's Amphenol. It's from Amphenol Advanced Sensors. We featured them like two years ago for their infrared temperature sensors and this week where I'm sliding over slightly and I'm going to talk about a CO2 sensor that they just released. I just saw it on ditchikey.com slash new. It is the T6793. There's two versions. There's the 2K and the 5K PPM module. It's a beautiful gold sensor. This is a NDIR CO2 sensor. Very handy and very timely. It's a good time to release NDIR CO2 sensors. Why is that? Oh, here's the details about it. You can see it next to a pencil. It's very compact, very small. I think TellAir is the sub-brand that makes this. And it's a nicely calibrated CO2 sensor with a lot of different output modes, which is kind of neat. CO2, it's everywhere. It's in everything we breathe. We like to exhale CO2 and inhale oxygen and plants to the opposite.  CO2 levels have been going up a little bit over time, which is one of the issues we have with climate change on this planet. So monitoring CO2 is something that scientists do a lot. But recently in the last couple of years, more people care about CO2 because it's an excellent way to determine the ventilation of indoor spaces. Outside air is 400 PPM, basically. And indoor, it starts at 400 if you have the windows open, but if the windows are closed and you're breathing and there's a lot of people and you're in a classroom and there's not a lot of outside air circulation because there's no ventilation. CO2 level will start to rise, rise, rise. So we've made projects with CO2 monitors like this one Carter did, just got this adorable cabin and some trees in the background, showing that the indoor CO2 level is 782. As long as under a thousand, you're pretty good to go. We had one developer who was working on CO2 project and they were showing off their readings and it was like 2000 plus. And I was like, hey, you want to open the window? And I think did you also came by, they built a project and they're like, wow, the basement needs more ventilation. So it's good to know because it can make you a little drowsy as well as it means that there might not be enough air circulation if you want to reduce flu or COVID transmission because there's just not enough air circulation to keep the air moving around. We have sensors in the store like this ENS 160 and they're a lot less expensive, in effective CO2 sensors. But these I just want to make sure people know that there's two kinds of sensors for CO2. There's like true NDIR CO2 sensors which are kind of expensive, they're like 50 bucks plus. And then there's the effective CO2 sensors. And this, if it says ECO2, what it means is it's actually a sensor that uses MOX, volatile organic compound sensing elements, it's a resistive, it's a doped material that when volatile organic compounds are nearby, it changes the resistance and you can tell if there's gases or volatile organic compounds like ethanol and stuff. And by measuring that you can sort of kind of use it to estimate air quality and the effective CO2. So here you see this ECO2 reading of about 700 PPM which is again, if we're indoors, that's about right. The only thing is that this isn't a true CO2 sensor, it's again estimating it based on overall volatile organic compounds in the air. Whereas this sensor, the T6793, is a true NDIR infrared sensor, it uses how IR light is affected by CO2 concentrations, it's calibrated to give you a really good precision, accurate reading. So this one, it has really good temperature dependence and accuracy plus or minus 45 PPM plus 3% of reading which is really great. You can always calibrate it to be even better. There's a built-in algorithm that if this is being used for outdoor reading or readings indoor where there will eventually have an open window so that the minimal CO2 PPM is 400, it will recalibrate because it does drift a little bit over time. The module's quite small, it's shown on the overhead which I really like and there's a lot of interfaces which I thought was kind of like the powerful, the size and the interface is what kind of sets this module apart as well as of course the accuracy. So it has a six pin IO header, you can see there's a typo I think it's the one says TX-SDA, I think it's RX-SCL. So there's a power and ground which you want to give it five volts which is not uncommon, you need 200 milliamps for the sensor peak, about 100 average, there's control test, PWM output, UART output and I-squared C output. Oh, and sorry, can you just get that one? Okay, so the first step that I thought was interesting was PWM, so there's two modes of PWM, there's a one kilohertz and I think there's like a 10 kilohertz version which I thought was really neat. So if you have a sensor that doesn't have an analog input, maybe it doesn't even have I-squared C but it can read PWM pulse width, you can use that. It'll always go low for two milliseconds, high for two milliseconds and then you can calculate the PPM based on the PWM width. So I thought that was kind of neat. You know, I don't have any sensors offhand, I don't have any macros offhand that don't have UART or I-squared C but do have PWM but you know, if you're dealing with, there's some legacy systems that use old style sensors, this can be used in those places. Sorry. Yeah, 10, 11, 12. Yeah, this is, yeah, that won't go back. So I-squared C, so this is my favorite interface so you can use, you know, Modbus I-squared C registers you write addresses and then you can read versions of the firmware, the PPM reset device. So you know, basic stuff, the ABC logic enabled disable, that's the auto calibration based on if it's outdoor enough to, or getting low enough measurements it'll eventually reach 400 PPM. You can measure on demand for low current or you can of course have it being continuous mode and get measurements every five seconds. So you know, I like I-squared C but that's the second option. And then the third option is UART and they also have RS485 transceiver support which I thought was like really smart because a lot of people do wanna have the sensor far away they wanna use RS485 to do, you know, a differential signal from far away. I-squared C doesn't work for far away. I wouldn't use PWM for long distance but 485, you know. Yeah, why not? As long as you give it good power. So plain UART, I think 9600 BOD or RS485. So that's all good. So again, most CO2 sensors don't have all those options. They have maybe one or two. I like that there is on this one there's four or five different ways you can connect to it. There is some code that I found on GitHub. It's a little old, it's for earlier versions but I think the register maps are the same. Using I-squared C for their sensor. That said, you know, the protocol is pretty simple. I think, you know, you would read this code, you'd look at the data sheet, the app note with the I-squared C instructions and they have example pseudo code in the app note for I-squared C as well. So that's the sensor so I thought I would- Available on Digi-Key. It's in stock. It's one of those things that you can actually get at the time of this printing, by printing I mean screenshot and sending photons. There is 999 in stock. Yes, so maybe we can show it on the overhead because I want to show, it's much smaller than expected. I really thought that this would be larger. A lot of CO2 sensors are quite big. That looks gigantic on the screen. It looks, what's a really good photo? It's like, ooh, golden, but it's actually, you know, very tiny. It's like a miniature satellite. Yeah, and then this is the IO and then this is a little mic controller that does the readings and interfacing for you.  So you can just have it plug into your system because these only last, they're not meant to last more than maybe five, 10, 15 years. Before maybe they have to be pulled or they can get contaminated, especially if they're in a caustic environment. So they're easy to replace. And that is this week's On an API. On an API. Okey-dokey, before we get off the new products, code is proto-fropico, and you'll find out why very soon because it is new product time. You can sing it. Oh, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. No, no, no, no, no, no, no, no, no, no, no, no, no, no, no. Well, the outgoing, the outgoing we're going to have more time on. Okay, sorry. So first up. Okay, first up.  So, you know, when I'm working on dev boards or my controller or circuit python or even actually little embedded Linux boards, Q-Spy flash memory is often used when you want like two to 16 megabytes of data.  Also, there's some projects that used to use the dip versions of these chips, which have been discontinued. So I thought I'd make a little breakout, you know, just for each one of these chips. The 16, which is 816 megabit, 2 megabyte. We also have the 64, which is 64 megabit, 8 megabyte. And then finally, the 128 megabit, which is 16 megabyte. So these are all, it's the same. Oh, wait a minute. Oh.  I meant to do that. Back it up. I meant to do that, I swear. Okay, that's fine. So these are the three. There's three. There's 16, 1664 and 128 megabit. Okay, that's where my message is. So each one of these is, that's fine. It's the 24. It's the 24Q, you know, XXX, JV, JVI SSQ. Basically, it's the quad version, the QSPI version of these chips. You can use it in non-quad, so single-channel or dual-channel SPI. However, just because I tried this and then realized it didn't work, the quad-enable bit is permanently set. So first off, you don't have to set it. Yay, because most people don't want to have to set it. They also can't disable it. So that hold and white protect pins that would normally be there for SPI mode don't function. It's really meant for quad-SPI only, although you can use it in plain SPI mode. It's also only three volt. It's a basic little breakout, but for a couple bucks, basically, I was just tired of soldering these two breakout boards. So for people who want to use these in Circuit Python, for Embed Linux, for MicroPython, or you can use our Arduino SPI Flash library to interface with these, and you can use them as a mass storage. They're just really inexpensive. If you don't need a full SD card, you just need like two to 16 megabytes. These work really well, and they're very simple, and they're aligned now with the dip size. They're 0.3 inches, 0.1 inch spacing. So if you want to use them in a breadboard or in a board that has an 8-dip socket, this will fit just fine. We give you some header as well. Okay, next up. Okay, next up, we've got ahead of ourselves. So if you're using STEMI QT and who isn't nowadays, I mean it's like so hot. It's all the fashion. STEMI QT and QUIC and all of the similar iSquared C plug-able devices are really popular. They're chainable. They're super fun, but there is one thing which I always have to warn people about, which is that if you have something like a Metro Mini, V2, or an Arduino, or any other older microcontroller system that has 5-volt power and 5-volt logic, you will want to do a iSquared C level shifting and power shifting to make sure that you don't blast 5-volt into your 3-volt sensor or device. Like this HT20 actually happens to be 5-volt compatible, but if you're using a BME 280 or if you're using the ENS 160 or you're using any other sensor or device, almost all chips that are on iSquared C are 3-volt logic only. If you put 5-volts into them, you can damage them. This logic level shifter is something... You can see the error is it takes 5-volts and it gives you a regulated output as a 500 mA 3-volt regulator and a 5-volt to 3-volt logic level shifter. You can take 5-volts from your Uno or from your old ST board or your PIC Basic or whatever. Whatever you've got, that's 5-volts and it gives you a clean 3-volt output. It also gives you breakout boards for pins for 5-volts and 3-volt logic and power. So if you want to use this on a breadboard, it's also kind of like an adapter, but for 8-of-fruit boards, to be honest, all our boards are 3-volt or 5-volt compatible, but there are a lot of other people making boards like the Spark Phone Quick, which is the originator of the standard and other companies. They may not make them 5-volt compatible and I just want to make sure people who are still using Unos and there's a lot of them can safely take advantage of this plug-and-play system without causing damage to their sensor devices. Okay, the star of the show tonight besides you, Lady Eater community, our customers, our team, and all of the gold-plated diamonds out there is more cowbell. Yay! I could have used a little more cowbell. That's right. We're about to kick off so many cowbells that it is cowbell, cowbell, cowbell. That's why we... You're going to say... What? I've got to have more cowbell. Actually, you won't say that because you'll be... I need more cowbell. You're going to be tired of cowbells. Okay, so what's the first cowbell? Okay, so the first cowbell, I mean, I always start with a prototyping board because that's how I actually prototype the other cowbells.  It's very inexpensive. It's designed to just be like a little throwaway. You can solder headers onto it, plug in your Pico, and it gives you a prototyping area. I'll talk about, and I'll point out all the prototyping area stuff.  So it's kind of like a handy beginner getting your project started, but you don't need a lot of complicated extras. On your board. So let's go to the overhead because this one, I got to explain how this works. So the Pico, actually a lot of times, people either have it with headers attached or they solder on headers. So that when you get the proto cowbell, it does not come with headers. And the reason it doesn't come with headers is because you can configure it in so many different ways. You can plug in these skinny sockets. If you want to be super slim, you can put in these stacking headers, I recommend, or you could put in these socket headers. And we don't want to assume which one you want. Personally, I like the stacking the most because it means you can then plug it into a breadboard like so, and then you plug in the Pico on top and you have a little bit of space over here. What does Christopher Walken say? I need more cowbells. All right. Well, we'll keep going. So there's plenty of space you can solder in components, you know, capacitors, connectors, whatever you need to. There's an edge mount reset button. So reset button is not built into the Raspberry Pi Pico, but it's very handy. So if you want to go into bootloader mode by holding down the boot select and resetting, or if you just want to reset your board. So there's a little edge launch reset.  And then on the other end, we've got a STEMI QT connector. So it's got a three volt power ground clock and data. And the clock and data are connected to pins IO4 and 5. That's because it's the default Phil Howard Arduino core wire I2C interface. If you're using MicroPython or circuit Python, you'll just want to pass in 4 and 5 as the initializers for the I2C connection.  And then this is the ground pad. Every pin has a duplicate.  And there's, you know, this is what connects to the Pico. And then the pad next to it is you can jump or it. So every pin has like a little twin sister next to it. So you can jump her to it. And then the three volt line is the only one that has, it's extended out. And this is all three volt, because you'll probably need a lot of three volt power. And the rest of the pins are kind of like a little breadboard four row connects. And I think there's like 13 rows of four.  But chances are you want to make multiple connections to each row.  And it's like only a couple bucks. So, you know, you get it. I recommend again, the stacking headers. I think those are the kind of the most fun to play with because you can plug into a breadboard.  Or if you want like a super skinny, like, you know, barely any space, but it's the most compact sandwich, the super skinny socket headers work as well. There's no such thing as skinny stacking headers unfortunately. This is, these are the three options that we've got. But this is, you know, I think it's got a nice silk screen with penguin. Oh, and one, one last thing. So the I squared C also has a breakout here. These four pins are the I squared C JST breakout. So clock data, three volt and ground. And that's for in case you don't want to use IO four and five, you can connect to the I squared C power and date and connect them to other pins. You shouldn't even have to use it for I squared C. You can use it for just GPIO. Like there's no pull-ups. So even though it's designed for I squared C usage, you don't have to do that. So this is our first cowbell. I got a fever. And the only prescription is more cowbell. All right. And that's new product for the week. Okay. Don't forget the code is proto for Pico. And we're going to do some top secrets. So go put your questions on adafruit.it Let's do some top secret while folks are loading up some questions. Are you ready? Here we go. Somebody just said, oh, Paul just said that did you key just put a bunch of Pico W's in stock. So you should go get them. Yes. We'll also get them. Did you key? Of course. And also I'm sure have this Pico proto breakout board. But we will also have them in. All right. This week's top secret all aboard. It's a stem. It is a stem. It's actually a classic stem. They're not the I squared C style, but that's okay. So I'm just these are actually quite popular. People really like these little solderless, you know, you can use alligator clips to connect to a little board that does one task. So this is a little MOSFET driver. It's got a four amp power transistor and channel. A shot key diode for fly back control capacitor. Power LED indicator LED and this, you know, it's for like fans or simple. You need directional motor solenoid control because it's like, you know, it's not hard. It's like, it's people always like, oh, why can't I just plug the motor directly into the pins? It's like, no, you need to have a power transistor to do it. So just making it easier to connect, you know, fans or solenoids or motors or other, you know, maybe powerful LEDs where you want to have a PWM will input and just have that all the transistor logic in the pulldown. So this is, you know, just touch this to three volts and then this goes off. And there's a little indicator to tell you that it got the signal. So it's a little simple board. It's going to be like very inexpensive, but very useful for people who want to have a solderless power transistor circuit. That's a secret. Okay, we're going to go off to questions right away. Okay, first up, not a question. Just nice compliments. I'm going to say it. Great board design is always a different. I like how all the grounds have a white silk screen around them for the. Oh yeah. No, I think, you know, Phil B helped, I think, with the silk screen for that. And then the penguin silk screen generator, of course, did a lot of the magic. How many stemma modules do you think would be daisy, choo-choo train back to back before the voltage drops? Voltage drop becomes an issue. You know, we actually had some of the forums who had 10 stemma I squared C centers connected, chained together. And it actually isn't the voltage drop that's the issue. It's the capacitance on the I squared C lines because it started to get to like a meter or two. That's where I would actually would get our QT hub because that way it's a star pattern rather than a chain. And that'll help a lot if you want to connect a lot of boards together. Okay. The feature request for maybe a future proto board, dot 23 QFN, et cetera options. We do have SOP 23 and QFN breakout boards, not with chips already on them, but we do in the store. I made a whole bunch of them because I was very tired of spending like 30 bucks a piece for censored boards that were the prototype boards that were available at the time. They were very nicely designed, but they were really expensive. I wanted like ones that were only like a buck or two a piece. Okay. In the chat, the record for one of the community members, I squared C sensors is 24 linked together. You can do it as long as you have strong enough I squared C drives. There should be some type of electronic online Olympics. Oh yeah. Where you have like number of sensors you can. No, they have the Wi-Fi distance shootout. They have a DEF CON, right? But it's like I squared C. I feel like that's one where everyone could participate too, because it's like it's kind of wholesome. Yeah. And we don't have to drug test anyone. I don't think anyone could cheat. Okay. Yeah. Be curious to help. Ten is a good number. Don't ever chain that many, but good to know. Okay. Let me see here. Also the I squared C repeater. A sport. I don't think that's a question. Can you multi-stack on the proto boards?  And of course the I squared C are all connected. Yeah. You can stack this. I mean, it doesn't have any active electronics on it. It just has the reset button. That's why I didn't want to add pull-ups or anything. Didn't want to like have any active components, but I was like, and I was going to originally do the proto board without the reset button and the STEMI QT connector. But I was like, man, I feel like those are such like the minimum now for people's projects that I just like was like, okay, let's add them on. Okay. And then someone else, if we saw the JWST pillars of creation photos that dropped today, new album from the cosmos. Did you? Yeah. We're going to be posting them up on our site. They look pretty good. Cause they also did it before. Well, not before, but Hubble. Hubble. Optic. No. And then Hubble did the best. And then the latest in information. Is the Hubble still running? Yeah. They're still getting data from it? Yeah. So cool. Yeah. In fact, I think when, I think it was a dark mission, I think Hubble looked at the asteroid that we wanted to hit. And then also JWST did as well. Cool. Okay. And I think that is it. Let me get a little bit of a check over here. Yes. Those are our questions for tonight. Thank you. Thank you everybody. That's our show for this evening. Special thanks to Zay behind the scenes, who's helping out in the Adafruit Slack and answering customers and more. And thank you to everybody for joining us tonight. You have a lot of choices on how you can send. It's been your Wednesday evenings. I hope you had a good time. We very much like your presence here and all the good thoughts and the sharing and helping one another and making cool things together. So thanks for joining us this evening. Don't forget the code is proto for Pico. That is our show this evening. Make sure we had cowbells in stock so you can go and get them. Everything you say cowbell, you got to make cowbells. Where's the walker? Christopher Walken. Why aren't you purchasing something? Okay. It's been an Adafruit production. This is your moment of zener.