 Computers keep changing the world, but their power and safety is limited by their rigid design. The T2TILE project works for bigger and safer computing using living systems principles. Follow our progress here on T Tuesday updates. I'm Dave Ackley. This is the fourth update of the T2TILE project. Let's get into it. The goal for this week was to get my brain started up again in the hardware, which I worked on a lot in 2017, but then kind of stopped when I was school started in fall of 2017. And so now it's time to get my brain serious about that again. I was supposed to do this last week, so I'm supposed to show my work this week. I'm going to try that. I don't know if I'll do it again, but you can see what you think. Let me know. I also redid the title sequence a little bit. You know, I got a ringtone for T Tuesday updates. Goals going forward for this week is one of the things I want for the tile that I don't have is a light sensor. So you can kind of like wave in front of the tile and it could be aware of that in some very primitive sense. Finding out circuits, how that might work components for that is something that I worked on this week and would like to actually have some circuits put together and convince myself that it's got a chance of working where it's really hopeless. And it will be super if we could actually order a new Rev of the tile board itself. But first, it's been three weeks since I started the T2 tile project and started putting up these videos and the world has answered already. It's great. Andrew Walpole has made a JavaScript simulator at MFM rocks and it's just there. You can just go type in MFM rocks and here you are. So the demo that he does, which is seems very nice. Let's see. Let's make a capital Z for a big box. Oops, it ran into the edge. I don't think that matters. Inside we'll put in some S's. There's some S's and now we're going to make some nasty fork bombs that are going to try to attack everything. Oh, it's destroying the wall. No, because the sentries go crazy and they put out this anti fork bomb that surges in a sort of an inflammation reaction. And until it wipes out the fork bombs. So this is this is this is this is just what we need these kind of basic dynamics, you know, notice how the one the wall gets destroyed. It doesn't stay destroyed because it's actively being rebuilt by the masons hidden inside the wall. And this is sort of assembly language for robust spatial computing, these basic kind of mechanisms. And you know, does it make any sense that they're constantly fighting with each other? Well, in a way it does because robust systems are continually rebuilding themselves. If they're continually rebuilding themselves, they must be continually taking themselves apart somehow or else they would take an unending amount of space all the time. So so this this is really super great. Check out mfm.rocks if you're a JavaScript person, you know, maybe you could even find some way to help out that would be great. The the code base is there to be forked. I actually forked it. I wrote my very first JavaScript this past week as well. Okay, so. So last week, go get kikad. That's the software for designing schematics and circuit boards get refreshed my brain succeeded that get new Gerber files ready to send off for the design didn't quite get that far. But I don't feel too bad because I definitely got back into kikad kikad. I don't even know how to say it, which we will see in a moment. In the end, I did manage to get the edges of the board redesigned so that instead of being these little little notches, they're going to be holes that you can mount like brass hexagonal spacers into and so on. Changed electrically inside ordered some parts that could perhaps be part of the light shadow sensor that I want to do. And if all goes well, some of those parts will have arrived before you see this today. We shall see next week. And all right now show my work. How am I going to do that? Well, what I did is I made a shell script that did a whole screen grab every 10 seconds for like the last four days or something like that. And and here it is. And so I've selected a bunch of the frames. The first thing that you see is I'm constantly talking to myself by writing in an Emacs buffer. This is the only way I have any idea what's going on. Here I've just decided that I'm going to stick with the old version of kikad 402 that comes with Ubuntu 16, which is what I'm running, rather than using the cool new one because I'm afraid of cool new ones. And then off we go. So here it is. This is the schematic as it looks. It's hard to see what there's tons more of it. The spot over here is where the Beaglebone Green gets plugged in. These areas here, these six areas are the drivers and buffers, the circuitry for each of the directions east west, northeast, northwest, southeast, southwest. We've got stuff for controlling the display and turning the power on and off there. One of the problems with these cheapo displays is you can't actually turn off the backlight without turning off the whole display. Power circuitry and miscellaneous sensing, temperature sensors, and so on. We'll see all this momentarily anyway, so we really probably shouldn't be stopping right here. All right. But the schematic itself, yeah, this is a nice thing. You can compile the schematic when it runs a whole bunch of checks to see if it is. And it makes all these scary warnings that turn out to be mistakes, just like regular programming languages. For software guys, sometimes the compiler gives you warnings that you're actually supposed to ignore or you have to suppress somehow. Same thing happens here. It gives you these things and are you sure this pin doesn't want to be connected to something? And you look and you look and you look and think, yeah, it is connected. And it turns out that, yeah, oh, you're supposed to ignore those. And, you know, sure, I understand that in software, but I'm a newbie in hardware. Very aggravating. So yeah, so there were the things and you just have to get used to them. But that's not all of it. We also have to actually lay out the circuit board. This does not happen automatically. And so there's a whole other thing and you can see the corner notches that we want to get rid of and replace it with mounting holes. One of the nice things about the whole circuit board thing is that you can do a 3D rendering of it. I drew a picture of what I'm looking for, a nice rounded edge and then a nice relatively hefty, this is for an M3 metric three millimeter. I think that's what it means. Bolt to go into each corner. And so we just need to do that. How hard could it be to do that redesign? So that's what it would look like with some strange colors in the 3D viewer. And now we're back in the circuit board layout. And you can also run the compiler on the layout. And it also comes up with warnings that you have to learn to ignore, which is very scary. But in this case, I've been getting these warnings for a year and a half and I've manufactured the board several times and it just doesn't seem to matter. So I think now we actually, oh yeah. So I also spent time trying to figure out about how to make this light sensor work. Get a photo sensitive thing, a photo diode, a photo transistor, a light dependent resistor. There's of course a million types of components and a million possibilities for each of those components. This is a photo diode in this schema in this circuit. A photo transistor works quite similarly. So I spent a lot of time wandering around the internet reading websites about Raspberry Pis and so forth and reading data sheets. This is your lot in life, especially for a software guy lost in hardware land. These things are completely baffling. Short switching time. Typical 5 nanoseconds. Is that good? Who knows? Do I care? Who knows? But it's a feature. And so on. It turns out the feature that I actually really should care about here is this wavelength range 750 nanometers to 1100 nanometers, which turns out to be including the infrared. Do I want the infrared? Who knows? But a little bit more searching on the sites. And oh, there's a cousin to this thing. It's almost exactly the same, except it's got a clear case instead of a black case. And it has a different range of light that it's sensitive to. So I write more notes to myself. I look at these things. I wonder which one is the cheapest as long as it's in stock. And eventually I say, well, you know what I would really like is a sensor that was similar to the human eye. So if the human eye sees a shadow going across it, maybe the thing will see a shadow too and it'll be less surprising from a user experience point of view such as it is. Well, so that should be green because human eyes are super good at green because the color of chlorophyll is green and the universe that we grew up in is all kinds of greens. So Wikipedia says green is 560 to 520 nanometers. So that's at the small end of all of those things that we were seeing. So we do some more searching and so forth. And eventually we find out, oh, here's a thing, the SFH 2716, that has a spectral range of sensitivity 350, much lower than the other ones that we were looking at. But look at this special feature adapted to human eye sensitivity V lambda. Oh, that's what we want. And now we know about that. And it turns out, you know, there are a few other ones that are also adapted especially for. So this one, here's another one, spectral response close to human eye. Since the whole point is to detect what a human would see as a degree of light. This is what we want. So now we're looking for something like this. So, yeah, I'm also easily distracted, especially when I don't know what to do next. The good thing I do when I'm distracted is I write notes to myself in my Emacs Buffer. The bad thing I do when I'm distracted is everything else. Now I've finally gotten down to it. I'm going to try to put nice little arcs on the corner instead of those beveled, those knocked out corners. How hard could it be? Of course, it's hard. I get some completely, completely baffling error. Oh, there I was playing with MFM rocks because I was cranky. And, you know, same thing. I have to go watch some YouTube videos about how to make mounting holes. And eventually, okay, I was doing it the wrong way and I actually make a mounting hole. There's, you know, how much space do I need around a mounting hole? Well, I guess it depends on how big the mounting thing that's going to go on top of it. Well, so we look at these things and the M3 spacers brass things from AliExpress or from U.S. manufacturers. They're around 4.7 millimeters on this. But that's the short side. The hexagon has the long side. Well, that means we can figure out from a hexagon calculator how much space we need. We need something like 5 plus millimeters of space around it. And so we can adjust the hole big enough so that it seems like they'll be able to screw it in without actually hitting anything. And now I'm doing the nice rounded edges. How hard could that be? Oh, my God. So here I'm just, you know, making them using the arc tool and just kind of fitting them by eye because I'm a happy camper. And then we'll go into the 3D viewer and see what it looks like. And everything will be incredibly wonderful. But no. Yeah. And now we're unable to find next boundary segment. What does that mean? Who knows? Google it. Well, of course, it means you didn't actually get your edge things all lined up perfectly because, you know, this is something that eventually a drill is going to have to follow this edge. So it all has to kind of be connected inside Kaikai's brain. So, okay, I'll make them closer. Not good enough. I'll make them closer still. Not good enough. No, no, not good enough. You're just not good enough. And other people have had the same problem and they say, oh, yeah, our arcs are kind of a difficult for edge cuts. And the symptom of the whole thing is that every time we look at the 3D view of the board, it's got horrible square corners that are going to poke everybody and be a big pain in the butt because it was. Unable to figure out the edges. Eventually I figure out that each error message gives me an exact floating point X, Y coordinate, which is where the thing missed. And I can actually pull up another menu entry and type in where the thing is actually supposed to be in X and Y. And they actually will can line up and I end up going all the way around the thing, the way around the thing. And it still didn't work. And why didn't it work? It didn't work for a different reason. Something about keep out, whatever it was. Finally, I figured out I had to move the whole out of the way and look at this. Oh, yeah, there's a little bit of edge floating there. How did that get there? That's a little bit of the leftover edge from the beveled off corner that was hidden by the hole put on top of it. I go erase the thing and do the same all the way around the thing. Still didn't work. Why? Well, eventually I find there's a PCB graphic line of length 65,000 of a millimeter right there. That's on top of another one. And so once we get rid of it, then our board finally has rounded edges. So that was several hours of true joy. Software guy lost in hardware wilderness. But I will take it as success nonetheless. There's a bunch more stuff here. We'll have a little bit of time. Eventually now, the realizing that the problem is that I'm worried that these photocell circuits, these transition photodiode aren't going to be sensitive enough. And so I'm going back and forth between worrying about the holes and worrying about the light circuits. And what did we do here? Oh, yeah. So, right. So this is worrying about the holes. And in particular, you know, when this thing was originally designed, the idea was it would just sit on a table like a bunch of them. But I was talking to a guy who in the School of Architecture, you know, architecture, architecture at UNM. And he said, well, you know, it would be a lot more interesting if you could put it hanging on a wall so that people could see it. And that's really true. But then that means that that's in fact what sort of motivated this whole redesign of the holes for it to be more robust so that you could mount it and it could hold its weight and it could hold the weight of a grid. And so figuring out some way to allow that to be anchored in a reasonable way is a major goal here. And so eventually I started realizing, yeah, you know, well, I don't actually have to have the mechanically connects to each other. We could have like an acrylic sheet that would go underneath a bunch of them and they all would screw into that and that would become a next bigger unit. And then we could sort of have mounting holes between the acrylic sheets to go bigger scale from there. So then we just need a good mounting base for a given thing. And so if we have an acrylic sheet, we put a hex bolt in through the bottom and then a sleeve on top and then a thing coming down from the top through the 3D printed case. It seems like it might be pretty reasonable at that point. I took a little break. Yeah, okay. Once again, easily distracted. And now we're back to worrying about the photo cells and it really is starting to look to me like the photo cells that I'm going to be able to use aren't going to be sensitive enough. Unless I have an amplifier and I don't really want to do an amplifier. So I was thinking, well, maybe I could do one of these touch sensors, a capacitive touch sensor instead. Although in quickly looking at it, it looked like they wanted a lot of metal to make the capacitive sensor reasonably robust. There's a guy from SparkFun. But I did, SparkFun did lead me to a different photo transistor that claimed to have quite a bit of sensitivity. And in fact, this TEMT 6000 is some of the things that should have arrived by the time this video is up. And we'll see. Maybe there'll be enough lumens, light, candle power, whatever it is to actually detect a change in a passing hand over the thing with the given room light we'll find out. But need to stop. The last thing that happens here is I actually do a bunch of rerouting and so forth just to actually make room to put one possible light sensor down onto the board. You know, you look at the board, it doesn't actually look all that crowded. You know, there's plenty of areas that doesn't have any footprints, any little things expected to have components there. But you look inside and wires are running in every direction in the middle of the board. The subway system in here is really complicated. The pink and the yellow traces, those are the copper that's running in the two layers hidden in the middle of the board. And whenever you have a component that has a hole, a leg, a wire that goes all the way through the board, you can make room for that on all the layers. The good fact of it is, of course, is that you can then connect to that leg from any of the layers, no problem. But the bad thing is, is that none of the layer, you can't run another component go by. A lot of these modern components that just stick on top of the board, stick with solder on top of the board, you can have traces running in all crazy different directions like subway lines running underneath that nobody needs to know. Now, of course, if you're being super high frequency, super low power, whatever it is, you might care about what's running underneath the thing. One of my ground rules for the way I'm playing hardware is, no, we cannot care about that. We're going to be going low enough speed, high enough power, everything. That if we have to do anything heroic and engineering, we are not going to do it. We're going to redesign. So finally, I get around to actually working on the schematic and putting in one of these light sensor circuits that actually seems potentially possibly true. Who knows? We'll find out true in the sense of it might work. And then we'll take it from there. And so I don't even know that we really need to see the end of this. It's just, you know, moving all these traces around. I mean, it's a little bit hypnotic. I mean, it's kind of cool to see. We still have errors. All right. There's our new components that we're adding in a new resistor and this photo transistor. All those white wires there, they're called air wires. There are things which have yet to be routed so that if you were to make the board, those things would not work because they're not connected. And that seems why you got a lot of work there, Dave. Well, except that some of those air wires are fake that actually they're warnings, but some of those are real and they have to go away. And so, you know, so you fuss with it. One of the things that blows my mind about circuit boards when you get down to it, it isn't really programming. It's drawing. It's, you know, you couldn't make the copper traces all those filigrees and beautiful illuminated texts like, you know, medieval monks putting pictures with gold filigree in the leaves of books. You could do that in circuit boards and as long as A connects to B and so on and so forth. Again, if you're not worried about super high frequency stuff, it works fine. And so, you know, my traces, a lot of them aren't that straight or they have stupid extra bends in them and so on and so forth here. I'm making room now. So I'm moving a whole bunch of holes and traces around to make room so that I can get the photo diode in there. And then it just works. It's actually a drawing. It's four drawings for each layer that get photo exposed to do it. And, okay. So that's it. Let's stop. The upshot of this is we are close to having a redesigned board, the T2-12-18 board, I believe it is, that will send out. I don't know whether it'll go where it's going to go right now. I mean, I've tried a couple of places in China. I've tried Osh Park in the United States, but Osh Park isn't really great for four-layer boards. They're better for two-layer boards. Mostly it's just kind of like a lot of turnaround time. So we'll see where we're going. And it's been a long time since I saw it. I don't know what prices look like and so forth. And we're almost close to having a board going out. It would be great if we could get a board order going. And there it is. I think that's the end of what we had. So that's showing my work. It took a lot of time, but if you haven't seen hardware design, well, number one, don't take this as a good example, but number two, you get a little bit of a sense of what it's all like. And of course, you know, this is me starting from zero two years ago and just learning this stuff. All right. All right. Just let's do one question, because Andrew Brown's question has been waiting for three weeks. Andrew Brown writes, I am well, Dave, and well aware of similarity to biological systems. The computer architecture is required as a stepping stone, not just for living computation, the stuff I'm working on here, but for living hardware itself. Where does living hardware fit on your timeline? Or is it so far out? We're only concerned with the first stage so far. So living hardware, we're talking about, you know, like growing, like actually like green from chlorophyll and stuff like that, you know, actually made out of the same kind of stuff that we are in the artificial life research area. They talk about three kinds of artificial life. Hardware software and wetware. Hardware is robots. Software is mostly this kind of thing, although what the T2 tile project is really a hardware-software combination. But the third point, which is kind of what Andrew Brown's talking about, is wetware, where it's actually made out of chemicals that's managing its own metabolism. At some point it's reaching out and getting sunlight or eating nasty, unpleasant things that we don't want there. Anyway, I don't know. I agree, Andrew, that if we imagine taking, you know, the traditional, deterministic Vanoia machines and extending it all the way to biological computation, it's not going to be a good fit. And the stuff we're working on here, the low-level, small, robust spatial components that play well together to make bigger assemblies in space and time. Yes, much better for the future wetware. But I don't know how to do it. It's not my area of expertise, and it's going to take, it seems to me, a ton of work beyond the living computation stage. So you answered the question, essentially yourself, that it's, for me, it's so far out that I'm focusing on the first stage. Because hardware, as we've seen, is just about at the limit of what I could actually learn to bring in my skills in software and software design. Thank you for the question. Sorry, it took me so long to get to it. We'll save everything else for another time. The next update will be out in a week. That was too much hardware, but we get the idea. Thanks for watching. We'll talk again.