 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. This is the 15th T Tuesday update. Let's get into it. Five more weeks to the episode 20 deadline to have 100 plus of these tiles out there being manufactured so that we can pull them back in, make a grid and start learning how to program on them. This week was frustrating in many ways and ended up being a master class in yak shaving. If you don't haven't heard what that is, you'll get the idea soon enough. I want to set the stage with a comment from my very old friend, Dick Hartzell. Beginning to think I'm watching a reality show like Top Chef, all these problems, soldering glitch, negotiating with China. I feel like they were thought up by a showrunner to goose each episode. Now, if anybody has an in with the showrunner, please tell them that the actors would be thrilled to have less speed bombs. I said that this is the time-worn recipe for a ticking clock plus failure equals drama. I expressed this in a slightly different way, but you get the idea. Deadline or no deadline, your dogged determination and MacGyver-like resourcefulness don't leave me in any suspense. This is what Dick says. Alright, let's see some dogged determination and MacGyver-like resourcefulness how it went this week. Before we get to that, the parts continue to roll in. The 90 LCD displays that we negotiated for last week are now in. They're sitting here. I haven't checked them yet. Supposedly at the office, I've got another 43 Beaglebone Breans, which gets us to over 150 for the build, as well as a whole bunch of PLA for working on getting the 3D printing going, and another task for this week, in addition to buying connectors and stuff, is to get the 3D printed going again. But the main event here is the situation with the board. You remember, all the way back to two weeks ago, we had the solder blob that caused everything to work crazy, that forced me eventually to drag out the oscilloscope, and even after I diagnosed and fixed the solder blob, there were still these glitches that sometimes when a signal would go from low to high, neighboring signals that I was also hooked up on the oscilloscope would get these glitches in it. And I tried to fix them. Well, again, we had the story of trying to make the signal integrity better by making a smoother ground plane with less breaks in it, and by rerouting traces so that they would cross or avoid each other if they were involved with high-speed clocks. This was the resulting board, sent it off to PCBWay. They arrived Wednesday a week ago, this last Wednesday, right after the previous T-Tuesday update. They came in a very nice Christmas box, and they even had a little Christmas snowman that they threw in for free and a battery holder so that you could solder it all together. So I figured, what the heck? All you got to do is thread the two wires through the two holes and solder them and cut the wires off, and you have a little Christmas gizmos. So I did it. I figured out that the wires coming out of the battery holder were made of much sterner stuff than normal through-hole capacitor resistor wires that you clip off. And in fact, I ruined a pair of side cutters trying to cut them off. These are not serrated. That's what happened from trying to cut through the battery lead wires. Merry Christmas. But that was just the beginning. The boards themselves looked pretty good. And in fact, I like the blue. I think I'm going to go with the blue for the big order. It's not quite turquoise, but it just seems to kind of like it. And it has that fine-pitch ability that it's hard to see here that it actually can work down in between each of the fine-pitch little solder pads, which the black stuff that Seed Studio, I asked for black from them and they just went ahead and did it. This kind of goes back to the Christmas rant. A little bit. PCB way was a little bit more of a system of systems relationship that they pushed back with their own expertise. Seed Studio just did what I told them. The PCB way silkscreen, which is not actually done with silkscreens, kind of done with an inkjet at this volume, was not the greatest quality. There was, you know, little blurbs of stuff, you know, but okay, I can deal with it. I did the same old thing with the reflow and the goo and trying to line up the mask as well as I could. Did the squeegee. Did a pretty good job. Hit pretty well. Not perfect, but better, I think, than the last one, although I completely, partly, this was near the beginning where I was starting to squeegee and I guess I hadn't gotten to enough even-paste, so I had a whole miss, a little teeny bit there, but I got a toothpick unless some leftovers that I just kind of gooted up and hoped for the best. I smeared U7 when I placed it down, so this is scary, but that's where the solder mask between the pins is supposed to magically save us when we put it in the oven and we see. Now, I had some weird behavior in the oven that, in fact, the board came out literally half-baked. Part of the board was all nice and shiny and other part of the board was still gray. I had to spin it around and put it back in for another go like a pizza. I need to work on my time and temperature profiles, but in the end, it seems like I didn't overcook anything enough to kill it and it looked pretty good and in fact, it really does look pretty good. Since I've committed, if not, I haven't got a contract yet, but I'm committing to saying we're going to try to work with ETS so designed and assembled in Albuquerque, New Mexico. And like I said, I kind of like the blue. So, but the point is to get it connected up and see how well it works and I did that immediately and it didn't work any better. So, you know, here's the thing where I was using my little script that sends packets in all six directions at once, a bunch of them and then gathers them back up and checks off to see that it matched all the ones that it had and they were the same as when it sent it and so forth. Since 61.50 received 61.60 error zero over or on zero loss zero. That's what the way it works normally. Here's another run exactly the same except I messed with by hand sending some commands to the locks to grab locks and release them and now since 61.50 received 61.36 14 packets lost and that was pretty much exactly what was happening on the previous board. So, whether the effort to get a new ground plane and to improve the layout actually helped or not is unclear. I think it's probably better but there are questions. Hopefully there'll be time to come back to that but it didn't solve the main problem. There's still losing packets. So, I had this one other idea I mentioned to briefly before that there's this, you know, you focus on the communication lines when you're sending high speed data and see I didn't even think I was doing really high speed data. I was doing stuff at the low megahertz really if anything and not like many hundreds of megahertz or gigahertz or any of that. So, I didn't think this was going to be a problem but there's all this lore and knowledge and electrical engineering information about how to make communication lines work well and it's a very well-known, a very well-studied field and something that real pros know all about and I don't know anything about. So, without actually trying to go through it in any too much because we can't take the time but this is from an application, a Texas Instrument Application Note. The triangle is something that's sending a signal out. The cylinder is meant to represent all of the signal traces, the wire, the copper, whatever the signal is supposed to go through on the way to getting whatever it is. This RS is a series resistor and basically the thing is when you shout, when you send a signal into a wire, it's like shouting into a canyon and it can bounce off the far wall and come back. One, one, one, one. And if you put a series resistor and this is my simple-minded way of understanding it, it kind of lowers the volume and if the echo comes back it has to go back through the resistor again and just putting a little resistance in the circuit makes the echoes die out much, much more rapidly. And you can use relatively low resistance and still get a lot of this damping effect. Now, when the lines are only going in one direction, you have a driver on one side or receiver on the other side, you're supposed to put the series resistance near the source but if I was going to do that because all of my connections between tiles are in one direction, I have four going in one way, four going back the other way, two for lock and two for packets, two for lock and two for packets. But if I was going to try to put it as close as possible to the source, I would have to mess with the board layout, not just to stick a light sensor in a corner but to redo all of the six ITC layouts, which I just don't want to take the time to do, given that I don't even know that's the problem. But resistance is supposed to still have a damping effect even if you don't put it maximally close to the driver. So I say, well, what if we don't put it on the board at all? I mean, we have these intertile connectors as well. It's got a little 3D printed tab on the top and then this thing on the bottom is an actual tiny little circuit board connected to these two 2x8 keyed headers. Maybe we could put some resistors on here somewhere if they were small enough and attenuate the signals as it went through even though we don't have to change the board. So we could use something like perhaps this thing the the recipe for this particular task is a resistor array. And this is a single chip, a single teeny tiny little chip, this particular one that has eight independent resistors on it. That's what we need. We have eight data signals, eight resistors. So I did I went ahead and I designed a new intertile connector board that has this eight resistor array in the middle. This is what it would look like in the 3D mock up. The lines now work their way to just the data lines, the power and ground and the stuff that doesn't need to be handled. Switching just goes straight through as it did before. And in fact we have a sample of these boards now off at Osh Park that have been sent to the fab and they're going to come back to us sometime in the future. But I can't wait for that to come back. I mean this is really very simple, right? It's resistors in the middle of wires. I should be able to just hack something up to try the idea out to see if that's the problem before these things even come back and try to do it right. Well, you know, it was Saturday, the place that I get components from is closed, so I just went looking through my old collection of stuff that I've accumulated over the years and I found that I did actually have a bunch of 100 ohm resistors because I was looking for low value. 100 was the lowest one that I had enough of, more than eight. And you know they were allegedly supposed to exist in Row 1, Bag 3, Item 17. Well, and here is Row 1, Bag 3 and in fact, wow, it actually worked for once. We had 100 ohm resistors that we could use. Now the idea was I'd get a little perf board and I'd mount mail headers on it. I'd put the resistors in the middle and put another mail header on the other side and solder the whole thing up and it would be a nice little adapter thing. According to the database, I had a perf board in Bag 12 but Bag 12 was AWOL. Well and I saw, alright, but I thought about it some more and I said, well if you just need some mail headers that would connect to holes that we could solder resistors into, well I don't know, use an old dead T2 tunnel board. I got zillions of those and it's got the headers that we need, it's got the pins that connect to the microprocessor. We can just put some connectors in here so I said I found a little bread board so that it would be even more flexible so we could hop the resistors in to change them. If we needed to change the value it was 100 ohms right, who knows. And I found some old 2x8 headers. I figured I'd stack them next to each other in the microprocessor holes and then I could just plug it all in. It would be super flexible but no. I soldered in the first one. The next one doesn't fit. That's not the way these particular headers work. Well but I also had some single row ones and I figured you can pull pins out and then cut them with the side cutters and make two rows by hand so I figured I'll just take the one out that I already did and use this stuff. I didn't have this much of the one single row stuff but I thought I had enough to make it work. Well getting a header out once you soldered it in is not easy. If you try to do it with the soldering iron you heat up one pin. You go to the next one the first one freezes up again. So this is where you want to use hot air. And hot air reflow, hot air rework I have a hot air rework station that was mentioned a few weeks ago. Hardly ever use it figure hey, natural time. How hard could it be? You know you just sort of turn the temperature up it's like the super little concentrated hair dryer and you kind of work the whole area to soften it up and then pull the thing out. There's my result. This is shaving yaks. Sub-goal after sub-goal after sub-goal that's actually supposed to achieve something in the end. Drama plus incompetence equals. So I started all over, did a whole another one. I used some of the one by twos and some one bys to put it all together. I made a nice little label thing I labeled the thing so I could tell what the pin numbers it was. I was very happy this was all working and then I realized the whole idea was completely bankrupt. It wasn't even close. Why? Because the pins that connect to the connectors on the edge of the board are not directly connected to the microprocessor pins. There's no connection there. Why? Because that's what the buffer chips are for. The buffer chips go between the connectors and the microprocessor pins. So I was trying this thing and I was going in with the multimeter and I wasn't getting continuity. Why? Because the buffer chips weren't there. Could I put the buffer chips there? No, it requires the whole circuitry. This whole idea is busted. But once I got this far after getting over-pressed again I mean this was a tough week in some ways. I said well if I was going to use female headers to stick the resistors in anyway then why couldn't I just make ribbon cables that both had female ends that were going the opposite direction so they were pointing up and put them into some kind of little frame some kind of little holder so that I could then jump the resistors between them and just forget about all this T2 tile circuit board stuff. So I made up a couple of ribbon cables that went down at one end and went up with female at the other end and I said jeez it looks like they would almost fit in the hole for the ethernet here and I stuck them in there and they actually did and in fact I couldn't get it out. So okay so now it's like well let's just get rid of the extra board and use the ethernet hole from the circuit board as the holder for the ribbon cable headers and so here it is the two ribbon cable headers it looks like it's going straight through but those are two separate headers in the ethernet hole and I am in the garage with the Japanese draw saw cutting fiberglass also known as shaving yaks shedding fiberglass dust all over the place which is all terribly horrible toxic it was also taking a long time so eventually I switched to the world's rustiest pair of tin snips and it actually went fairly well I cut the whole thing off and I actually made a thing for it there it was and I built up eight series resistors 100 ohm resistors plus through wires for the ones that didn't need it and good news it actually works in the sense that I can send packets through it so the 100 ohm resistors are not too much resistance that they mess things up bad news still losing packets still not making any difference so after this I said well what is going on here and I spent about I don't know eight hours or so working up a much more automated process for testing that would do the packet sending and the lock fiddling automatically instead of me doing it at the command line and it gradually got more and more ornate and got command line so I could try things and this was the real smoking gun when I send out packets of length 111 sent to 1008 received 108 packet length 112 sent 108 received 108 packet length 113 sent 108 received 984 this is with locking happening all the time through all of those three cases it's not just the locking and the long and short of it is that as far as I can tell now number one the board is fine number two there is a race condition in the software that if the packets get too long you can just barely make it through in many conditions but if something else gets into the kernel and the locking code runs in kernel space because it needs to it can cause things to go late and that's why packets are getting lost my guy ever like resourceful and so but that leaves one other question what about these damn glitches those are something right so I looked around more and you know what look at this when you set the trigger to what you want to record you have to define what counts as high versus low and I was counting zero volts as being the threshold so this thing was acting as if it was a digital one spike but in fact it was tiny and it was only because I set the threshold so low that it looked like a glitch at all once I set it to 1.85 volts something like halfway between zero and 3.3 which is the level the glitches went away based on everything I can see the board is good so the question is what do we do now I think both the new board that I got that I did with all the ground plane reworking I think is fine electrically as far as I know I think the previous one is also fine electrically which one are we going to pick the new one I tweaked parameters a little bit which scares me a little bit if I go back to the old one I'll have more default parameters but on the other hand a lot of the layout was better in the new one which is it going to be I don't know my goal is to order it before we talk again the next episode will be out in a week thanks for watching