Home Automation Hangout 2020-12-13

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] yes [Music] good morning superhumans first i acknowledge the traditional owners of this land i pay my respects to their elders past and present and to aboriginal elders and peoples from other communities who may be taking part in this live stream today so today we have a bit of a task ahead of us and you can keep me company let's switch to that view if it'll change come on there we go okay so this is video from my phone oh and also a a little warning i didn't get to sleep until about four o'clock this morning so right now i'm surviving on caffeine and good intentions so we'll see how long the good intentions last the caffeine will probably hold out but we will see so these are boards that actually ran through the tester yesterday but that's not all of them anyway i should back up a little bit i'm getting ahead of myself what is going on all right um so uh see on yeah it was a terrible plan to build a mini factory all right so where what are we doing today folks i had actually been thinking about skipping this live stream because i've got a bit of a time crunch going on with testing all of these boards those are the those are some of the boards there that's not quite half of them and those are the ones that have been through the test process already and uh so the back story is that these are conference badges for linux confereu 2021 and many of you will have seen these on the live stream previously they look like that and if i switch to this view it looks like that so it's an electronic conference badge and it has a lowland 32 light on the bottom so it's got an esp32 on it there are a couple of 128 by 64 oleds and they are mounted over buttons so the oleds can be used as touch screens essentially you push the touchscreen they push the screen and it clicks the button same as like the free deck trick which is really really cool and it's got spots for lanyards up the top so you can use like j hook type lanyards two of them there or one in the center and it has these headers on the side excuse me it has these headers on the side for add-ons oh that's something i didn't think about preparing to show you add-ons add-ons oh here we go we've got some add-ons so i'll bring over a couple of these here are some others these little headers up the top here the six-way header sao simple add-on are designed so you can plug different things in and it has ground 3.3 volts i squared c and two digital i o lines like gpios and then you can make things like little add-ons you can put your own circuit onto here and make an add-on so you think of it conceptually as kind of being like an arduino and shields except that it's a conference badge and then bling and the bling can be something pretty like this designed by so this pcb was done by andrew nielsen from the local hackerspace and that's so cool i love this one so much and it's symmetrical it's got the pcb batch number on the back but if we put it over this way that plugs in and then we've got a little tux and crystal tucks attached to the conference badge so uh yeah so the open hardware mini conf team this year has been working on creating these badges for lca 2021 and we are about at our shipping date approximately because we have to allow for shipping uh i'm losing track of which ones which okay that one i'm doing things that i shouldn't which is moving them around without paying attention to what's what and possibly mixing things up so what we need to do is get these tested and firmware loaded onto them and post it out to a couple of hundred lca attendees and i've already talked about this a bit in the past i'm not going to go into that in great detail today because what i need to do is get through testing a whole bunch of these so that they can then have their final firmware loaded and they can be posted out over the next few days and that way we can be pretty sure that they will arrive before the conference starts which is latest january it's like 23 to 25 i think of january or 21 to 23 something like that uh so we've got the christmas shipping period and we need to get them out now there were a couple of failures in different ways that we found one was there was a very high failure rate on the oleds and i've i've talked about that in the past so i ended up testing every single oled i've tested more than 700 of these now before they were soldered onto the carriers and we also tested every lowland before it was soldered on because we didn't want to go to the trouble of they say you've got one failed display and you've soldered everything together then effectively you've also sacrificed the other display and the lowland because taking these off and re-working them is quite painful better to discover you've got dodgy parts before you start than after you start but the actual point of what i'm going to be doing today is the testing of the final assembled units so this is the last line of defense i suppose it's the last chance we get to test the whole thing as a complete unit before it gets posted out to someone and we want to make sure they work and so once again i've talked about testing in the past as well but today what i'm going to be doing is going through a um a whole bunch of them and let me just find a url because there are a couple of other things that i really should talk about in relation to this all right so if you're coming along to lca and by coming along i mean attending virtually and you have an interest in open hardware you really should submit a talk here we go we have four mini cons let's uh i'm just finding a um all right i'm going to drop a url into the chat this is the link uh make i said so it's a virtual fair yeah kind of so linux conf au is a one week conference that happens every year in a different city around australia or new zealand but because of covert the decision was made that lca 2021 which is in january is going to be online only so it's going it's shrunk to a three-day event over a weekend like an extended weekend instead of the usual five days and it's all online which is it's the first time it's ever been done forced by circumstances but i think this will be really interesting because it's going to is going to lose a lot of the things that are great about lca but it also adds things that that haven't been possible before like bringing allowing people to participate when they couldn't necessarily travel to australia for a conference so it might be a good opportunity for people who wouldn't normally be able to take five days off work to travel to australia for a conference maybe they can they can come along and participate online it might make it a bit easier to access for a lot of people so it'll be very interesting to see how this all turns out and it puts some challenges in place in terms of how the open hardware miniconf in particular can interact with people because traditionally we do a hardware assembly session at the start of the conference and people get a chance to learn how to solder if they've never soldered before but we can't do that sort of hands-on thing and this year the first year the the conference team have decided to go for an electronic conference badge so we're using this as a bit of a an entryway and a focal point for people that are interested in hardware so they can get the conference badge and they can hack on it themselves if they want to and hang on no i've got an android tablet in front of me and for some reason it's listening to what i've been saying and it's just come up with some search results on some random thing uh so um the the conference badge is uh it's a way to provide a focus on a project for people to work on and we're also hoping to use it as a way of overcoming the barrier that's put in place by having people distributed and not all in the same venue we want to try to figure out ways to use the badges as a mechanism to communicate between people so that's one of the reasons that we wanted to have screens on it so we could do things like send messages the badgers will be able to use mqtt so we can pass messages between badges you can set up batch to badge communication or we could do broadcasts or whatever so there are lots and lots of things that could come out of this so it's um even though covert has thrown us a curveball and we can't have lca in person in canberra as we're expecting to this time we're taking a bit of a different approach and uh yeah the there is like an interim lca team so and lca 2022 is going to be in canberra and that's what was going to be lca 2021 basically that the program has been pushed back by one year and there is now this interim online event for lca 2021 so that brings us to today's task uh i have a big spreadsheet with a list of people who have signed up for lca and i need to post badges to them but that url that i posted in before all right getting back to that if you are attending lca please think about submitting an application to do a talk at the open hardware mini conf and we're going to have slots that are 15 or 20 minutes so it's not they're not like 45 minute talk sessions it's not a huge burden to prepare a full-length talk you can it's like halfway between a normal conference talk and a lightning talk and i think most people if they've got a project or an idea or something that they are enthusiastic about they can talk for 15 minutes about it so if that sounds interesting to you please check out that url that i dropped into the chat and submit a um a proposal to talk at the open hardware mini conf now all right where we are there are a few interesting things about this whole test process eventually what i'm going to do on this live stream is getting to the get into a cycle where i'm just sitting here with badges i'm going to have untested badges the tests are in front of me and i'm going to have a little shelf here for like a rack for putting the tested badges onto there's a place for badges that have failed to test and i'm going to be cycling through them but first i'm just going to explain a little bit about what i'm doing and once i get to that point i can probably just pay attention to the chat and talk to you while i'm being the the robot in the process all right so now this tester let's just go back to here now the basic problem that we have is we need to test a variety of things on these badges first we need to check that the screens work and that they are around the correct way these two screens have different i squared c addresses so there is a left screen and a right screen and if the messages come up reversed then we know the screens are being put in the wrong way around that's something that i have to visually inspect as i'm doing the test we also need to know well voltages will be okay because if it's running it's running so we're not going to bother testing that what we need to test is that there is a connection to each of the the digital i o pins that are exposed on the side headers and on the sayo headers so we need to know that the esp32 on here can communicate and control each of these pins individually we need to make sure that there are no shorts between them because what can happen is if you've got a floor on the pcb or if you've got a solder bridge for example what can happen is that you can say assert one digital pin and if you read from another digital pin it will follow the state of the first pin because there's a solder bridge so we need to detect solder bridges we also need to detect that the buttons behind the screens are working so i need to manually click these and have the system detected and we need to check the touch sliders so these things that look like funny alien symbols i love these so much are actually touch sensors and if i get the light angle just right right about there you can see that these are overlapping triangles and there is actually a touch sensor on the bottom and a touch sensor on the top and those two sensors interleave with these fingers that go past each other and proportionally there is more area as you get closer to one end on that surface and less surface area on the other end so what we can do is we can detect contact like just touching in that point and we can also detect approximately the position by measuring the relative signal coming from those two touch sensors so we can use this as a slider so you could use that like a menu slider or something or you can just touch on here to tap up and down so what we can do is like a threshold detection to see if you've tapped one of these or we can do a comparison like a proportional thing to see if the slider is working so i think that's all we have to test oh and there's wi-fi and and things as well so uh something that i've been thinking about doing a video about for a while is a technique that i've often used when i make testers so i often make custom testers as well and uh let's just i'll just show you an example of that so this is a tester for the free in three module and this shield was specifically designed to be nothing but a tester for the module and you can see it's got pogo pins on here so the module sits on top and when you press it down it makes contact with this button so if you push it down far enough the button clicks the tester detects that you put a module there it runs the tests and then it's got leds on here for when the test has started and then it goes up to a green for a pass or down to a red for a fail and there's a buzzer on there as well so if it fails it makes an awful squealy noise so you can just put the module on push it and it goes past and you put it aside push it on it says fail you put it aside so this is a custom design tester i've designed many testers like this that's just one of them i've got a whole row of them on the shelf up there for all different uh devices oh and also terminology the the standard industry terminology is that the thing you're testing is called the device under test or dut so you often see it abbreviated to duty and documentation and so if you don't want to go to the trouble of making designing a custom pcb now for that particular thing it was worth designing a custom pcb because there are thousands of those modules produced and they need to be tested very quickly in the factory and normally it would be more than that that structure was basically just the pcb with the test probes normally there is a laser cut body around it which acts as a guide for the module so the pins come through a plate and then the module sits on top and it's always aligned with the pins but there is another technique that i use fairly frequently which i think is a kind of handy little trick which is using an unpopulated version of the pcb of whatever it is that you're wanting to test to build a test jig and that's what i've done for the swag badge so what i've done is made up this test jig which has got some 3d printed parts and some spacers and a couple of pcbs and you can see pogo pins and it's also got a alolan 32 on it so it's got an esp32 but it doesn't have the eyelids and um one of the reason the basically the trick here is that if you have uh i mean you can't always do this it depends on the design of the board that you're wanting to test but often you can and in this case we can use this trick and it works out pretty well so what you do is anywhere that you have a through hole in the pcb where there is a contact that you want to test on your device under test you solder a pogo pin into that location and then you can use a processor either directly on the board or another one that you patch in with bodge wires to make contact to those points so let's check this under here and i'll show you what i mean so these pcbs and there are two pcbs here separated by 12 millimeter nylon spacers with some m3 bolts through it so step one is to get two blank pcbs and bolt them together with the spaces now you can do it with just a single pcb but my preference is to do it with a pair of pcbs and the reason is that it gives you excellent alignment on the pogo pins because these are separated what you can do is put a pogo pin down through here and it's always going to be perfectly aligned because it goes through both pcbs and they're a fair distance apart so i've got a whole bunch of pogo pins here all different designs turn around that way so most of these are the p75 series but i haven't used p75s on this one i've used some longer ones now the reason so these p75s and you can see the second letter on there that's for the style of the head on the pogo pin so this is the p75 b1 which is just a sharp little point that's a good general purpose one lm2 where's that one lm2 is like a little conical head and i think this one has got yeah it's got little sharp edges on it so it's not just a simple cone it's like a like the tip of a drill almost and b1 what's this one oh that's needle point it's more of the same we've already seen those ones lm3 i use these ones a lot so the lm3s are a slightly bigger size we just saw the lm2 the lm3 you can see it's got like a serrated uh conical head on it and it's bigger than a typical through hole so a lot of screw holes are like 0.8 millimeter 0.9 millimeter give or take it's sort of in that ballpark and that head is big enough that it won't go through the hole on the target board and then there are others as well there are bigger ones like this that have just got a rounded end on them what are these more of the same and you can also get mechanical ones like this so this is a guide pin in fact under the mic this one's so big that it doesn't really go under the microscope but you can see if i push this one in you can see the back of the spring-loaded shaft coming out there so this is the sort of thing that you use as an alignment guide and this would go through on the carrier pcb so you would use this with things like um let's see if i can get a good angle on this so this is a hole for m3 bolt so that's i think a 3.2 millimeter hole and on this now if we had this on the the test pcb you can use that as a guide so it will sit in that hole and then it'll self-center and then be depressed as you push the board down and it keeps it nicely aligned that went through so that one's slightly too big for that size you would use it on a hole like that so it would you'd get it approximately a line push it on the pcb would self-center and then depress to its test position so there are lots of different types that you can use what i ended up using on this tester are these ones so these aren't p75 series these are an extended type and it's got a head like the lm2 or the lm3 i think these might be lm3 size i don't have a label on it it's got a little you can see it's got a little conical head on it and the head is slightly serrated so that as it pushes onto a pcb it'll make good contact so if we've got a pcb here and we wanted that brightness is a bit higher for the camera that's better so if we've got a pcb here and we want to make a test contact this pin comes in and it pushes into the hole but it doesn't go through it it makes contact with the edge of that and you can see you can push that and it's not going in but the serrated edges on it mean that it makes good electrical contact it'll push onto there make contact and then you can do your testing without having any headers or anything soldered on so yeah this particular style of of pogo pin is good for these quick diy sort of test jigs yeah so i'll just chuck this away because i don't want to leave too much mess lying around on the bench i want to get it cleared up before i start doing things for real right now oh that's right i was talking about the tester okay so step one is you take the two pcbs and connect them together with the bolts through the spacers and as i mentioned these are 12 millimeter nylon spacers and you can see that what this gives you is a good distance for the pogo pins to come through and protrude above the surface of the top pcb and they're long enough that they are laterally very rigid and they're all very nicely aligned looking from the top they basically end up perfectly aligned with the holes they go through all right so the general principle of what we want to do here is use one board to test the other board by having them communicate with each other and oh before i get into that though so i've got these 3d printed guides on it and there are a couple of different styles on this you can see that there are guides and i designed these just so that they would fit perfectly with the spacing the 12 mm spacing when using these so i bolt the pcbs together and then i slide these on so here are a couple more of them i slide these guides on they just slip on to the two pcbs and they're they're a nice firm fit and then it acts as a guide so that when you put the top pcb onto it it slides perfectly into position and then it aligns with the pogo pins so oh and the reason there are two different designs so these ones are just guides you can see the profile on that one there the pcb will drop down between these two guides and then it bottoms out on that little flat ledge and that flat ledge the distance there above the pcb is designed to be about the right distance to depress the pogo pin so if i push these pogo pins down until they're approximately aligned with that ledge that's about where the pcb should be so if we put our device under test on top of this and push it down so that it bottoms out on all these ledges all these pogo pins will be nicely engaged and the ones on the bottom you can see they're a bit different they've got overhangs on them and that is because what i can then do is grab a board that i want to test and hook it under those ledges and push it down and it will be retained so if i just push it down at the top that's now aligned it's kept horizontally aligned by all of these guides the bottom can't pop up because it's retained under those little clips see so i can't come up and then as i push down oh i gotta get the angle right so i push down on here it bottoms out on those flats and all the pogo pins are depressed and they're all engaged with the contacts on the bottom of the pcb so what i can do if i want to do a test on this is just drop the board in there so hook it into the bottom push it down and that's now ready to test and if you're doing a a test that's fairly quick you could have it so that you put it in there and just push it down run the test and then you just lift it up and put it aside this test takes a little while to run so when i was doing the tests yesterday i got into the habit of using these bulldog clips so i pop it in there grab a bulldog clip stick it on there and then i can just leave it sitting on the bench as the test runs and that way i'm not i'm not touching it moving things around causing problems with contacts and then you just take the bulldog clip off lift it out so there's another type of little thing that i want to print i haven't got any of these printed at the moment that that has a like a bail that hooks over the top that's hinged so what you can do is drop the pcb in clip the bail over and then it retains that you don't need to use clips like this but anyway this is just a bit of a quick and dodgy one-off so by using these 3d printed clips these guides and like standard 12 millimeter spaces and a couple of like pcbs that's basically all you need to build a test jig oh and the pogo pins of course now the way this test works is there are a few different things we need to test but probably well i'm not gonna it's not the most important but probably the most uh interesting is the way it does the the test the continuity test between the pins so or the lack of continuity test so what happens is we have some software that runs on the tester and we have some software that runs on the device under test and that is orchestrated by more software which runs on my computer and this is a little test process that that has been developed over the last few days by andy who is busy writing code right now so i'll try not to say his name too often because i'll distract him he's watching the live stream but um but he's also busy trying to write more code for this board so this yeah what he's come up with is really cool this is something that's going to be i think very useful for me for future projects because what i've done in the past is whenever i've created a tester like this i've written something that runs on the tester and the the tester is kind of standalone um and it takes a fair bit of effort because what you have to do is write code for the for every target and it's quite different every time and what andy has done is made some little micro python helpers that make it really easy to create different types of tests and then orchestrate them from a computer connected to the tester and you'll see that in just a moment it's really cool i like this a lot but essentially what it does what his code does is turn the tester into it's a little bit like fermata so if you've seen the fermata system that used to be fairly popular on arduino although it's fallen out of out of use recently over the last few years fermata is designed to turn an arduino into a remote i o board for a connected pc so that you can do things like read the state of pins you can control pins you can do analog reads all of that sort of stuff but do it from the host computer via the usb connection to the um to the arduino so your arduino basically becomes like a breakout for your computer that was what fermata was for and in some ways this does the same sort of thing so there's micropython running on the esp32 on here and there are some functions that are loaded that allow you to do things like turn change pin modes you can read and write the pin states and you can do different things and then the host computer connects to the usb on here and it uses the repl to interact with those test routines and tell it what to do so this tester with those test routines in it doesn't need to change in order to do totally different tests all you have to do is change the script that's running on the connected pc that is communicating to the repel and telling it what to do so it'll do things like say um turn all of the pins into input mode and set their input pull-ups on and you can do that by sending a command via the repo and then you can send another command that says read the state of input pin blah or read the state of all of the input pins and then the test orchestration on the computer can use that information to figure out if there are things like short circuits on the board but so what you can do is drive all of the pins into yeah set all of the pins into input pull up mode so in theory they should all be high and then you read all the pins and verify that they are all high and then you drive one specific pin low and then you read all the pins and you verify that that one pin is low and that none of the other pins are low the others should all still be high because they've still got their input pull ups turned on but if any of the others have gone low then there's probably a solder bridge because you are overcoming the input pull up and pulling it down with the one that you're driving and then what you can do is work around and test every pin in that way and of course because it's being done by a script it's very quick so it just zips around all the pins and it checks like every possible combination of all the pins high all the pins low driving one pin high driving one pin low and verifying that none of them are interacting in ways that they shouldn't and that they are behaving like they are responding in ways that they should so the way we do that is with the two boards so if i've got the test d here which is the device under test and i want to verify that this is behaving correctly what the host computer can do is have a usb connection to the tester a usb connection to the device under test they both have the test code loaded in micropython and it will do things like say set all of the the inputs on the device under test to to set all of the io pins to inputs with input pull ups turned on and then it'll drive pins on the tester and read the matching pins on the device under test and verify that the two of them stay in sync and if they do you know that you've got good connectivity all the way through the system there are no short circuits there are no open circuits and everything is behaving all right that's been a lot of talking before i get into actually running tests on this what are people talking about more software yes uh okay so some interesting questions mako said do pins that are pressed against pogo pins not wear off um no the the thing is that the device under test is only put onto the tester once or maybe a few times the pogo pins are used many many many times and they can wear out because the same tester is used over and over again but the contacts that the that the pogo pins are making contact with like i'll only put this on the tester and run it a couple of times and take it off so it's not as if there are thousands of connections being made like thousands of you know touches being made by the pogo pins so that's not a problem [Music] and i was just thinking of something else in relation to flying board testers but let's not get into that right now because i need to get into some testing so where was i going um i was going to talk about something else and i can't remember what it was all right are there um let's um um skip back through some chat poor depressed pogo thanks yes i depressed the pogos oh mako said how many of you are working together for this so this is in relation to the conference pad project there are there are multiple levels of involvement there is a core team of probably five six people that are very involved with this and then there are some other people who are helping out with little bits along the way as well so uh yeah there are a few people involved um now um so in fact i think there are there are probably credits somewhere on the open hardware um wiki uh the head of the pogo pin um okay yes all right so some interesting questions here uh so mako said how does an mcu enable a pull up does it have tiny resistors and tiny fets yes that is exactly what it has um so if being able to do this trick is dependent on the processor having software controlled pull ups and pull downs on an esp32 it has both pull ups and pull downs so internally it's got the the i o pin and then there will be a resistor and the resistor values are not particularly accurate they vary dramatically but they're often in the 20k to like 80k ohm range i think i can't remember but i think the pull-ups and pull downs on an esp32 are in like that 40 to 60 kilo ohm range someone will probably correct me for that and so what internally what it can do is turn on a fit and it applies a bias to that input pin a lot of processors only have input pull-ups but the esp32 has both pull-ups and pull-downs which means you can bias the input low or you can bias at high but the value of the resistor is high enough that if you then apply a signal to that pin it'll follow the signal if you or you can do it externally as well all right so [Music] where are we [Music] yeah so one thing oh talking about pull ups and pull downs so if you i'm seeing a little squirrel off in the distance but it's only a little one so if you are using a microcontroller in a noisy environment like an electrically noisy environment running a robot or something my preference is to put pull ups or pull downs external to the mcu on the board couple of reasons for that one is that you can bias the pins more strongly and more predictably because the the inputs the pull-ups that are within the microcontroller are very weak they could potentially have a spurious signal come in like say there's a motor that turns on or off and there's a big electrical spike somewhere the the bias resistors on a typical microcontroller are strong enough when the device is in a reasonable electrical environment and it's sitting on your bench or or anything like that but if you've got it in a really bad noisy electrical environment i'll typically put like 10k pull-ups externally on the pcb so that you know absolutely for sure that it's got strong enough pull-ups and it's not going to be tricked by other signals flying around the ether alright so where are we peter the smoke didn't escape very most disappointed i'm glad that you uh oh johnny johnny bergdahl said pull up value is 45k on the esp32 cool uh yeah so 45k and as i said that won't be very accurate the thing is that resistors on like on dye resistors are very hard to make accurately unless they're laser trimmed so typically what happens is that resistors that are within a microcontroller in the manufacturing process the values can vary significantly we're used to using one percent resistors if you use five percent resistors are considered to be you know cheap and dodgy but five percent would be exceptionally good for a resistor that is on the die of a microcontroller so when they say nominally 45k they could vary a lot um so yeah so putting something like a an external 10k pull up or pull down you know exactly what you're gonna get now all right let's get on to doing this testing um yeah okay just by starting to hook this up i'm probably going to end up oh let's let's do it over on the side here where you can see what's going on so i've got two connections here to my computer and i'm going to show you from the software point of view in a moment so this is the connection that goes to the tester so i've now got a usb connection should be if i get the angle right you can see there's an led blinking in there we've got power on the tester and the tester is already loaded with all of the stuff required for micropython and uh let me find a board that actually needs testing and we will see what happens so oh oh where's the other usb lights i've got a second usb lead over here and i'll jump to that that desktop view that you can see off to the side i'll jump to that in a moment so you can see what's going on now i powered this one up and you can see it's come up saying ico 0.1 on the screen you probably can't read that that's because it had an early version of the firmware flashed onto it just as part of a like a test procedure for will it actually load but we're going to blow that away so i'll hook that under there push it down i'm going to stick a bulldog clip on there so that device under test the top board is now in place sitting on top of the pogo pins and it's making contact through to the tester using those pogo pins so let's jump across to the desktop view for a moment oh and also just while i'm here this is in fusion 360. so this is the design for the one of the side guides and this is the design for the little retention clip that goes at the bottom but let's uh what are we going for back to terminal all right so what i have here is uh two terminals and they have some environment variables set they're both in the same directory so you can see they're both in ico engine mp oh hang on let's let's drop in a link to this i i checked earlier with um with andy he suggested that we uh we give people access to this because you might want to play around with it echo engine mp here we go this is a repo which has a lot of the stuff that i'm in fact i think it has all of the stuff that i'm talking about in it and you can see that there are commits only hours ago this is all very much a work in progress but making very rapid progress which is super cool so this is the the firmware for these badges well it's actually it's far more than that but this is what we're using as the firmware on the badges and it also has the test system built into it so the the test functions that need to go on the tester and onto the device under test are all included in this and you can see on my on my terminal here i am in the ico engine mp directory on both of these terminals and the one on the left is the one for i actually can't remember which one is it the tester or the test d it's got um okay it's got some environment variable set i'm just pausing so i'm thinking about how to explain this in a way that is uh not just me rambling for the next hour so what we've how about i just get into doing a test and i'll try to explain it as i go because that'll prompt what i'm what i need to think about all right so if i on the right okay so the one on the right is the connection to the badge so this is the device under test and what i can do is run this script which is using the mps flash and then it's using that to send over i can it's using the ico.npf to tell it what to send over so this is sending over a bunch of files onto the target device i've already done this on the tester so i don't need to do it again i could do it again on the tester but you only ever need to do it once and i've i've used this tester a hundred and something times already oh interesting all right so in that case let's do scripts flash micropython so let's just treat this board as if it's totally unknown and we'll start by sticking micro python on it and then we'll load our things onto it so right now this board on the top it still says ico 0.1 on the screen that's just because the screen hasn't refreshed the little oleds keep retaining whatever last thing you sent to them and told them to put in their buffers and they will retain it until their power is taken away so right now the it is flashing so it's loading micropython onto it this takes i think about 52 seconds ish give or take and then once micropython has been updated this no this ensures that we've got a clean known state on that board all right so that top that board that you can see on the screen now it's just finished updating micropython so now i'm going to run this other flash script again so this puts i'll just jump back to this view so you can see what's going on so what this does is take the um the code that is in that repo i just linked to and it pushes the approp the necessary parts onto the target board so you can see that it's made directories now it's copying files out of applications configuration and lib ico and then it's going to copy main.pi in a little bit and some other things so it's got some drivers there like the ssd 1306 that it needs for running the oleds so now on that target board we have micropython and we have like the ico framework with this necessary test code and so it now should be ready for testing in fact if i switch back to the overhead camera let's see if it's changed no it hasn't reset if i normally i wouldn't bother doing this but i'm going to do it just so you can see what's going on i'm going to reach under here and hit the reset button the board will reboot and you oh yeah so now the screen is showing something different it says ico v 0.3 and it's now doing wi-fi scan and it hasn't found a wi-fi configuration so it's put itself into access point mode and it's given me the i the ssid to connect to and it's told me what i p address to access to do network configuration none of that happened before so that shows that we have now successfully flashed the latest ico onto it now that's not actually part of the test it we needed that code on it but um yeah so there's some discussion going on about timing on the boards here all right now going on this current rate so it's now 10 54. i started this live stream at 10 and we haven't yet flashed we haven't yet tested our first board so by my calculations that means we need one hour per board it's going to take 300 hours to do 300 boards yeah no problem i need to be a bit more efficient than this so okay so we now have the latest ico on there and we can start doing some tests now let's see i'm going to switch back to desktop and i'm going to do this sometimes with the desktop showing sometimes with the overhead camera showing so you can see the result but for this one i'm just going to use the desktop so what i've got here is this little script called scripts tester dot pi and you can see it's got a couple of arguments after it which are set as um variables in the shell so these all that does that let's um i'm going to go back out of here echo that so test a path name in this case is the path to the serial port that links to the tester and if i echo test e path name so that's the device under test it's got a different serial port so that's how this script is knows how to communicate with the two devices and this script that i'm about to run orchestrates the communication between the devices like it will send a command to one of them to tell it to do something and then it will communicate with the other one and see if the link between them is working properly so let's just run that and see what happens so what it's done is made connections to the two well all that stuff is scrolled off the screen too fast so it's made connections to the two boards and it's begun communication with the repl on each board so we can talk to it and invoke the functions that are loaded on it now you can see that it's paused what's actually happened here is that it's got it's done all of its cross testing so if you look back up here in the console you can see get gpio pins value and this is what it's read back so it's one one one zero one one one one and then the next one down it's one one one one one zero one one so you can see that it's progressing along and checking each of the pins in turn as you can see it's stepping down here as it goes through those tests so what it's doing is setting pins to what it expects they should be on one board and then reading them on the other board and comparing and if they match you've got to pass everything's good and it knows that there is communication happening between the two boards so this is this is reporting the fact the test was 10 underscore 13 and these are the results it got so if any of these things fail it displays something on the screen here and you can see it was trying to get this and it actually got this and the test has failed but now it's got to the point so that process ran very quickly it only took a couple of seconds and it tested all of the interconnections between all of the i o pins that part is really really fast but then there are some other cool tests that it does and this test framework that andy has written has the capability of doing things like writing messages to the oleds and waiting for an event to occur now if you've got a tester that is asserting a pin and then reading that pin to see if it actually is set to the correct state the timing of that is under the control of the tester it can set the pin you know wait a millisecond for um for everything to stabilize and then read it so it's very quick but if you're waiting for user input you need to be able to wait for an event and the fact that it hasn't happened yet doesn't necessarily mean it's failed it just means the user hasn't done it yet right now what it's waiting for is for me to press the left screen to verify that the button under the screen is working and that's why it says test eleven zero now let's see unfortunately it's very hard oh you can read it see it says press left oled so on the on the actual board that we're testing on the screen it's telling me what to do it says press left oled so if i scroll over here and press the left oled that's failed interesting i wonder if that is just because i left it too long let's run that test again i've been sitting here waffling so we'll let it run through that it would be a rather amazing if we had a board failure on the very first one that i've tried to do today because the failure rate has actually been incredibly low all right now try pressing it yeah now it says press right oled so i'll press the right one and if you could see you can see on the i'm trying to point at the screen that you can't see here if we switch back to this view you can see that it was waiting for me to press it and then it progressed so as i pressed the screen it progressed through the next test and waited for me to press the screen moves through the next test so now it's telling me to do the next thing so it's saying press the top left touch send touch button so i'll press that and if you're it's very small but if you're seeing the console off on the left as i progress through following these instructions you'll see that it is stepping through and giving the output on the console on the left and i've now tested everything so if we switch back to the desktop in the console you can see it says all tests passed so it got through all of the stages so what it did was run the automated tests to check the communication on all of the gpios we verified i squared c because the display is working it then prompted me to press the left screen then the right screen then the top left touch bottom left touch top right touch bottom right touch and it verifies that i've done it and it's detected that event and you can see on the screen it says all tests passed so this board we know is good so that took yes one hour to test one board alrighty so what i'm going to do is take off that clip lift the board out and stick it onto my little pass rack uh oh yeah so there's another very important point here which is labels where are we portable i'm gonna switch to another camera so i can show you what i mean all right so those are the ones that i tested yesterday the ones that are on the left lying down there still need to be tested now this is the setup that i've just been using and this little rack so i did a video a while ago now quite a few months ago about how i made these racks so these are just laser cut mdf that i glued together and then spray painted and it's just got slots in it so you can put pcbs in it so these ones are the ones that have passed and at the moment i'll show you all the ones that have failed so i've tested 130 now i think and these are the ones that have failed and you can so there are eight in total out of 135 that have failed and you can see that i've got post-it notes on them saying what failed on each one so if there was any problem that came up i put a note on it so that later i can go back and rework those boards or figure out what went wrong and as you're doing that you'll start to see patterns coming out i'm just going to spin this back around to here because we're not going to be using that for a little while yeah as you're going through testing you'll start to see patterns coming out like lots of failures on a certain button or something the interesting thing about these failures so far these eight failures is there is almost no consistency so one of them the right oled buttons fail one's the left alert button two of them have had touch failures uh one won't flash ico at all so there's probably a problem with the lowland and one of them oh one of them's got both oleds failed not sure what that one is yet and one of them one of the oleds is working but it's really dim so that's not technically a failure but it's not in a way that i would want to ship it out so what i'll probably do is just pull that oled off and replace it so there is a little bit of investigation to do there to figure out what's going on with those different boards uh yeah oh johnny said that is a decent yield yeah the um uh it's not too bad and part of the reason for that is that we put so much work into pre-testing all of the parts that went on so as i said earlier every single oled was tested in fact let me switch back to that camera i'm going to show you something you would have caught a little bit of this earlier when i panned around so if you look down there those are all dead oleds and that's dead on arrival out of the box they just failed so and there are a couple of lowlands that failed as well but um yeah the fact that we weeded out all of those oleds before soldering them on means that the we've got a fairly high confidence in the ones that we've assembled because we've tested the displays we've tested the lowlands and any faults are likely to be just assembly folds like soldering or maybe a pcb floor the pcbs all had electrical testing so in theory they should be okay but that's not always a guarantee ah yeah so uh alrighty time for me to run some more tests so i think what i'm going to do at this point is um just run some tests and have a look at the chat while i'm doing it so maybe i'll be able to get into a mode where i'm kind of on autopilot with the tests and i can catch up on chat while i'm doing it oh yeah one of the points that i was just starting to make a moment ago with those post-it notes is do not ever rely on memory when you're doing this if you have a board that fails and you put it aside and think i'll look at that one later i can guarantee you that half an hour later you will look at your bench and say why is that board there out of place and then you'll grab it and put it somewhere that it shouldn't be always label things so if anything fails testing make sure it goes it's isolated from everything else and it's labeled you don't want those to end up back in regular circulation and uh well for me anyway i won't remember because what happens is one of them fails like a board will fail with one oled and i'll put it aside and i think i'll remember that was the board with the failed oled and then another board will fail in a different way and i'll put it aside and think i'll remember that one was with the oled and that one was with the button and you come back and look at it a day later and you don't have a clue which one was which or what was wrong with them so always use labels and in fact what i should have is another one of those pcb racks sitting on the side here with a like a fail note on it so that all of these go into the racks i've just got them sitting on my bench right now which is not ideal but i've run out of racks i've got how many i think i've got 10 or so of these pcb trays or pcb racks and i've um i've just totally run out of them i need more so i've got to get myself organized here so that i can sit here and look at the chat while i'm cycling through these boards so doing these boards does not take that long despite the fact that it's now taken me an hour and seven minutes to do the first one it really doesn't take that long once i'm in the cycle of doing it so if i've got to flash micropython right from the start so i've got to flash micropython then ico then run the tester it's about to uh in that case it's about two and a half minutes i think if i don't have to flash micropython like i just flash ico and then run the tester then it's it's quite comfortably under two minutes to do the test yeah so i can get through a reasonable number of them already so at the moment i'm just running the [Music] i'll just flick back to the desktop and show you once again what's going on here yeah so i'm just running those same things as i was doing before let's have a look while that's running let's have a quick look at that tester so this is the program on the script that is running on the host computer so this is what's running on my mac at the moment which is orchestrating the two devices and you can see so this is the the really cool thing that andy has been writing over the last few days so you can see it's got a state machine and transitions between different states and all sorts of things i'm not going to go into this in detail i'll just give you the general concept of what it's doing so it's got the two devices that it's setting up and making the serial connections to them so we've got a um a list of pins and different things we want to test and then it's got these functions like check all pins high check all pins low and you know all the different things that you might want to do and then it gives it a a list of different things to test so there's a list of the buttons on the oleds list of gpios some mode set and then it does a whole lot of things so it can store things to the log and it can display things on oled so it runs through does a whole lot of pin tests scroll the scrolly scrolly for a long way and then here you can see that it is prompting on the screen so it's um the the log is coming to the screen i think in this case and so it's prompting the user to do something and then it's checking the result and then the right oled screen checking the result so it then comes down here and there's some more useful stuff down there i'm not going to go into that there are some really tricky things that andy had to figure out to make this work there were issues with how to interact with the rebel over the serial connection so there is a fair bit of magic in here which i have not even looked at and would have trouble understanding even if i did so what i'm going to do is ignore that for now and just make this test run so i'll get into the cycle of doing this while i talk to you so uh oh yeah so it's got to that point now where it's waiting for me to press the screen press that screen then press that screen top left touch bottom left top right bottom right all tests passed nice so now we have another happy badge to go on to the good pile i'll switch it over there oh actually something i've been wanting i was wanting to ask about after the last live stream now i am seeing a very very large number of skipped frames uh obs is reporting that uh well for this stream so far 6.9 of the entire stream has been skipped frames because obs just can't keep up with encoding and i don't know what that is like from i mean i've got stats and i can see on my local screen that things look okay but i don't know what effect that has on the stream like does it look stuttery to you does losing nearly seven percent of all the frames mean that this video just looks terrible i don't know so peter lola says get a mac you're right it is a mac it's a um uh at the time it was a very powerful one it's a 2013 imac with an i7 in it so back in 2013 this was a really fast imac but it's uh rather dated now but i think it's just having trouble with all the video and coding uh yeah so as i've been talking to you i've just been running this script as well so hopefully i will be able to get into the cycle where i can just sit here and loop through the boards all right so the microcontroller is an esp32 so yeah so new ideas has is asking what's going on the microcontroller is an esp32 on both the tester and on the board that we are testing and it is being orchestrated by a um a program which is running which is written in python and running on my mac and communicating with both of the devices via serial over usb so uh hmm all righty now what have i been missing talk to me people what are we going to talk about today now that i am more than halfway through oh peter said it looks fine here by the way john okay and xcd92 said a little shutter here and there start out here and there gary seaman looks fine okay cool so uh it looks like the streaming is still working okay even though it might be um looking a bit strange from my point of view uh all right come on scripts flash micropython this is one that iko flashing failed so i've got a flash micropython first mako says i briefly saw eject frame where part of john's face was more left than the other part no that's probably just my normal look mike said servicing the serial port under python is probably the reason for the frame loss yeah that's enough to stop it uh-huh yeah the lack of sleep so um no it was doing it last week as well when i wasn't doing anything like this on the um the live stream yeah yes so if i'm going i'm in that weird state now where i'm kind of trying to pay attention to the chat but i'm also half keeping an eye on this test process and something i learned a very long time ago is that i can't multitask it's a aaron just asked a very interesting question it's a limitation of my brain i know many people say they can multitask i can't so what i try to do is stay focused on one particular thing otherwise i'm just not efficient and so what i'm trying to do now is be part of the machine in the background running these tests and paying attention to when it prompts me to do something but also reading uh yeah okay that's right so maybe trying to do this live stream and test boards was a bad idea this was not the cunning plan that baldrick was proposing or maybe it's about as cunning as baldrick's plans ever get uh yeah oh um other interesting things about this tester oh yeah i've stuck some little feet onto the bottom so i've got these 3d printed pieces on the side and i've got some self-adhesive silicon feet and tiny little ones and stuck them onto all of the spacers so this sits on the this is actually running the test right now while i'm waving it around so it sits nicely on the bench doesn't slide around now what i've been talking about so far is this little sort of dodgy diy tester approach now if you're doing this in a factory properly you wouldn't do it like this you'd build a proper test jig and it would use do i have an example all right here's part of a mechanism from a proper test jig these come in all sorts of different sizes and uh this one is just like the bare mechanism without any of the test jig in it and the idea is that it it's like a little slide thing so what you do is have a mounting bracket in the bottom where you put your device under test well a couple of ways you can do it you can either have the pogo pin sticking up or you can have them sticking down typically what you would do is have a bed that goes in here with pogo pin sticking up and you drop the pcb onto it and then there is a bracket that you custom laser cut or 3d print that goes in here that goes onto the top of your test pcb so when you push that lever it pushes it down and it it compresses the pcb onto the pogo pins or vice versa and then you can run your tests and then you let go of it releases it the board pops up and you take it out and put the next one in so that's what that's the sort of thing that is more typically done in a factory sort of environment but um i'm just using my little 3d printed things here because it was quick and easy so what i'm probably going to do is i'm at the stage where i need to grab another rack of boards and because i don't have enough racks i kind of have to do this how am i going to do this i need another rack clear in fact what i'm going to do is take these and i'm going to de-rack them and just lay them out here because i need a rack that i can use as a destination so i need to be able to start with an empty rack and i also need a rack as a source i need to laser cut some more of these this is a wider one but i've got a combination of wide ones and narrow ones okay so let me put that aside grab another full rack so this is a whole rack of boards that have not yet been tested so that i can begin that process and where are we up to flash what is up in the chat let's see uh oh yes yes um aaron thanks for reminding me you did ask that earlier and i noticed it and uh i was gonna come back to it mike who knows unlabeled boards laid out on the bench tested untested who knows yes i know do as i say not as i do all right so aaron's original question from a little bit back in the chat was have you seen the new pi compute modules any thoughts on making the lighting controller a new board with a compute module rather than just a standalone pi that is a really cool idea yes i have seen the compute modules i have not actually used one i don't have one but they are really really interesting i like the idea of um of being able to design like a low profile mounting location for a for a pie i've done many projects where i've built pies into things and there are some limitations because of the things like the position of the connectors can be really annoying and the profile of the connectors so the uh the big connector for oh i could pull out examples but i won't right now so the uh you know things like the the usb and the ethernet connector really get in the way with pretty much everything so i've done quite a few boards where i've put down a footprint for a pie and then stick it on and use it embedded within the project but you do need to work around the clearance issues of the headers and uh yeah having a low-cost pie just as a a real credit card size pcb oh which reminds me it always used to annoy me when the pie came out and do you remember in the early days all of the press was talking about new credit card sized computer credit card size why is it two millimeters thick let's see how where's a um i don't even know how thick a credit card is and no i'm not going to show you my credit card on the live stream as tempting as that is not that you would be able to get anything from it all right how thick is a card gotta have the calipers handy because if you don't you can't measure and to measure is to know okay so 0.82 of a millimeter thick is a standard credit card and uh was the pie 0.8 millimeters thick no it was not maybe that's just my pedanticism coming out but the that was getting off track but the the pi compute module is it is actually almost getting towards that sort of region it's the same sort of dimensions as a credit card and it really is skinny it's you know the pcb with not much on it um so you know when people were talking about the original raspberry pi type a and saying it's the size of a credit card no it's not it wasn't even the size of a deck of cards it was significantly bigger than that so please excuse my distraction while i cycle another board through uh oh again hello detroit it is really cool that there are so many um so many places around the world represented here even though it's a terrible time zone for many people so back to aaron's original question um yes so um putting that in the light switch controller yeah that would be a um an interesting thing to do as an optimization so at the moment the way the the light switch controller is set up there is an i squared c breakout header which connects to either a pie or an arduino or whatever you want basically with a oh i just got a failure that's interesting so whatever you want using some kind of an adapter board so i've made up a little pie hat that has the same header on it so you just use an idc cable and plug it in oh other pins are not low this one is definitely failing so i'm going to write myself a little post-it note and um there was a question also about an i squared c breakout i'm going to get back to that in a second but i'm going to write this one so it was test0710 that failed test zero seven ten so again the nice thing about having each of the individual tests report its id is that later you can go back and look at your your failures and see exactly the point at which it failed in the test so i can look up what test0710 is and know what went wrong so so the idea was that the light switch controller you could put a pie in it if you wanted to and that's not necessarily always the correct decision if you want to make your light switch controller be fairly heavy weight in terms of lots of processing power so it can also be your mqtt broker and run home assistant or openhab or whatever else you want on it then yes putting a pie in it is fantastic but that also means that you have a file system which has the potential for corruption if power disappears and you know other i it means that it takes a while to boot and and those sorts of things so so that was the reason that in my light switch controller i designed it so that all of the interface boards so the stuff that connects to the front that you plug stuff into and the displays and the buttons and all that sort of thing are all standardized and then you can plug you can use whatever controller you want as long as it supports i squared c and you could just use something like an arduino which is plenty fast enough to read from all the light switch inputs and update the display but it means that if you just pull power on it it's not a problem and if you power it up it'll be booted and ready to go in like two seconds so and it's a little bit cheaper so sometimes that is also the correct decision if you don't need all of the other stuff so aaron's suggestion to that is you could make an arduino based board which is the footprint of the pi compute module so you could interchange it yes now i also have an alt another version of that pcb laid out which has an esp32 directly integrated into it and my plan was to put put ethernet directly to the esp32 with power over ethernet support and just build that directly into it so that's one option now someone way back in the chat i saw this and i actually remember it amazingly asked i said that a little while ago on a live stream i showed an i o board that had a whole bunch of inputs and outputs and wanted to know what the chip was that's on it that was an mcp23017 which is one of my favorite little general purpose devices i've used in quite a few different projects and what's going on with this one it's um it's having some failures at the touch screen and not the touchscreen at the um the touch sensor stage so yeah the the mcp23r17 is really useful if you have a project where you've got a microcontroller in it you might be running out of pins you want some extra i o pins stick one of those chips in it all you need is i squared c and you can and you've got an extra 16 gpios and you can have up to eight of those chips so you can have heaps and heaps of i o all on two pins because you're still just using i squared c so look that one up sorry i missed the name of whoever it was that asked that question but it was mcp23017 is the part number if you want to go and check it out for yourself all right uh did i see a reference to colin oh colin colin hickey is on the stream hey colin thanks for coming along um yeah so uh have you just joined the stream or were you on that earlier on so um yeah you might have i'm not sure if you saw the early stuff sorry i'm just in the process of looking up some other things while doing this and um yeah nope live streaming while distracted is not a good thing ah cool well thanks for coming along colin uh rendo hin that's right yeah so rando hin uh it wasn't asked the question uh thanks or as we say in estonia oh how do you how do you pronounce that itar itar itar i went i visited estonia two years ago in fact it was two years ago um in like four days five days something like that it was just before christmas two years ago i was in estonia and it was an amazing place well when i say estonia all we visited was talon but talon itself was very very cool and my very poor memory of that that of what we were told while we were there someone told me that there are um the the languages in estonia are split three ways there are like three major languages that are spoken for historical reasons because of different invasions and things that happened over the course of history so the result is that unlike most countries where there will be one language which is universal and then there will be other secondary languages in estonia i think they're it's uh it's less unified than that there are like three major languages that many people speak so anyway i've probably just told you a whole heap of misremembered lies so um don't take anything i say as being uh real all right so i'm really trying to multitask here i'm doing my best so i'm still running these tests uh mako sounds like finnish yeah so um i only visited telon for a day i was actually in finland at the time uh so i was over there this is when i was working for maria db foundation uh so i was in uh i was in finland because we were all hanging out at monty wydenia's house talking about maria db so monty is one of the original founders of mysql if you know of mysql and um he then founded mariadb for reasons i won't get into right now but basically involving licensing and preserving the open source origins of the project so actually maybe that's something that's a random thing i can talk about while i'm doing this it's not at all related to what i'm doing so mysql the database so my for those of you that don't know the reason it's called mysql is that monty named it after his daughter mai and um the reason that maria db is named maria db is that he named that after his second daughter maria so um yeah monty monty and sorry i've gone blank it's monty and a friend of his who created mysql in the first place and went through a um they went through a series of acquisitions and ended up ending up i think it was the sequence was the company mysql ab so that was a finnish company was bought by sun microsystems i believe and then sun not all that long after that was bought by oracle and of course you can imagine mysql and oracle are like deadly enemies so um mysql being the the totally um oh thanks aaron that's very generous um i really appreciate that so the so mysql originated as a totally open source project the objective was to make a database that would um that would be free forever and that anybody could contribute to and it would build up a community around it and a large part of its success was because of that community it was built on people like you and me working on it using it contributing to it and helping it become the success that it was and then the company was bought by um by sun which so this is my second hand version of what happened so i might be misrepresenting this but my understanding is that when mysql ab was bought by sun that seemed like a reasonable um a reasonable step to take because sun seemed to have some reasonable alignment with the philosophy or it was doing its best to at the time and uh so it seemed like mysql would end up in the hands of a company with with resources and that would honour the original intention that it should always be open source and in the meantime the original people ended up with bucket loads of money and the opportunity to keep working on what they loved working on so it was a win for everybody and then shortly afterwards oracle came along and bought sun and because they then owned sun they also owned mysql and the i think it was the day of the acquisition or like the day after the core mysql team quit because they would not work and uh um i've got one here it looks like the screens aren't working um i know that's right because oracle's approach was um was basically the opposite of the way they wanted to do things so what happened was there was the danger that myself could end up being subsumed into the uh the belly of oracle and would no longer be developed in a an open and collaborative way and it could potentially be closed source like the license could be changed etc so what happened was monty went off and took the last version of the mysql code base that was gpl and forked it and renamed it to mariadb so maria db's origins are as a fork of mysql and then set it up in an interesting way with two legal entities to ensure that the same fate could not happen a second time because what he wanted to be able to do was have um in order for companies to use the database and rely on it they want a legal entity that they can engage and hire to do things and pay for bug fixes or pay for consulting or whatever they want to do so then there does need to be a commercial aspect to it as well the software can be open source but backing that open source software can be a commercial entity which provides paid for services that allow other companies to rely on that open source software and that was the the course that mysql was going down or that had gone down but that the danger was and what happened was that commercial entity ended up being acquired excuse me hang on a second does does mute work no mute does not work because i need to cough and because it was a commercial entity it was open to acquisition so this is the the clever thing that monty did with mariadb instead of just creating the company they created two companies they created one company which is the mariadb corporation and that is a commercial entity which you can engage to to do corporate like to do development of databases and contracting and all of those things so companies that use mariadb have the reassurance that they can engage a corporate entity that is going to look after them and that will will help them meet their corporate their you know their needs but he also set up the maria db foundation and the um the maria db foundation is a i believe it's a non-profit i'm not sure of its actual legal status it almost doesn't matter what its legal status is but the idea is that the um the maria db foundation is the holder of the intellectual property of the source code of mariadb and the foundation is not up for sale it's um it's something that acts as a a trustee and ensures that the database will remain open source forever and even if something really bad happened to the um to the mariadb company the foundation still owns all the source code and there is a cross-licensing agreement between the two entities it was set up so that even though the corporate entity is using and developing i mean the maria db company has a large number of developers and they are constantly working on the maria db code base and making it better and the all of the code that is developed is uh is i don't know what the term is pledged it's not really the right term but anyway all of it ends up in the ownership of the maria db foundation by copyright assignment and it acts as the holder of that ip so it was um it was basically monty's uh solution to the the whole problem of what went wrong at a corporate level with mysql so anyway weird backstory so thanks to uh to my friend aryan who was one of the early employees at mysql i ended up working a couple of years ago i was working for mariadb foundation and that is how i ended up in talon which is how this whole squirrel ended up being chased i went over to finland to go to uh yeah it was for a a um a meeting company meeting and we all hung out at monty's house which is ridiculous that's uh when you sell your company to sun and um walk away with a bucket load of cash or bigger than a bucket walk away with a wheelbarrow load of cash that's the sort of thing that can happen yeah so we all hung out at monty's house for a few days and um my family came with me as well for that trip and so we went to oh i um i need to go back and check chat because i've been just talking without paying any attention to it yeah so my family came over with me and uh we all went for a um a ferry ride over to talon in estonia and we all absolutely loved it it was fantastic such a beautiful place um because it was it was approximately this time of year it was some i think it was around december 15th or 16th it might have even been later than that because we got back into we flew back to melbourne like not long after that and we were here just before christmas so in any case it was like within a week or two before christmas we were in talon and went to the town square in the old town where there was a big christmas tree and um there were places selling mulled wine so we drank some nice warm mold wine while standing out and the snow was falling and everything was white and it was beautiful so yeah very cool place so talon is well estonia is one of those countries that until i went there i knew nothing about it i heard of estonia and i knew it was somewhere in that region but i didn't know what it was what it was like or anything about it and it's a place that i definitely want to go back and visit it's it's one of it's simultaneously one of the most advanced countries in the world and has some of the most interesting and longest history so it's one of those uh places that is just fascinating and it has things like they've had things like online voting for a long time uh they're very uh it's very technologically advanced so lots of infrastructure in terms of online government and um yeah all that sort of stuff lots of high-tech companies originating in estonia as well lots of innovation and really cool things being done and it's in this environment where there are buildings that date back a thousand years so yeah it's quite an interesting experience now amazingly just while i've been talking i've actually got through like 12 boards without really paying attention to what i'm doing hopefully i'm not screwing up this tester but luckily it um uh oh della santos said estonia is cool also latvia yeah latvia is a place that i would also be interested in visiting all right squirrel time when uh so i had a um a friend at school i'm just running tests here all past good uh when i was in year seven so i went from primary school to high school my the primary school that i went to was totally bizarre it was a little community school that was actually set up by a group of parents including mine and they hired their own teacher and got themselves approved by the education department and so my and the number of students in the school is between like 12 and 18 or 12 and whatever at any one time so it was tiny and that was across multiple year levels so it was like everybody learns the same thing and no matter what year you're in it was a it was a bit of an alternative education thing so what happened was i went from this really weird maybe slightly hippie-ish primary school and then so that was from grades one to six and the sort of thing where there was no timetable there were no schedule classes it was it was just whatever the teacher felt like doing was what we did and a lot of the time we just did whatever we felt like so yeah quite a strange experience and maybe that explains some of the reasons that i am a little bit strange now i did not have a normal school experience at all so and it meant that there are lots of holes in my education and there are lots of things that i got to do that other people didn't get to do so there are and i was exposed to things that other people weren't exposed to like different um educational opportunities that other people didn't have so i had this really weird eclectic primary school education where i i never learned the times tables but um i was taught quadratic equations and trigonometry and those sorts of things like while i was in i would have been grade equivalent to grade 5 or something when i was learning trigonometry and i also got to do electronics things like all self-directed but there was yeah there was lots of stuff i got to do at primary school that people don't get to do until at least secondary school and probably university level but there were things that i just didn't do that other people did do so now i have these holes in my my education but i went from that sort of crazy randomness to a tessa michael's grammar school which is kind of the opposite it's a um everybody has to wear a uniform and it's all very rigidly organized and everyone has to comply sort of thing and if you don't you get the cane because um back in in those days even though i think it was illegal in um in schools run by the uh yeah in most schools in private schools there are exemptions so we would actually get the cane if we did the wrong thing and um yeah so i went from this really eclectic primary school to rigid secondary school and anyway this has all come about because of that thing yeah squirrel section this has all come about because of that comment about latvia okay so year seven i went into this interest and michael's so i was wearing a school uniform and i had no idea what was going on everything was structured and it was like being you know on a different planet to what i had experienced before and i i felt like such an outsider i had no idea what was going on and um one of the other people that started that same year in year seven was a guy called victor and victor was from latvia and um i might be misrepresenting this but this is my recollection of how it went so he spoke when he arrived at the school so he started year seven he spoke russian and another language i can't remember he spoke a couple of languages but those languages weren't english and uh or at least very very little english so he was in the class with unable to uh to speak the language and so he went from at the start of the class like the start of the year have been totally thrown in the deep end and by the end of year seven he was getting along just fine so yeah maybe uh yeah so de la santos said latvians often speak russian and latvian yeah so that's probably what it was i knew he spoke a couple of languages so i think he spoke russian and latvian i know he spoke russian and um and then learned english like that and um yeah it was amazing so he ended up becoming a really good friend of mine through school and i've i didn't see him for many many years and then i saw him quite a few years ago we ended up making contact again through facebook and ended up meeting up and um it was kind of funny because he had a uh he had a newspaper clipping from way back when we were at school which had the two of us in it plus a couple of other people from when we'd made some superconductor material and we were in the newspaper so there was a photo that had him and eye in it and a couple of other people a couple of other students that we'd that we'd worked with to build some one two three superconductor so what was it itrium barium cobalt something like that i can't remember what the materials were and uh we did this after school thing it was not part of the normal school curriculum it was when bell labs was working on the 123 superconductor and they had just published their results and their method and a few of our students decided that we were going to reproduce what bell labs had done so we sourced the material with the help of a physics teacher and ended up making ourselves some superconductor and that ended up being featured in the newspaper so that was the and he still had the clipping all those years later so victor i'm not even sure where in the world he is right now i think he might have gone back to latvia he was in australia for a while distracted for just a moment while i do this oh i've got a failure on a touch input now one thing that i've discovered as i've been going through these tests not just say i noticed this yesterday is that there is a on the esp32 it has touch input so that's what we're relying on for these tests to for the the touch sensors on the front of the badges so these pads here these touch sensors are just bits of copper on the pcb that are connected to pins and some of the pins on the esp32 support touch input and when it starts up it goes through a calibration routine because the um that in order to for the touch sensor to work it does a it measures the capacitance between your finger and the contact but it needs to set a baseline in when there is nothing being touched so when the processor starts up what it does is measure the input and it sets that as the like the zero untouched state and one thing i've noticed a couple of times is as i've been running these tests it'll fail on one of the touch sensors and then if i just run the test again it passes and i have a feeling that what might be happening is that the calibration is uh is possibly being messed up or it's not yeah i don't know maybe it's not having time to run the calibration maybe it's because of the other metal around it because i'm sitting this board on top of a tester so this is the one that i'm running the test on right now so it's got those touch these touch sensitive areas here and then there is another board directly behind it well there's there's maybe six or seven millimeters of gap there so there is a bit of a gap but there is this big ground plane directly behind it as well and other touch sensors so it's possible that as it's starting up and going through its calibration routine the metal that is near it is um yeah and neon signal said maybe calibrating before power is stable yeah so that calibration is part of the power up sequence of the esp32 it's i don't think it's something that you have to invoke manually it's um it just happens when the chip powers up or when it boots or whatever so i think it doesn't happen very often it happens maybe like one board in 15 it'll get to the touch test and then i'll touch it and it won't detect my finger and then i just rerun the test and then it works fine so i don't think it's indicative of an actual problem i'm just pointing it out as an observation something that i've seen all right so i've now got another tray there so what i can do is cycle i'll take that tray out this tray is complete i'll try not to drop all these boards and i'll grab another tray that is untested move it down here and begin the process again so let's see i'll slide this one out of the way i'm just talking to myself it's like one of those cooking shows where they say all right i'm just pouring the sugar into the bowl and now i'm mixing it and then i'm gonna do this commentating commentating everything i do and now i'm plugging in the usb and then i'm going to hook it into the tester and then i'm going to put the bulldog clip on and now the tester is on and now i'm going to load the ico firmware onto it no i'm not going to subject you to that you know what i've been doing this for two hours how have i got to two hours of doing this let me see what i've been missing in the chat i have not been paying nearly enough attention to the chat uh yeah so um our pancake legend so uh pancake legend who you see in the chat that is andrew andrew nielsen and he is the one who is responsible for the pcb design and the artwork on this so the this amazing looking badge is his brilliance yes and um sorry whatever um so pancake legend said there are a bunch of optimizations that we could do to the capacitive sliders that could be explored in a v2 yeah um so these sliders that the touch sliders at the moment are a series of interlock being i can't do this with my hands are a series of triangles that are sort of over you know they're going past each other to multiple sets of triangles and andrew has been looking into the design of capacitive contacts and capacitive sliders in particular and because what you can do is you can make things like a circular slider so imagine what you could do with say a volume control where you have a board i'll just use the back of it imagine this logo was actually a series of tracks like concentric tracks and they vary in thickness what you could do is make it so that you could put your finger on there and spin it in a circle and you could do volume down volume up you know menu selection all sorts of really cool things so there are yeah there are lots of things that we could potentially do with this to make it even more funky in the future and andrew has been looking into that so uh oh aaron i will get back to that question in a second um andy said so andy um in the chat here is the one who wrote this code that i'm doing that i'm running at the moment said in the code on the first time we read an esp32 touch pin value there is a python try accept block to catch calibration problem and if required read a second time oh interesting okay so it is already so andy's of course andy is way ahead of me on this one and in his code it's already doing the try catch um to [Music] allow that calibration thing to be sorted uh all right i don't have an answer on that one i'm not sure why it's happening but sometimes the test on the touch switch is fails yeah all right um now oh and peter said lovely work pancake legendary yes uh yeah oh i think i've been missing some very interesting things back in the chat simon wren said i can see how school can change a person one time i said to teacher the problem was not able to be solved and the whole class was suspended for two weeks to continue after the final year what simon renz then said teachers in the old days were never wrong um yeah well the bad ones were never wrong the insecure ones were never wrong i had a um a bit of a mixed bag of teachers and i had some amazingly good teachers some not so good but um i had a couple of teachers that um yeah that were just brilliant and uh one was an english teacher i had a early on i had well i had a couple of really good english teachers and i also had a very good physics teacher but early on the um my physics teachers later in later years were not so good but early on like around i think it was my year nine physics teacher was was excellent sort of person that that makes you feel like you can achieve things and [Music] that and it gets you interested in the subject and it's not and it's not there just to assert their authority and work through the lesson plan and there shall not be any deviation from it oh speaking of teachers so this just um one of the there were several teachers when i was in primary school as well so the crazy school that i was talking about earlier we had a few different teachers over the years and we had i think one of the first ones was an irish woman um no scottish i think she was from scotland and one of the teachers later on like when i was in grade five or six the teacher who took over school because there was pretty much only ever one teacher because there was as i said between like 12 and 20 ish students at any one time and across a few year levels there would be one teacher for everybody and what they would have to do is try to come up with things that would teach that would be interesting and engaging and actually help people that are at different stages and there was the teacher who came uh sort of in my later years was a guy who um his job up until that point like his previous teaching job was that he was working i think it was in far north queensland in an aboriginal community and so the um so what he'd been doing was teaching aboriginal kids in this remote isolated community and they didn't have a school as such it was just running classes outdoors like wherever they happened to be so his experience had been with um with trying to keep people engaged and give them opportunities to learn and to learn how to learn outside of a traditional school environment and then he came along and brought that same sort of methodology [Music] when he ended up getting the job as a teacher at the little school i was at [Music] um so oh yeah and he had a um he brought his dog with him he had a blue healer which had been with him for years so he brought his dog back from uh from queensland when he moved to melbourne and his dog would come to school with him every day so it'll it would always be the teacher and his dog which kind of just illustrates what it was like all right so uh uh oh yes all right i will get back to your question aaron so rando hinn said i believe greg devil has a led ring that uses capacitive brightness control yeah i saw that that is really cool so for those of you who haven't seen it um i hope it all says lunch time yes and it is now well after two o'clock so i'm going to wrap up this live stream soon but first let me just show you something this is just a prop by way of illustration now can i find yes all right where is one now this is a this is an led ring which is used typically like a rounder you put a camera through the middle or um like the reason i have these is for microscope so you can't quite see it but there is a ring light under the microscope just there and so what greg designed was a pcb that i think was a ring light so it had surface mount leds on it and then he designed a capacitive touch thing into the edge of the pcb so that to adjust the brightness what you do is just touch the ring and slide your finger around it so it'd be like brighter do more brighter dimmer really clever idea i saw on he posted about it on twitter a while ago but i um i didn't see any updates on it like whether he got it finished and it was all working etc uh i'm like oh well i said john's been awake all night yeah can you tell my brain is all over the place all right now i'm going to try to get to aaron's question and the thing is that i've been seeing aaron's i don't actually have an answer to aaron's question um oh he's another squirrel nick said nick raprucci said is it an aluminium pcb not that one this is just a regular like fiberglass pcb but often those illuminators are done on aluminium core pcbs so the pcb is a is a heat sink so aaron's question he said question you can answer while testing what's your goals for 2021 and or any resolutions lined up hmm that i should have said this earlier i should have asked this question even if i'm not prepared to answer it because i'd be interested to know what you have as your goals for 2021 and resolutions lined up oh i haven't been paying attention to the tester it's been asking me to press the screen hey another successful part test um so uh yeah i want to know what everybody else thinks about that question thanks for bringing it up aaron now for me okay my goal i have a general goal for 2021 a couple of goals one is i need to fix my financial situation which is now starting to happen which is really cool over the last few months i've been doing a lot more contracting work and so i've been i've been getting income from that which is nice so i need to the ultimate goal is to pay off my tax debt and get back into a net positive position and then be able to move forward but that's kind of a crappy goal that's not something that you really aspire to doing that's just um that's just something that's got to be done the more interesting things are i want to finish a couple of projects i've got so many things in parallel and none of them are quite over the line well some have been but what i want to do is i need to get the air quality sensor mini series finished and now that that video is up i'm going to make it live for everybody soon in fact i might even do it today even though the uh the tutorial is not yet finished so okay backstory to that i did the first three parts of the air quality sensor mini-series and then i needed to do one about installing all of the software that you need for doing logging and charting and i've now finished that and it's uploaded it's on youtube but the written version of the tutorial is not quite finished so what i've done is made it live for patrons and github sponsors and uh it's been live for i don't know four days five days now for those people and uh my plan was to finish writing the the text version of the guide and release it to the public at the same time so everybody can see it but i think i'm just going to release the video even though the written tutorial is not complete i can finish that over the next few days but the problem is that i've had this deadline of doing all of these tests so that's why i haven't got back to to writing that and the release of the video has been delayed as a result but i don't want to delay any more so i think i'll just click the go live button probably after this live stream i will make that video go live and that video is setting up data logging and reporting using mqtt so mosquito node red influx db and grafana and they're yeah a lot of it is just looking at the terminal and running commands unfortunately which is not good for a video but i've got the i've got the mostly written text version of the tutorial which has all the commands in it so you can just copy and paste so the video shows you the basic sequence of what needs to be done but you don't need to sit there and stare at the screen and say uh what is what's he typing on that terminal you can just follow it at a general level and see what i'm doing in terms of the sequence of installing the software and setting passwords and you know those sorts of things and then the web page version has all of the text on it so for a command that you need to run you can just copy it paste it into the terminal press enter for the most part and hopefully that will be useful for people so i've got up most of the way it's it's amazing how long in how long not just in terms of time but in terms of page length how long instructions become when you try to be definitive and explain a whole sequence of how to do something you yeah it's easy to start out thinking oh yeah it's going to be like you know the equivalent of a few screens worth you know a couple of a4 pages worth of instructions and i can step people through doing these things and then you start writing the instructions and before you know it it's long and that's certainly what's happened with this so um uh getting back to aaron's question i'm going to finish the air quality sensor mini project because i've got the air quality sensor pro which some of you have seen teased on previous live streams i've like held up prototypes and stuff but the the aqs pro uses the pms703 particular matter sensor and it incorporates a bme 680 atmospheric sensor so it can do things like volatile organic compounds and all the normal environmental stuff temperature and humidity and air pressure and things so yeah and vocs combined with particulates means that you can have a very small device so the whole thing is quite small it's got an esp32 in it and a color lcd on the front so it can show numbers and reports on the front of the device and it can also talk to mqtt and that is a really cool little project but i want to get that finished but the summary is i want to get a couple of things finished and really the only way to do that is to focus on one at a time and just grind on it until it's done and then move on to the next one and i keep seeing squirrels so the problem is that i keep having ideas about other things that i want to build and the result is the things that i have 80 percent built don't ever make it to that 100 mark so my goal and resolution for 2021 is to grind on some of these projects that are not just quite there yet and get them finished and make videos and share them with everybody which would be cool now uh for a little while at least i can just keep doing i can run a bit over over time now if anybody needs a hall pass you can leave now but i'm just going to continue with this testing so i might as well run overtime and keep talking while i'm doing it so i've got through how many boards have i got through while i've been on the live stream so there were that's 20 there was another 20 there so i've done 40 plus this six so i've done 46 and the one that i'm testing right now so this will be 47 plus there was one that failed 48 so i've got through 48 boards and i didn't actually really start on this in earnest until after um the first hour because the first hour i was just explaining all the backstory and talking about testing in general and those sorts of things so it's in i've done 40 something boards in an hour and 20 minutes effectively so that's kind of on track for what i would expect for the throughput and i'd already done 130 something boards yesterday so that means that we are now up in the ballpark of 180 tested boards mako i did multitask yes amazingly yeah so we're at the point now where we've got about 180 boards fully tested and past testing plus the nine that have now failed testing uh yes so um ah peter i'll pittle all i said um got to go thanks for the sunday morning sanity everyone yeah thanks for coming along peter um and yeah i know you're you're dealing with some stuff at the moment i won't mention um what it is but hang in there peter so you're you're doing very well to um to be getting through uh through everything uh yeah it's not my place to mention anything else about that at the moment it's your story to tell so anyway i just wanted to give you a virtual high five and say i appreciate you so thanks for coming along peter uh um aaron said what wanted to try and learn sign language and use computer vision to create real time subtitles ah okay um that makes me want to talk about stuff but i i believe there is an nda involved so i'm not going to um ah i can't i can't that is a subject that i can't touch because it could get someone else in trouble if i mention it i'm not going to um yeah so what am i doing i lost track i was multitasking and then i stopped um all right so uh watch youtube with me said i'm interested in home automation i know i'm here at two o'clock in the morning yeah well for now it'll be 2 21 in the morning all right so oh a question randohin said i have one more question got one of your usb to uart's micro micro usb variant made at jlc that disconnects from windows once it's flipped to 3.3 volts why did i screw up soldering the board together um oh that's going to be a really hard one to answer so you're you've taken the um like the freetronix usb to serial adapter taken the design which is cool so the design files are up on github that's uh that's the reason they are there so people can see how it works and just to get this story straight so what you've done is taken the design files gone to jlc got the pcbs made and assembled it so you have a recreation of the design not one that not one of mine but it should in theory be the same okay hopefully i've got that right and then when you put it into 3.3 volts it disconnects from windows now without seeing the board that's going to be hard to diagnose but i'm thinking through possible ways that could go wrong and what flipping to 3.3 volt mode does now what happens is the us that usb serial converter has an atmega16u2 on it and the 16u2 has built-in usb so it can act as a it can connect to a computer and you don't need a usb to serial converter because it is it's got one built in basically so what's happening is that when you flip that switch between 5 volt and 3.3 volt mode there is a 3.3 volt regulator on the board so i assume that you have assembled the board with the 3.3 volt regulator on it and the the 18 mega can either get its power from the 5 volts that comes from the host or it can get it from the 3.3 volt regulator when you flip that switch what's happening is that it's just changing the source of the supply to the processor from either the 5 volt source or 3.3 volts and sorry distracted for a moment test passed hurry and the device itself so the atmega is still connected to the host computer in the exact same way it's not doing anything different and it should be able to run at 3.3 volts and still be connected to the host so what i suggest you test is grab a multimeter measure firstly measure the voltage on the input to the voltage regulator make sure that you've got five volts going into that because what might be happening is if that voltage regulator is not working properly when you flick the switch the device is trying to get its power from the 3.3 volt regulator but if it's not getting that 3.3 volts it just won't run and then it will disconnect from the host so that's probably my first thought as to why it's not working make sure that you're getting 5 volts going into the regulator from the host and getting 3.3 volts coming out of the regulator and the easiest way to measure that is actually on the six-way ftdi header on the end it's got the it's got ground and vcc that vcc line or v out or whatever it's labeled i can't remember will is directly connected to the output from the 3.3 volt regulator so if you are not getting the voltage that no well it's connected through the switch so it'll either be 5 volts or 3.3 volts depending on the position of the switch if you measure that v out pin and it is not one of those two voltages depending on the switch position then i think that's the source of your problem um hopefully that explains some things all right uh um is macmillan here what i just saw yes mark hey welcome to the stream uh so mark i just saw your name referenced by andy and i thought what you're here cool um yeah so macmillan is a very old friend of mine that i've known through lca in fact mark and i first met at lca in perth it would have been lca 2002 so 18 years ago i think was when we met and uh we've been conference buddies ever since uh once a year we meet up at lca in a different city and it's always awesome to see mark so mark is a a long time participant in the open hardware mini conf now i have totally lost the synchronous the sequence of where i'm at with the testing on this board i don't know whether i ran the test script or not so i'm going to run it again just to make sure and mark is uh what's that i was going to say well known but maybe notorious is a better way of putting it for doing crazy led projects particularly wearable leds and making clothing that turns him into a human led display so he often has crazy amounts of power like uh crazy numbers of watts of um of power that he's wearing many many amps going through the leds all right so uh oh michael said perth has not yet had a flooded lca no it hasn't um so uh paul schultz hey paul awesome all these lca people coming into the chat who are in the chat so paul said what would you use to delay the startup with an arduino that is solar powered um all right well that could be done oh what something just weird just happened in the tester distracted for a second uh yeah the way i would probably do that if you wanted a long delay like um when you say the delay to lay the startup of a of something based on that solar powered what i would do is i think i'll just have a hardware timer like stick a 555 in it and um set it so that it holds its output low now there there are thing is that there are ways you can also all right two ways to solve this problem if you want your processor to start as quickly as possible after hmm this one is not responding to button presses i'm going to run that test again if you want if you've got a board that you need to start after the supply rails have stabilized so you might have supply rails that are coming in and they might be wobbling around a bit and you want to make sure that they're over a certain voltage before your board starts there are chips specifically to do that and there is one on the i can't remember what it is you'd have to have to look it up but it's on the ether 10 and the ether mega there is a it's a chip that is used as a reset controller what we did with that was the there is a chip that reads the supply voltage and it has an output that you connect to the reset line of whatever your target device is so in the case of the ether10 it's controlling the reset line on the wiznet ethernet chip and it holds that line asserted so it holds the chip in reset until the supply voltage has been stable above a certain target value for a certain number of microseconds i think it's like 200 microseconds or something so the supply voltage will come up you know when you turn on power to to a device it doesn't suddenly jump from zero volts to five volts or zero volts to three point three volts it will come up as a ramp that's true because you know things like capacitors need to charge in the voltage regulator in your power supply so the voltage will ramp up over time and it will pass through a gray zone where the voltage is high enough that your device could be running but it's not actually up to its specified voltage yet and bad things could happen so you don't want your device to start while your supply voltage is coming up through that range and that is the reason that we have the reset controller on the the wiznet chip on those boards and there is this there's this little reset management chip that specifically does it and it's tiny it's like a sock 23-5 and they're not particularly expensive so that could be a solution to your problem paul get one of those i can't remember the part number i'd have to look it up which i could do if i fired up eagle and that would allow your target device to be held in reset until the voltage reaches a certain threshold now another way to do it if you but we're talking here about very fast response we're talking about something that the voltage is rising because the power supply is just being turned on we're down in the milliseconds or microseconds region and we want to keep it asserted keep it in reset until we're in a stable situation if you're talking about something that is much longer term then i would chuck a 555 in it and have it set so that the output is asserted low until a certain period has passed and then it goes high and then you'd have that connected to the reset pin possibly through a diode or so that it's like a um it asserts it when it's low and then when the timer goes high and its output goes high it's not actually driving the reset pin high you can still pull it low with the reset button or whatever but whenever the output from this timer is low it's holding the reset low uh i don't know if that hand wave the explanation made sense but paul you i know are an exceptionally smart guy and you can probably interpret my hand waves and figure out what i'm talking about so something i can't remember if i've ever shown it on this i have i don't have a power supply set up for it although i could do it paul designed this you can almost see it if you look in the uh where is it the camera so you can see just there just there that gray box sitting up on the top of the shelf that is a magic it detects magic so there if there is magic flying around in the air this will tell you um this thing here which is super cool and i power it up sometimes just because it is kind of like magic it's um it's got three geiger tubes in it so it's detecting high energy particles and the tubes are inside other tubes and they're in a triangular configuration so that it can detect things like the angle of incidence of a particle and there are rgb leds and a speaker and if you have something like a high energy particle come through it'll go boom and then show a color and it's all pretty cool in fact what the hell why don't i just power it up existence of magic confirmed muon detector yes so paul do you remember what voltage this requires is it 12 volts or something i don't know i've got a bench supply here so i can crank it to whatever we need let's um let's find i'll have a lead here with a a 2.1 mil plug on it now this is totally chasing squirrels but they are very very cool squirrels so somewhere i'm looking for a lead with a oh how can i not have one maybe oh it's in use i'm looking for a lead that is currently plugged into a raspberry pi but i will have others others that are similar somewhere i thought i did come on i've got to have a dc jack cable somewhere um up to 19 volts cool so i can just stick 12 volts off why am i fussing around i've got i've got a 12 volt lead on the bench right here all right let's i'm going to move this over where you can see it and i'm going to plug this in and we'll see what happens i'm messing everything up while i'm doing it plug in 12 volts oh i heard some noise coming out of the speaker it's booting up you hear the crackling settings channel 0 aha so it's reported some stuff to us and these are the different sounds that it's making 2. [Music] so this is part of its boot up process i think and then once it is ready to go okay so it's all booted up and uh if we so this will just sit here and do absolutely nothing unless it um yeah it is triggered and the muon detector notices something so what will happen is this will illuminate and it will go boiling and then we know that it has detected a particle flying through us and whatever um well there it goes so it's just detected a particle and it flashed blue you probably couldn't see that very well on the camera and there's another one it's flash green and uh so anyway the reason all of this came up is uh paul schultz who is here in the chat designed and built this and uh quite a few others like it and this was done for an art installation in adelaide i believe it was so these were set out on a lawn on this side near the river i've gone blank on it um it is the what is the big river that runs through adelaide ah um anyway it'll yeah change the camera pointing at the bench yeah i will do that aaron so overhead camera that zoom is no good all you can see is i'll see i'll zoom out as much as i can okay so that is the camera totally zoomed out and i'm going to lie this on its side which way that way so if you're looking at it normally just imagine that you're looking straight down but imagine you're looking at this sideways that's normally how you'd be looking at it and you can see that it flashes its globe and plays a sound so these were laid out in across a big area of lawn and people could stand around and i think the idea was that it was just a reminder to people that there are these high-energy particles that are flying through us and around us all the time and it was a way of doing [Music] uh just a way of visualizing that and making it obvious that you can you're standing out here you know in a grassy area and there are these invisible particles and this made it visual and and audible that these things were happening anyway um oh paul schultz said robert did the hardware we'll run on recycled laptop battery yep crystal ball of doom yeah i can go yes check the aura see the future uh oh chris said john have you got a luminous watch to show off the particles i think i do i have a i got an old diving watch somewhere but i don't even know where it is right now all right now that i've been chasing squirrels once again i have lost track of where this board is up to it's showing the correct things on the screen so i think it went through the tests but i don't want one to slip through so i'm running this test again and i'll leave the camera just pointing at the um the muon detector while i'm doing this river torrens yes james so that's right river torrens is what runs through adelaide yeah um yes so uh squirrels are chasing squirrels today i really will have to wrap up this live stream soon because uh i'm going to have to go and grab something to eat myself i've um i've actually got through a reasonable number of these boards i knocked these off while i was trying to uh trying to set up that muon detector earlier and yeah that the muon detector is uh oh so james asked is that a light globe from a ceiling lamp i don't know where that came from but paul is here in the chat so he can answer all the questions so it's one of those things that i can't just leave it i'd like to just leave it up on the shelf turned on because it is a very cool thing but it goes off too frequently and it's just a little bit too intrusive like with this i don't know whether you're picking up the audio through the microphone very well but with that running all day and i'll come over closer to it so that next time it's triggered you can probably hear it but if this was sitting up on the shelf and running all day and it was just constantly making these noises and now it's making a liar of me because i'm trying to show you this is the randomness of of particles flying around so you could probably use this as some kind of a an entropy source perhaps i don't know um see nothing's happening i'm sitting here right next to it now nothing's happening but if i left this up on the shelf powered up all day long oh my phone's ringing who is that uh i can't actually tell i can't see oh hang on it's my wife so i better answer that all right i will call her back in just a second but i will close in this live stream yes she's calling me for lunch all right i'm going to wrap up this live stream because i am way over time now it's now 2 hours and 42 minutes and then i will call and back so i just want to say thank you to everybody for coming along today uh this has been a bit of a strange one but i hope it's been useful to you so um yes don't let the wife wait i will not i'm going to get off this live stream right now i'm way over time thanks for coming and i will talk to you all next week i hope you have a fantastic week and goodbye goodbye you
Info
Channel: SuperHouseTV
Views: 12,836
Rating: 4.8389263 out of 5
Keywords:
Id: 4QGZMBXMk7g
Channel Id: undefined
Length: 162min 12sec (9732 seconds)
Published: Sat Dec 12 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.