 All right. Well, 3 o'clock. I guess we'll go ahead and get started. My name is Eric Welsh, and I'm with Octavo Systems. And my co-presenter is Jason Kreidner from beagleboard.org and Texas Instruments. So today, we're going to be talking about system and package technology, making it easier to build your own Linux computer. I really would enjoy for this session to be interactive, so please feel free to ask questions as we go along. We'll be talking about a lot of hardware stuff. So I know that is not necessarily everyone's forte. So if there's anything that you want to touch on from a heart getting some more depth or anything like that, please let us know. And we have a microphone around there so that everyone can hear the questions and everything. And if you want, after the presentation, feel free to come up and talk to us about any other questions you might have. All right. So starting off, we have this single-board computer revolution. There's a proliferation of prototyping boards. I mean, we have Raspberry Pi, Beagle Bones. Basically, anything you ever want to do, you can prototype now that just 10 years ago, five years ago, you weren't able to do. There's all sorts of these new prototyping boards that are out there. You have incredible development communities that are supporting new users. And you have this huge collaboration amongst people coming up from school or just getting started with projects deciding that, hey, I need to redo my system. And so now I have a platform that I can use in order to do that. There's a huge exposure to Linux on all of these new single-board computers. So I mean, you have known proven Linux solutions. And from all this, you're able to prototype your systems much more quickly, much more efficiently, much more effectively than you ever have been. And so that's the framework that we live in today. Now, as a software person, you need to be involved in the hardware development decisions. Because if the hardware guy comes to you and says, hey, there's this really cool piece of component that you've got to use, but there's no drivers for it. I mean, that's a non-starter. Or unless the hardware has to be really good for you to invest the time and energy to go write actual drivers for it, because that's software. And I mean, as you're trying to drive your component or get your product to market as quickly as possible, that's going to be a long poll trying to write a new driver for a new piece of hardware. So as a software developer, you need to be intimately involved in these hardware decisions. I mean, there are a lot of platforms. We talked about all the single board computers. They are great starting points for your software development so that you can focus on the value add for your product. You don't want to have to rewrite drivers because that really doesn't add a lot of value to your product. Integrating new features and making sure that you're able to focus your software energy on the things that add value. Now similarly, as a software developer, you want to make your hardware guys' life as easy as possible. So as you come to the table and say, OK, what do I need from the hardware guys in order to make sure that I can prototype this and focus all my value add from a software point of view, you also need to be considerate of the hardware guys to use open hardware platforms so that the hardware guys can focus on the value add as well. They don't need to be able to. I mean, if you start with a closed source platform, like Raspberry Pi or something, it becomes very difficult for you to go design your hardware system around that because I can't buy chips from DigiKey. I can't go and get all my components and sourcing everything is difficult just going and redesigning the hardware. Now I'm stuck. I have to integrate a known module as opposed to being able to necessarily get the form factor that I want for my product. So similarly, from a software, you want to focus on your value add from a software point of view. You also need to be considerate of the hardware and make sure that they focus on the value add for the hardware, not rerouting DDR because, I mean, having DDR isn't a bullet point on your product. DDR has to work. You have to have memory. Memory has to be functioning. But it's not going to add value to your product. And that can cause a lot of headaches in your product lifecycle development. So there's this whole gap between prototype and product. So when you're developing a custom PCB, you have to try to focus on your form factor. You want smaller. But at the same time, you have to understand that as you're driving down size and everything, it's harder to do. And so you want your open hardware so that you have known good solutions. Similarly, you want to make sure that you have known good software solutions. So you want to make sure as you're going from this prototyping platform. So there's this myriad of prototyping platforms out there. You need to be cognizant of what those prototyping platforms offer in terms of transition from the prototype to the product. Because if you don't start with a good prototyping solution, then it's going to be very difficult to make that transition. You're going to have a lot harder time. It's been a lot more energy getting from that prototype to your product than you would otherwise. And like everything else today, you have to do more with less. And so that makes it even more critical that you have to choose starting prototyping platforms with the goal of migrating to an end product in mind. So what are some of the things that can simplify your life? Well, system and package can really provide a simple Linux hardware solution. So what are the minimum things when using a system and package device, what are the minimum things required to run Linux? Well, you need to connect up your power. You need to connect a clock. You have some boot mode registers to select what you boot from. And then you need a boot media. So you need your Linux image. And from that, now you have a completely running Linux hardware system. So if you wanted to, this is the Pocket Beagle, one of the new development boards from beagleboard.org. And as you can see, there's very little on this particular board. I mean, it is very tiny and single-sided. And it allows you to run Linux on it. And it was actually very easy to develop. And so one of the cool things about the fact that the system and package is incorporating a lot of the complexity from a hardware perspective is that if you wanted to, you could almost dead bug this with about 30 connections. So you need, like, 16 connections for your boot mode selection. You need two for your clock. You need a couple for your boot media. And then you need a handful of other power connections in order to make sure that you can choose the right IO voltages. You can hook up some of the power management IC signals to the processor that were done from a flexibility point of view. But so in, like, 30 soldering connections, you could take this and dead bug it and have a Linux computer that can run. So that's the kind of simplification you want to look for from a hardware point of view. Now your hardware guys' life is way easier. They get to focus on the value add of what they're trying to do. So they get to focus on adding the components that are going to make your hardware differentiated as opposed to having to focus on all of this extra stuff that is just complexity in this day and age. So we all can remember back when from college we did a microcontroller system. It's pretty simple. I mean, it has a tiny, I mean, your microcontroller very self-contained. You worried about what you wanted to hook up to it. The microcontroller, you hook it up over JTAG. You ran some code. Very easy. But as we move to a typical microprocessor, suddenly there's a whole realm of complexity that comes in. And mainly because the fact that we need a lot faster memory. We need a lot more memory in order to run today's Linux systems. And so now instead of having this nice, integrated, compact microcontroller that is easy to program, now we have to worry about DDR. And I don't know if you've ever talked with any hardware guys that have tried to route DDR. It is not a very fun endeavor. There's a lot of stuff that you have to do in order to get it right. And if you get it wrong, it's a very long debug cycle. And you have to keep iterating on it. And it can just destroy schedules and cause a lot of pain as you go forward. So the fact that you have to have DDR in today's systems is just that. That's what it is. And so if you can look at trying to find a solution that allows your hardware guys to not have to deal with that, it's a huge advantage. Similarly, there's a lot of different power rails that have to happen in today's more complex processors. So not only do you have your I.O. voltages, but you have all these core voltages. You want to have these low power systems. So you have a bunch of different voltage rails for different parts of your processor. And so those things are contributing to the complexity that you would otherwise have not had to deal with in your microcontroller system. So the answer, or at least our answer, is a system and package. So what does that do? Well, it integrates a processor, some power management, some DDR, an LDO, and all of the associated passives into a single piece, a single substrate, single package device. So now you get a single BGA as opposed to having to deal with all of these other separate components and deal with that complexity. Now, most people are scared by the term BGA. These aren't your typical BGAs. The pitch on these is 1.27 millimeters, so 50 mil, which is huge. So when people get scared of BGAs, they're talking about 0.4, 0.3 millimeter pitch. And those are hard to deal with. But when you're talking about these wide-pitch BGAs, one comment from one of our users was you could drive a truck through the balls, because they're so big, so wide. And so that's where it helps simplify the system, but it also allows you to do a lot in terms of make it easy to design with from a hardware perspective. So how do we construct a system and package? Well, first, you actually have silicon wafers. You actually go through and you probe silicon wafers. You make sure that you have known good die from your silicon wafer. You chop up the wafer, and then you actually go and attach it using wire bonders in order to put it down on your substrate. You also have discrete components, so you have packaged parts that you might want to use. You have passives. Now, some of the reasons you might want to actually use packaged parts. So for DDR3, JDEC actually specified at the package level what the standard was. And so you have a standard pinout for a DDR3 memory, but at the package level. Now, in newer standards, they actually start specifying stuff at the die level. But at that point in time, JDEC didn't specify anything about the die. And so if you want to actually be able to switch between different memory vendors or things like that, so sourcing issues that you might encounter, you have to actually go use just packaged memory. And so you'll find that in the OSD system and package device that we use on the Pocket Beagle, it actually does use a packaged DDR, primarily for that particular reason. Now, then that attached die and those discrete components are all put on a substrate. Now, a substrate is basically a small printed circuit board. It just allows you to have much tighter routing rules and much tighter design constraints than most standard printed circuit boards. It's still FR4. It's still pretty much a normal circuit board. But now, instead of using four or five mil traces, you're able to use 40 micron trace width and 50 micron space rules. And so you're down in the one mil, one and a half mil type routing rules. And so you have a lot more, you can do a lot, things a lot denser, and allows you to keep your components a lot closer and pack them all together, especially because now you're using bear die, you don't have to worry about the additional space that you needed in order to expose all of the different pins. Because a lot of the space that a particular component takes up is how many pins does it need. And so the size of a given device tends to depend on the number of pins that you have. And so by using bear die, you're able to hook things together and crush and get them a lot closer than you would on a standard printed circuit board, because you don't have to worry about getting it out to pins. You can actually use stuff like wire bonds in order to make your connections down from the die to the substrate. And last but not least, you have the pins on the back. And so like we said, there's the wide pitch BGA. We actually have had one of our users hand solder one of these onto a board. And we'll actually show the little bit of the video on that in a couple of minutes. So the question that comes to mind though is why can't you just use an SOC? I mean, SOC has been the way that we've allowed systems to grow smaller and smaller for the last couple of years. I mean, last 10 years, we used to have a processor only. And now we have a processor, graphics coprocessor, all sorts of peripherals, all in the same piece of silicon. So why can't we just accomplish this whole goal with an SOC? Well, primarily, we are a victim of our own success in that Moore's law has driven us into a lot of different ways. So for processors in memory, Moore's law has driven us into a very low voltage, low power dissipation vector from a process point of view. So in a silicon process, we've looked at optimizing our processes so much. And so we can do great things from a memory and a processor point of view. But from an RF point of view, if we wanted to look at optimizing that, well, now we need to have high power dissipation, high clock frequency, but low voltage. And so there have been processes that have been optimized for particular RF circuits that are kind of disparate from what you get, for what the best processes are for memory and processors. Similarly, you see the same kind of thing with power. It's a different set of optimizations on silicon process that have made power circuitry so good. And last but not least, you have sensors and analog. And all of these things are kind of pulling apart from a silicon process point of view. In order to get the best performance of each of these areas, you have to tune your process. And so when you go and reach for an SOC, an SOC basically can only pick one silicon process to do everything in. And that causes you to compromise. Basically, you have to compromise on everything in order to pick one process that'll allow you to do an SOC. Now, that can be OK. And that allows you to do a lot of things. But what's nice about that kind of idea of system and package is that we don't have to do the compromise. We can take dye that have been optimized for each of the given processes and now combine those all together on a substrate. So now we kind of get the best of all worlds as opposed to having to compromise in all areas. So that's in general why we look at system and package as kind of this next level of integration as opposed to just using another system on chip or integrating more into a system on chip. So with the OSD-3358, the impetus was to look at the major components of a single board computer. So we worked with Jason a lot on the Beaglebone Black. And we identified what were the core components that were difficult to deal with. So the DDR, the power management, all the different capacitives that added a lot of assembly cost. So the fact that you can integrate 100 passives and don't have to put 100 passives down on a PCB will lower the cost of your product because it's just easier for assemblers to deal with. I mean, if it takes half a cent to place each component, now you place one component instead of 100, you've saved quite a bit of money from an assembly point of view. And so we looked at all of these different types of components and pulled them all together into a single package that you could deal with easily. So taking a little bit of a dive into what does this look like from some more detail, the system in package uses a six-layer substrate. So basically, you get a second six-layer board inside the little BGA component. So that's where you're dealing with all this routing. All this complexity is because you actually have another six-layer board sitting there on top of your printed circuit board. So by dealing with the complexity there, you're able to do a lot more in your circuit board on a lot fewer layers. And we'll talk about that in a couple of minutes. But then there's all sorts of cool stuff because once you over mold it, you can see from some of the SEM pictures that you're able to see. So here are the wire bonds in here. You can see some of the trace routing as part of the cross-sectional cut down here. And you can see these little dots here are where they cut the wire bonds as they cut through the SIP. So you can see the cut line was here. And so you can see some of the cuts along that. You can see some of the dye that's inside the package DDR. You can actually see what the mold compound looks like, zoomed in tremendously. And so this is actually where it's bonded a wire bond dye down onto a package. So like one of these little wire bonds here blowing up, that's what it looks like. And then all of the circles are part of the mold compound that's around it. All right, so let me do show a quick video. I thought this would be interesting. So this is what it looks like when the wire bonder is actually going and bonding all the wires down for one of the dye. So basically, there's a gold filament that's coming down. And it's just like sewing. So the gold filament is attaching onto the silicon dye and then down onto the bond pads of the substrate. And so they have these crazy machines that will go through and go really quick and allow you to wire bond to all these different things. And so that's basically when it detaches your wire bonds here, it's a machine like that that's actually going through and doing it. And so there's all sorts of cool manufacturing stuff associated with this. And so from that, now we are able to do these cool boards, like our Pocket Beagle. And with that, I'm going to let Jason talk a little bit about Pocket Beagle. Hi, I'm Jason Kreidner. I'm a 25-year employee of Texas Instruments and a founder of Beagleboard.org. Well, I'm with Gerald Coley back 10 years ago. And when we were first doing Beagleboard, one of the things that was actually a consideration was using system on module or SOM technology. Because our goal always has been to create a real open, harder platform and try to simplify things so that people can make their own Linux computers. But the real economics of it didn't quite make sense. When you look at having to add a whole other PCB, it's a whole extra effort. You have to add connectors. There's a whole lot of things that just you could make funny money, but you couldn't make it really lower the ultimate manufacturing costs. With the system and package approach, and it's one we encourage all silicon vendors and everybody did to evaluate, we actually have the potential for reducing the real costs, not just the funny money sales prices, but the actual costs. Because the assembly step is something that already has to be done. You still have to take the die and put them into a package. So why just take one die and put it into a package when you can take all the dies and then create something that's actually much simpler? So it has a lot of those benefits out of system of module stuff that's been around for ages. But actually, by using standard packaging, we could just use it like a regular chip now. So we're not really close to that Linux on a chip. We've done it. It's done, Linux on a chip. And I think that's a bit of a game changer. So it was part of the motivation for creating the pocket beagle. But we also did it to get something smaller, to get something lower costs to users and to really deliver more on that open hardware promise. We really want people to be able to take and modify our designs and grow our ecosystem in that way with an eclectic mix of hardware rather than just everybody buying our boards. We think there's a lot more opportunity for innovation if people actually change things and build around it. I don't want to talk too much more about the SIP and processor details. But some of the high level bullet points are there on the slide. It's a full Linux computer. And it's got some really cool features with some of the microcontrollers and all the analog stuff that's a part of it. From a board design perspective, we provided some 100-mill headers. We could have made this board smaller. We chose a small mint tin as the form factor, because the original BeagleBallon was also done in a mint tin form factor, just the bigger one. Because in my mind, the tools for computing are fundamental survival tools. This is technology we need to make sure the future generations understand that they're going to build on. And so it's a fundamental tool for survival. And I just really love the meme of people putting survival kits in mint tins. So this is your survival kit. But now we've gone from the big mint tin to the little mint tin for our survival tool. But that's still, even at the 100-mils, we can give you nice, big, fat pins. We didn't put anything on the bottom side of the board. If you want to, you can use this board like a SOM. You can drop this right onto your design. You can essentially use a reflow oven to solder it down through those pins. That's one of the reasons we didn't put headers on it right, so you can actually choose how you want to interconnect. In the future, there might be a version with headers, whatever, don't wait. Go get one. But that's the basic idea. There's a lot of flexibility in this computer. So it features the cool sip from our hardware supplier partner here. But it's got a whole bunch on it. On that far side, there's some of the different MUX modes. Out of those headers, you can do either, there's analog to digital converters, there's quadrature encoder inputs, there's spy ports, UART ports, and everything, and all the, every different digital pin has eight different MUX modes where you can kind of configure what's out there. And we've got some, the layout is done also so that we can connect to the microelectronica, microbus click boards. So you can actually connect two of those based on where it's pin out, and that's over 400 different out-on boards that you can use today with some small software or help from you guys. But they're hardware compatible. So I think being at $25 and stuff it gives you a lot of flexibility to go and create your own Linux computers, either starting with the pocket beagle or then eventually building your own design. This is to give you an example of what's in there. A little bit of an eye chart, but honestly for the entire schematic of the board of a Linux computer, right, this is not too bad. Most of the space is actually taken up by the net names. Right, so if you see down the far right side, you'll see all the stuff breaking out of the, most of that's just so that it can go to the ones sheet down where all the headers are, and that's where most of the board stuff is. You talked about the different, those 30 types of connections, whatever, that's all in that first, this top left, so that you can change what the IO voltages are. You actually connect them up manually on the board, but there's not too many of those. Gets you that, all you need is that the crystal, like you need a clock source, you need power for boot. You see the microSD, you could also boot off the USB or the serial, but typically people would boot off of the microSD. Actually, it's kind of nice if you want to stay, if you want to go to my net console talk, I'll show you just doing everything on USB, actually booting it up and running from USB, so the only thing you would need is the bottom left side to toilet the boot modes, and then the power and the USB is the boot source as well. So it gets pretty simple in terms of what a computer looks like, so hopefully that gives you an idea of that. Questions for me before I turn it back over to Eric, because Eric, I think wants to show you the actual assembly of the- And the layout. And the layout, right? So actually show what this layout looks like. For Beagle, not for Octavo systems, we have a multi-core A15 with the Beagle board X15 that's readily available today. I know last DLC, five minutes walking in the door, hey, where's the X15s? Why can't I get one? You can get them now. We solved the kind of all the supply chain stuff around that, so they're now readily available. So it's a more expensive board and it's got a lot of other stuff in it. It's got really high-speed IO with PCI Express and USB3 and craziness, but it is a multi-core. In terms of when do we get it into the Beagle bone or our pocket Beagle form factor, it's a stay tuned, right? But that's kind of our roadmap process, kind of start at the desktop replacement model and then move it into the more embedded systems as we kind of optimize the design. Any other questions for me before I turn it back to? So the M3 is actually on the SOC, so it's on the AM335X die itself. There's, I guess technically five exposed CPUs because there's the ARM Cortex A8, there's the two PRUs, there's the Cortex M3 that's typical use for power management, but you can use it for other stuff. It's just that most people use the PRUs to kind of add stuff because the PRUs have this ultra low latency IO. So when people start adding microcontroller code stuff to the Beagles, they like to use the PRUs because the M3s have like a four stage pipeline so you can't get anywhere close to the low latency to the IO pins that you can get from the PRU. And lastly and leasely, there's an SGX530 graphics accelerator in there. That's the only thing that has a closed blob on it. You don't need it for boot. Unlike some other platforms, it boots. It boots clean straight into mainline U-boot so you don't have to deal any closed blobs for your Linux systems unless you want to use the user space 3D graphics control then you need the SGX blob. What networking is available? So then the networking that comes like stock on this is just the USB networking, right? Over the cable, you can flip it over as host and use and provide power. There's little Y cables where you can provide power in and flip it over as host so you can put up a USB Wi-Fi dongle, plug it in and power it over the same connector and use that as host. You need to kind of log in first and configure it so that at next boot up it uses that USB Wi-Fi but you can just use Conman config files to kind of set that up by default. Practically most people, like for early development, a lot of what people do would take the click modules. There's a bunch of them. There's a click module for Ethernet. So you add a device tree overlay in our boot config and you can use the Ethernet adapter over spy. There's also Wi-Fi. There's also the USB on the expansion headers. So there's USB on the expansion headers themselves. You can take like a little, add a fruit and spark fund, both make breakout boards that you can connect up and I made, I organized the pins so that you can wire those pretty much up directly. So if you wanna put a USB host but instead of just putting that type A connector on the board, I wanted to bring it across to the pin headers so that you could do that in a myriad of way. So if you wanna put a hub on there and there's a number of different add-on boards including the bacon bits that we're using for the EL classes and some stuff on Tindy where you can get USB host ports that you can solder down onto it. And internet connection sharing is probably the most common, actually. So you turn on internet connection sharing on your host, you issue a DHCP on the Beagle and then it can get to the internet. So that's the most common way to like app to get packages on your board. Then to follow up, from a system and package processor point of view, it supports all the networking that the AM3358 supports. And so like if you actually, if you use the BeagleBone Black as a prototyping platform, basically you can use the system and package device even though the BeagleBone Black itself doesn't use the system and package device because the BeagleBone Black uses all the same components as the system and package device, you can actually prototype your platform on the BeagleBone Black as well and still get the same benefits because from a hardware point of view you're now able to just hook up to the same IOs that you would have otherwise. And so from a networking point of view there are ethernet ports and things like that from a processor point of view so that you can actually get to it. And if you're interested, there's definitely a lot more information on our website octavosystems.com. So one of the things that's nice about the fact that you're integrating stuff inside the system and package is that you don't necessarily have to follow the pinout of the original device. If we look at the AM3358, it's a 384 ball BGA. But if we look closely, we can see that power management plus DDR take up over 100 and some odd pins out of those 384. And so if we actually look at just the IOs signals we actually realized that if we, because we can connect all these things internally we can actually get down to a 256 ball BGA and then we can optimize it. So we can optimize it such that all of the signal pins are in those outer three rows and columns such that you could actually escape the whole BGA in one layer using six mil trace six mil space routing rules. So very easy to manufacture very standard routing rules. You're able to escape all of your signals in one layer. You can provide power on the power straps at the top and then you have a ground ring and the only things in the center are your output power rails. So then some of the connections but to set IO voltages and stuff like that. So you can use power pours to set your IO voltages but as long as you don't need any output power you could potentially route the whole thing in one PCB layer, which is amazing from a cost savings point of view. So now instead of having to use a six layer board because I had to do DDR routing and stuff now I can conceivably get away with just a one layer board. Now we will have to have some powering ground planes and stuff like that. And so generally we find that most customers do a four layer board because four layer boards nowadays are almost as cheap as two layer boards but you find that it's very easy to do all of these types of routing escape things just with a very few number of layers. Now because I don't have to deal with this complexity of DDR routing, of power management, plane routing I can do it in a lot fewer layers and I don't have to worry about as nearly as much complexity. So what that translated to so the pocket beagle is a four layer PCB. I mean we're able to do it single sided. You don't have to put any capacitors on the back because all the capacitors needed for the processor are inside the system and package. So most boards you have this whole array of processors right underneath it or array of capacitors right underneath your processor because you need the capacitance really close to the processor. Well we've integrated all that inside the processor. So now in that system and package you don't have to worry about placing all these caps right underneath your main processor. It's all in there. That way you can do a single sided board and it makes it easy to do all of these layout things in a very few number of layers using very standard manufacturing rules. So that's the whole six mil trace, six mil space. I mean that is very cheap to manufacture and similarly from a via size you're able to use large vias that'll allow you to do very easy hardware design. So and then one of the things that I'll bring up here is so one of our colleagues, Michael Welling he actually went through and did hand assembly of basically one of these using a stencil he got from Osh Park and hand placement and hand routing. And so he actually went and did a short little video, we won't watch it all about how to go through and do a lot of basically getting a stencil and then being able to go squeegee on solder to one of the boards, putting it down, cleaning it off. And then the fun part is you're able to go and if you wanna watch the whole video you're more than welcome to, it's up on YouTube but you can squeegee out your solder and then from that you're able to now go and do hand placement of all sorts of components. So the and the main part is because the BGA is such a wide pitch it actually is pretty easy to hand place. So you can't do that with the 0.4 millimeter space BGAs but because you're looking at a wide pitch BGA you're actually able to go through and hand place this and he actually got all five of them to work that he actually did as part of this whole hand assembly process. And then he shoved it through his own little toaster oven that he built into a reflow oven. So you can go through and do this in the comfort of your own house. You just have to go convert a couple of things but so he was able to go get one of the early prototypes of this was the precursor to the pocket beagle but he was able to go get everything powered up and booted and everything like that and so you're able to actually go through and do hand assembly of this. So it's fun when you're able to do something like that and by using something like a system and package you're actually able to go and do things like that because otherwise I mean with standard DDR packaging and some of the standard processors you're not able to do things like that. So it really does make it simple in order to actually build your own computer. Now we talk about manufacturing, we talk about some of the software stuff but really a lot of it comes in, it's really simplifies your board bring up process. Now instead of having to go through and worry about this DDR not working all you have to do you verify your power rails, you verify your power isolation and so you make sure that you get everything that you didn't short power and ground and once you do that, once you verify that with your DMM then you go download your latest image. You might, you will need to customize the device tree but then you power up the board and you can start seeing it boot and so it becomes a very easy boot bring up process as opposed to a lot of other things where you have to stress about did I actually get all the power routing correctly correct. All the different power rails are the planes good enough. Are they supplying power effectively to the processor to the DDR did I actually length match all the different buses in DDR correctly in order for it to actually meet the 800 megahertz timing or the whatever timing you needed for the DDR. So it really helps simplify the whole of that design process. Now I talked about, nope. Sorry, I'm gonna throw in on that one. So I've been, I've helped a handful, probably about 14 different boards at this point that I've had some involvement in doing the bring up with. The process has been really, really super simple like as in like doing board bring up but then like getting into before doing anything else or actually into the kernel. So before we try to worry about any of the other peripherals, the display, all the other sensors and everything else, you're into the kernel rather than have to write your own tools to go and do that. You're just using standard like kernel tools for toggling GPIOs or talking to I squared C devices and exploring them or loading different things for SPI or configuring the LCD bus, right? So much, much easier than traditional board bring up. And I'll show, my net console talk, I'll talk about just how to do that entirely just over USB to the point that you're in the Linux kernel with no other connections than USB, not even serial. So this is something where, you know, what would usually take, you know, like three days for an experienced embedded Linux engineer to kind of bring up the DDR or bring up everything else now is like in a couple hours tops. So this is really nice. Yep. And as we talked about, you will have to look at potentially modifying your device tree. So this is where you do have to look at your customization and as you would for any system. So from your prototype to your production, you're always gonna want to make sure that your device tree has been modified in order to make sure that it's optimized for your system. Okay, so one more in there. You don't need, if you're basing it off of something like the Pocket Beagle that has so little on it, you can actually just bring it up on the Pocket Beagle first, like we just, you know, to start with a really simple device tree and then start adding this stuff later. So yes, you do need to customize it, but you're already running Linux, you're already validating hardware before you ever do any of that. Yep. And so, and then like Jason was saying, you can actually use device tree overlays in order to help facilitate your adding of different device tree components to your device tree. And so you can actually go through and build everything out, starting with the very simple device tree that's provided for you. And there's a lot of different examples. And we wanna thank Robert Nelson for all of the work that he has done in putting together all of this device tree stuff for us. And so there's a link to the device tree rebuilder that he publishes for that. So kind of just recapping. Basically, using a system and package device for your Linux computer, basically brings 100 plus components into a single package. So it makes your board design faster, simpler, easier. It allows you to focus on both the software value add as well as the hardware value add, as opposed to worrying about these things that can be challenging and time consuming and don't really add any differentiation or any value to your product. It ensures the fact that you're gonna have an easier board bring up. You're going to be able to do all of this stuff without having to worry about these complex things failing. It allows you to have a lower cost PCB, easier to manufacture, lower cost manufacturing. And like we said, some people hand soldered this. So it really bridges that gap between prototype and production. So you have your open hardware platforms, you have the open source software, and so it's easy for you to migrate from that prototype to your product. And so as you go forward, try to make sure that as you're considering different prototyping platforms, you think about that gap between getting from my prototype to my product and then making sure that you're doing that with something in mind that allows both your hardware designer to enjoy life and make sure that everything's easy as well as make your own life easier. And then as you look at SIP technology in general, there's going to be a lot more coming out soon. I mean, Intel has announced various system and package devices. Other companies are looking at SIP technology as the way forward for the next level of integration. And so you're going to be seeing a lot more from system and package coming forward and it's going to help make both our lives easier from a hardware perspective as well as from a software perspective. So with that, we would like to thank you and we're open for any questions. Sure. Which one? Let me give you the mic. Sure. How hard would it be to integrate, say like, a ATH 10K for NICE, but not do it through USB? Like, I don't have Wi-Fi, but I don't want to use USB. So Wi-Fi is always a tricky one. I mean, because a lot of times when you're looking at a product, Wi-Fi needs to be placed in a particular area of your board for FCC purposes and for various other things. So yes, you can integrate Wi-Fi and I do believe that you will see more system and package devices integrating Wi-Fi, but there are some challenges about that because by putting Wi-Fi in there, it starts dictating where you might have to place the entire device and it starts dictating a little bit more of your form factor. And so that's, there's some challenges with that, but you will definitely see Wi-Fi in being integrated more in system and package devices. Temperature range. Temperature range. So basically your temperature range is whatever the components that make up your system and package device. For the OSD 3358, it's offered in both commercial and industrial temperature ranges. So zero to 85C and minus 40 to 85C. Like I said, it depends on the components. So depending on what type of DDR you get, if the DDR is industrial rated and can do as wide a temperature range, depending on the passive components, depending on the various dye. And so really the system and package becomes the subset or the minimum of what are all the components that make up the system and package device. And so it really depends on which components are integrated. And so that's, so you'll be able to see a lot of different temperature ranges. Now along with temperature comes thermal. And it's interesting because system and package devices kind of become a thermal average because everything's put together on a single substrate and they have a piece of molded plastic, which is basically a heat spreader. And so you end up getting a little bit of thermal averaging. So you won't see some of the dyes that would be hot. They aren't quite as hot. The dyes that are cool are not quite as cool. And so it kind of acts as a big thermal average. So you still will see hotspots over your processor and your PMIC and things like that. But it's not going to be quite as high or quite as low as you would have otherwise seen in discreet devices. All right, any other questions? Oh. What was the long-term availability? Oh, long-term availability. Well, that's that it really depends on the company. So I mean, I can only speak for our company, but we pretend we are committed to offering them for as long as Texas Instruments offers the AM3358. And we could actually potentially offer them longer because you can actually do lifetime buys. So depending on when silicon vendors end of life things, system and package companies can actually do end-of-life buys. And so they could actually offer products longer than particular silicon vendors because they're able to do some of these inventory management things. So. And speaking for TI, the AM335 has been around for a good long time. And it's going to be around for a good long time because it's a really, really, really popular device. So this particular one, I don't think you have to worry about it in any way, shape, form, or fashion. It's going to be available for a good long time. And with anyone, you want it to have a broad market, right? So it's nice or it's, the broader the market, the better the longevity. And because this is an industrial targeted part, it gets designed into a lot of industrial automation equipment and stuff. So they have very long life cycles. So it'll be still available in small quantities for a very long time. Yes. Wireless connectivity? So I'll let Jason. The question is, are we planning next generation pocket beagle with wireless connectivity? The short answer is no. For pocket beagle, we're not at this phase looking to integrate wireless on it. It's pretty easy to add it externally. If there was a SIP available that had wireless technology, I think we'd be very excited about using it. But we don't necessarily want to deal with that complexity on our own. Does that answer that enough? I think so, yeah. Yeah. So with that, both Jason and I have posters at the technical showcase. We have some demos, some cars, remote control cars, and some old school gaming for whack-a-mole, as well as you can come see kind of some of the guts of what system and package devices look like. So I definitely encourage you to come talk with us and we will definitely be around if you have any other questions. So with that, thank you very much.