 Computers keep changing the world, but their power and safety is limited by their rigid design. The T2 Tile project works for bigger and safer computing using living systems principles. Follow our progress here on T Tuesday Updates. Happy New Year! This is the 13th episode of T Tuesday Updates, which means there's seven weeks left to the episode 20 goal of having over a hundred of these tiles. The T2 Tiles manufactured and connected together in a grid. There's a lot of reasons to doubt whether we'll actually be able to make that deadline, but I haven't given up yet. I'm determined in these videos to keep it moving as quick as I can and avoid the tendency, the professorial feeling that I have to make extra comments and editorialize on every point and try to just stick to the facts and keep it moving. So here we go. The last week was the special Christmas rant that I let myself, well, because of circumstances, I needed to record the actual video a little bit early and then I just added extra stuff on the left-hand side so I actually tried to get it condensed down and summarize the picture once again from the outside. I think it came out alright. It certainly could have been a lot better. The early returns on the YouTube is that it's, you know, what marketing genius would decide to release something at noon on Christmas. It got a pretty slow start on number of views, but it's gradually getting up to the numbers that are typical for T Tuesday updates, but it's doing great on audience retention. I mean, if you've ever posted YouTube videos, like in the first 10 seconds you lose 50% of your viewers, but the Christmas rant for the actual first time for any of my videos, it actually has an uptick where instead of just steadily going down and bleeding away viewers actually a little ways into it, it rises up, which means people are either skipping to that point or more likely they're actually rewinding and watching spots again, which is very cool. I think it could probably do better. I think it could impact more people if we can get to it. If you have the awesome power of your social networks that you maybe not haven't used yet on the Christmas rant, the Christmas rant could maybe use your help. We'll see how it goes. Also for news from the Propaganda division, HeyNDX partly inspired by the Christmas rant, so it already did do some good, brought up the possibility of doing kind of live stream and having a conversation and discussing this stuff a little bit back and forth rather than just me going blah blah blah like these updates are. We're actually going to try it for an hour or so this coming Saturday at noon mountain time, which is picked so that hopefully everybody from Europe through, I don't know, the states can join in, which again, based on the YouTube demographics such as they are, covers pretty much our viewers. We have a little contingent in the UK and then most of us are in the United States somewhere. I'll be there. Join us if you can. There will be details getting developed as far as actually how to join in. You can always watch the live stream on YouTube, but if you actually want to get your face up in lights and ask questions and I would love to have you there, that's coming up on Saturday. We'll see how that goes. I'm very excited about that. From the manufacturing division, I got a quote back from ETS. I don't think this is news. I'm not sure it's since there's been a couple of weeks without actually focusing on the news. 1120 a board to do the assembly, that to put the surface mount parts on to hand solder the through hole parts, plus whatever it costs them to produce the stencil to squeegee out the solder paste. We'll see that in a minute. That's a little more than it was before, but I think there's just a different breakdown of the setup costs and the ongoing board costs. And I think that's okay. And that puts us on target for having around a hundred and small change, $110, $120 cost to me per tile. And counting time is zero. UNM has been on winter break, so I need to coordinate with them as far as because I'm going to be spending this gift money that I've been saving for all these years on getting parts and making a purchase order for the tiles from ETS. The goal is 150 tiles. So officially it's 133 plus a few for other purposes. I've got shopping carts at Arrow and Mauser that put together about $2,500 worth of parts that I'm waiting to pull the trigger on. We'll see how it goes. That's moving not as fast as it could, not as fast as I want, but it's moving pretty fast compared to how it's been going. All right. I got three more prototype boards that were the first ones for the actual tile board manufactured by Osh Park. And the goal was to, yes, do the reflow instead of trying to hand solder all those little teeny things. The idea is you get a solder stencil, you put it on, you squeegee paste over the whole thing, you bake it in the oven, you put the pieces on, you bake it in the oven. I gave that a try. I was hoping to put it together into a video, but I just didn't have time. So here are just some still pictures so we can look at it. This is the reflow oven in the back. These are just scratch boards that you use to make a little base. So putting down the boards to make room for it, taping them to the counter with this nice cap-on tape, which probably really didn't need for this purpose, but it's nice stuff. And the idea is you want to have a nice level surface so that the exact thickness of a board so that when you squeegee out the paste, the stencil doesn't flex at the edges. And using dead boards, of which everybody who does hardware has plenty, is a well-known way to do it. So here, this is what the stencil came in. The stencil comes from a different company. It's Osh Park for the boards. Osh stencils for the stencils. They're unrelated except they both say Osh. And let's see. So cleaning the stencil with alcohol. And now the big trick is trying to line up those laser cut holes in the stencil with the exact position on the PC board where the corresponding pads are that the solder paste is supposed to go. And these holes get quite small, and that registration is kind of important. So I realized I needed more support, so I put some more boards down. Again, more old boards get to see some previous generations. I mean, we've had more than 10 generations of boards, of which before these updates started, taping it down and so on. And so now basically you tape down the stainless steel stencil in one corner or on one edge, and you use it like a hinge, and then you slide the board under it. So now the idea is every place you can see a hole through there, it should be all gold color and no purple color at all. And that's the part that needs to be pretty critical here. I took a couple of close-ups. I got it pretty good. Pretty good. You don't see any purple. The problem is, you know, the tape could shift a little bit when you're squeezing the solder paste down and so on. So the solder paste, I got nice fresh solder paste. It comes in an injector. They gave me a solder paste spreader. I actually asked for it, but it turned out, and there's the solder paste itself. It comes in a tube. It expires in six months. You need to keep this stuff refrigerated, really. It's teeny, tiny little balls of, in this case, a lead alloy. It's not very good stuff. Part of what you pay the pros for the ETS guys is that they use solder that doesn't have any lead in it, which is even more finicky to work with, and I have my plate full dealing with all the other issues. So the problem is the solder paste spreader, they gave me isn't really wide enough to cover the board that I need to do, so I just use another board. Here I am just checking it out to see whether it'll work. Goo out a bunch of the solder paste, and you're supposed to get a continuous constant angle, one pass only. So here's my one pass, and you can actually, that little square in the middle down here, that's where the hole is in the board for the ethernet port to pop through so it doesn't squeegee cleanly. And then you lift up the hinge and you check to see how well you did. So now there's the board in the middle where all of the gold parts, they're supposed to have surface mount parts put on them are no longer gold because now they're gray because they're solder paste, which is just barely holding up. It's fairly thin stuff. And now the goal is to put all of the surface mount parts in their corresponding positions in the solder paste without ever brushing your hand against any of the things you're not supposed to brush against. So in fact you can see here that there is the gray solder paste and I missed the pads a little bit. You can see a little bit of gold around it, see a little bit of gold around it. And these things, you know, this is a significant error. There's just one thing that's there to help you and that is the solder mask, in this case the purple stuff, acts like solder repellent. And when this thing melts, it actually, like by surface tension will pull the parts into the correct position as long as you're close enough. It's really kind of miraculous when it works. All right, so these are now, I've placed all the parts and I'm sparing you an hour and a half of anxiety of placing each of these things using the vacuum pickup and so forth and saying don't rub your hand on anything and so on. From here it goes into the reflow oven. I actually have some video of that. So here's what it looks like coming out of the oven. And now all of the gray stuff is gone. It's turned into silver because it's actually melted. And we did pretty well. A good solder joint has that nice little ramp up and it's all shiny. This thing could have been shinier, but it's really not bad. And look at these things, all of those pins there, nicely separated, nicely, it's really quite magical. Again, looking good. The switches, the four feet for the switches are pretty good shape. Everything looks really pretty good. And that looks a little bit off, but again, not terrible. R14 did not get pulled into place, but I checked it and it's actually a secure soldering, so that's ineligent, but not an electrical problem and so on. Our light sensor, I made the footprint a little bigger. I'm going to make the footprint a little bigger still because you really want to have a little bit of the pad visible outside the component so that you can see that the solder was picked up nicely. But overall, there we are. And there was, you know, as far as I could tell, things didn't look too bad. I plugged it in. I powered it up. Things looked pretty good. At that point, I was starting to test it harder and I went up to the Linux level working with the packets, sending bits through the wire and the locking code where you can say, I would like to do an event right at the edge here and can I have the lock and neighboring tiles race with each other to see who gets to say, can I have the lock first and the other one has to then back off and say, okay, you can have the lock. And it's possible for them to actually race. But I've got code that's in there to deal with most of it. And mostly it works. And this was the slightly depressing thing that I mentioned three weeks ago, two, three weeks ago, when I was working on the previous tile, the hand-soldered one, that it was mostly working, but I was having some kind of issue in the southeast corner. This was also having an issue in the southeast corner. It seemed like I could send packets in and out of the things through ribbon cables around to the neighbors and it would all work. But when I would try to take a lock between the southeast corner and the northwest corner, the lock wouldn't go. I mean, it would look like it's sort of wood, so this S failed to reset and so forth taken to failed, give to failed and so forth is the hallmark of an attempt to do a lock negotiation with a neighboring tile, in this case, because it's a ribbon cable doing a lock negotiation with yourself didn't work. So I had to break it down and I'd spent quite a bit of time using print K's, which is like print statements, except they're for a kernel code to track what was going on inside it and try to narrow it down. And it really started to seem like one of the signal lines, the please, there's a mother may I, where you request the lock and then there's a grant where you say you can have it. So you assert, you request if you want to go for it, if the other guy says grant, if you have it, if the other guy doesn't, then you have a fight about it and so forth. It really looked like the grant line on the southeast corner was not just going up. It was supposed to go up once when the lock was granted, but the interrupt routine that was supposed to go when the thing caught up was recording it would be triggered multiple times, like dozens of times. And in the end, it was time to pull out the oscilloscope and the oscilloscope I have is one of the software-based ones. It's called a bit scope and the oscilloscope is an incredibly powerful tool and I'm not very good at using it because I'm a software guy, I resist using it. I will do all kinds of stupid things rather than drag out the oscilloscope when in fact, that's the exact right thing to do. So here it is. This red trace is the output grant lock signal which should have gone just from zero to one and in fact, it's going crazy. Like that. So I just started poking around, triggering it, seeing what was going on, getting all kinds of crazy behavior. I gradually put more pins onto the various places so that I could look at different more signals simultaneously. This green thing going up and down here is one of the clocks that they use to exchange packet data with each other and this red line that's going up and down and up and down in a relatively uniform passion is sending packet delimiters. A packet delimiter in this protocol is a zero followed by six ones and another zero which can only occur under normal circumstances as a packet delimiter. So that's all working pretty well. The fact that this clock doesn't look very regular is a topic for another time but it's actually okay. What's not okay is this little glitch right here and I was seeing it always related to a rising edge on the data line. When this thing was going up sometimes the grant line would glitch and since the lock stuff is based on edges, interrupts, this could be part of the source of the extraneous interrupts that were giving me problems with the locking. Long story short, continue to investigate it. Eventually I notice in the upper part of the screen you can actually measure analog voltages. This bottom source where there's the eight different colors, that's digital logic and eventually I said, well let's just look at the digital logic with the analog pin and here's the, so this is the edge going down right here. This is the same edge that we're seeing up here and it doesn't look that bad except it's got little bits of noise in it but then it's like, well one volt per division means that this is one volt, that's two volts, so this signal is like 2.2 volts and that's a problem. It's supposed to be 3.3 volts and that actually led me to figure out what was going on that there was really something, I went back under the microscope and said there's got to be something wrong with the chip, the chip got cooked or whatever it was and eventually, let's see, do I have it here? Oh, I guess I don't. Oh, that's too bad. A closer look under the microscope, two of the pins on the southeast driver chip had been joined by a little blabba solder. I took the blabba solder off, that glitch went away, now the locking is stable on its own and the packet circulation is stable on its own but there are interactions between the locking and the packet signals the clocking of the data which hadn't been tested before because the lock stuff hadn't been, the software for testing the locks hadn't been developed far enough so this is a new problem that the signal lines when the locks go up and down for requesting and giving the lock it interferes with the packet bits being sent around the packets, the packets get dropped, they get detected as failed and dropped but that means higher level stuff has to take over for it and yes, we're saying best effort we're saying the upper levels have to be prepared to handle that but that doesn't mean we just get to have the lower levels be icky and stupid and not even try best effort means best effort so we gotta figure this out I've spent time reading about signal integrity issues and all this stuff I'm gonna do one more rev of the board and I've made a bunch of changes to have the lines cross each other, run in parallel less and cross each other instead and a bunch of other changes to make it I think I'm gonna send it to PCBWay and see if that can set up for the main board run after because at least they can be pretty fast so that's where we're at this is scary if we can't get the locking and the packet transfer stuff working pretty much reliably that's gonna really hurt the performance at the next levels up and again on the one hand we're just trying to draw a line in the sand but on the other hand we'd like it to be a line in the sand that we can have fun with that we can see things moving around on the screen so that's where we're at the next update will be out in a week but there'll be the live stream this coming Saturday before that if you wanna join in it'd be great fun thanks for watching