1 00:00:06,320 --> 00:00:11,499 [Music] 2 00:00:15,280 --> 00:00:19,520 welcome back to the final session of the 3 00:00:17,199 --> 00:00:21,279 open hardware minicon so our presenter 4 00:00:19,520 --> 00:00:23,039 for this session is bob powers who has 5 00:00:21,279 --> 00:00:25,519 been behind the scenes 6 00:00:23,039 --> 00:00:27,039 at many previous open hardware minicomps 7 00:00:25,519 --> 00:00:29,279 and has had a hand in the hardware 8 00:00:27,039 --> 00:00:32,079 design of quite a few of our projects 9 00:00:29,279 --> 00:00:34,800 and has done all of the heavy lifting 10 00:00:32,079 --> 00:00:36,800 this year on the rockling board 11 00:00:34,800 --> 00:00:38,480 so he's going to be talking about the 12 00:00:36,800 --> 00:00:41,040 the rocklin hardware 13 00:00:38,480 --> 00:00:43,520 and i was told to introduce him as ah 14 00:00:41,040 --> 00:00:44,640 some guy who does stuff so 15 00:00:43,520 --> 00:00:48,160 here we have 16 00:00:44,640 --> 00:00:50,559 bob power is some guy who does stuff 17 00:00:48,160 --> 00:00:50,559 thank you 18 00:00:51,520 --> 00:00:55,120 that's one of the things i do 19 00:00:53,890 --> 00:00:56,879 [Music] 20 00:00:55,120 --> 00:01:01,359 that was intentional gentlemen welcome 21 00:00:56,879 --> 00:01:02,879 to the shop no i'm i'm not that guy um 22 00:01:01,359 --> 00:01:04,320 i always wanted to be a youtube star 23 00:01:02,879 --> 00:01:06,080 though john thank you for setting this 24 00:01:04,320 --> 00:01:06,960 all up it's a pretty good setup he's got 25 00:01:06,080 --> 00:01:07,920 here 26 00:01:06,960 --> 00:01:08,799 um 27 00:01:07,920 --> 00:01:10,880 so 28 00:01:08,799 --> 00:01:12,479 yeah what are we doing here uh we're 29 00:01:10,880 --> 00:01:14,640 gonna talk a little bit about the 30 00:01:12,479 --> 00:01:16,320 hardware i know andy's covered 31 00:01:14,640 --> 00:01:17,680 certain sections about uh some of the 32 00:01:16,320 --> 00:01:19,200 signals and things that go on with the 33 00:01:17,680 --> 00:01:20,880 fpga but 34 00:01:19,200 --> 00:01:22,080 uh when i help out with these things i 35 00:01:20,880 --> 00:01:23,920 generally like to talk a little bit 36 00:01:22,080 --> 00:01:25,439 about hardware design the choices that 37 00:01:23,920 --> 00:01:27,439 get made 38 00:01:25,439 --> 00:01:29,200 um usually some of the things we messed 39 00:01:27,439 --> 00:01:30,479 up again john stole some some of my 40 00:01:29,200 --> 00:01:32,240 thunder there but most of those were his 41 00:01:30,479 --> 00:01:34,880 screw-ups i've got my own 42 00:01:32,240 --> 00:01:37,759 don't worry we we kept a few in the bank 43 00:01:34,880 --> 00:01:39,439 and um yeah that's probably about what's 44 00:01:37,759 --> 00:01:41,600 going i'm gonna go a little bit into 45 00:01:39,439 --> 00:01:44,079 some ideas about um if you're getting 46 00:01:41,600 --> 00:01:45,600 into hardware like a hobbyist level 47 00:01:44,079 --> 00:01:47,200 some of the the ideas you might want to 48 00:01:45,600 --> 00:01:49,200 take on board and some interesting 49 00:01:47,200 --> 00:01:51,280 things that help out there so 50 00:01:49,200 --> 00:01:53,840 uh first off you'll probably notice a 51 00:01:51,280 --> 00:01:55,680 theme and i should start off by saying 52 00:01:53,840 --> 00:01:57,600 uh these guys wanted to do a little bit 53 00:01:55,680 --> 00:02:00,079 of a like you know end of day thing at 54 00:01:57,600 --> 00:02:02,159 the end so uh they've they've chopped 55 00:02:00,079 --> 00:02:03,920 just straight up stolen about five to 56 00:02:02,159 --> 00:02:05,360 ten minutes from me at the end but 57 00:02:03,920 --> 00:02:06,799 that's okay because that fits in nicely 58 00:02:05,360 --> 00:02:08,479 with our theme so 59 00:02:06,799 --> 00:02:10,319 i'll thank them for doing that that was 60 00:02:08,479 --> 00:02:13,360 really apropos 61 00:02:10,319 --> 00:02:15,440 um where's my um focus is off 62 00:02:13,360 --> 00:02:17,200 how did we get up there that guy that 63 00:02:15,440 --> 00:02:18,239 guy 64 00:02:17,200 --> 00:02:20,959 focus 65 00:02:18,239 --> 00:02:22,560 i'm not that guy 66 00:02:20,959 --> 00:02:23,360 hello everyone 67 00:02:22,560 --> 00:02:24,720 so 68 00:02:23,360 --> 00:02:27,200 welcome back to the good stuff i'm not 69 00:02:24,720 --> 00:02:30,400 that guy either did anybody get that one 70 00:02:27,200 --> 00:02:31,840 no no chess fans that's again mator he's 71 00:02:30,400 --> 00:02:33,440 the other youtube guy those are the only 72 00:02:31,840 --> 00:02:35,360 two youtube guys i know 73 00:02:33,440 --> 00:02:36,720 um first we'll start off by thanking 74 00:02:35,360 --> 00:02:38,640 everyone so that i don't forget to do 75 00:02:36,720 --> 00:02:41,120 that and uh again back to the theme it 76 00:02:38,640 --> 00:02:43,280 fits in you'll find out how uh the the 77 00:02:41,120 --> 00:02:45,840 ohmc team of course i can't stop not 78 00:02:43,280 --> 00:02:47,360 mentioning them uh 79 00:02:45,840 --> 00:02:49,120 yeah you've heard their names a thousand 80 00:02:47,360 --> 00:02:50,400 times i don't have the speaker notes up 81 00:02:49,120 --> 00:02:52,080 here but it's basically everyone in this 82 00:02:50,400 --> 00:02:55,200 room andrew nielsen 83 00:02:52,080 --> 00:02:57,920 uh steph piper uh who else did we have 84 00:02:55,200 --> 00:03:00,800 contributions andy kitchener yeah 85 00:02:57,920 --> 00:03:03,040 you you've heard their names a bit um 86 00:03:00,800 --> 00:03:04,879 yeah anyway john spencer 87 00:03:03,040 --> 00:03:06,480 lachlan stepped in a little bit like 88 00:03:04,879 --> 00:03:09,120 yeah everyone that said anything there's 89 00:03:06,480 --> 00:03:10,959 too many to count you know them uh then 90 00:03:09,120 --> 00:03:12,319 the specifically the hardware ones i 91 00:03:10,959 --> 00:03:14,640 want to mention uh there will be some 92 00:03:12,319 --> 00:03:16,640 thanks at the end too but uh the guys at 93 00:03:14,640 --> 00:03:18,400 gowdy labs they're the ones that we 94 00:03:16,640 --> 00:03:21,360 basically lifted the theremin front end 95 00:03:18,400 --> 00:03:23,040 from uh fomo and icebreaker they're the 96 00:03:21,360 --> 00:03:24,640 fpga stuff so that we didn't have to 97 00:03:23,040 --> 00:03:27,200 think about that very much 98 00:03:24,640 --> 00:03:30,080 and paul stoffelgren pj rc uh you know 99 00:03:27,200 --> 00:03:31,760 the guys at teensy uh well the guy at 100 00:03:30,080 --> 00:03:32,400 tnc i guess i don't know there's more of 101 00:03:31,760 --> 00:03:35,120 them 102 00:03:32,400 --> 00:03:36,239 um yeah you'll see why i really want to 103 00:03:35,120 --> 00:03:38,799 say thank you to them but of course 104 00:03:36,239 --> 00:03:42,239 there are lots of others too so moving 105 00:03:38,799 --> 00:03:43,680 on uh this is me a little bit i do 106 00:03:42,239 --> 00:03:45,760 professional consulting work in the area 107 00:03:43,680 --> 00:03:47,599 of electronics design i do that so i can 108 00:03:45,760 --> 00:03:48,959 do this i'm not going to plug myself any 109 00:03:47,599 --> 00:03:51,040 further than that but 110 00:03:48,959 --> 00:03:52,879 i am taking work so if anybody has too 111 00:03:51,040 --> 00:03:55,439 much money and wants to get rid of it 112 00:03:52,879 --> 00:03:57,760 that's what i specialize in so 113 00:03:55,439 --> 00:03:59,280 give me a call or an email either one 114 00:03:57,760 --> 00:04:02,239 will work 115 00:03:59,280 --> 00:04:04,640 um just in case these are what we're 116 00:04:02,239 --> 00:04:05,920 talking about here i'm gonna mostly skip 117 00:04:04,640 --> 00:04:07,200 over the party button i don't even think 118 00:04:05,920 --> 00:04:08,640 i have any slides on that that's been 119 00:04:07,200 --> 00:04:09,599 talked about a bit i think that's been 120 00:04:08,640 --> 00:04:11,200 covered 121 00:04:09,599 --> 00:04:12,480 and i really didn't help out so i 122 00:04:11,200 --> 00:04:13,840 shouldn't talk too much about it but 123 00:04:12,480 --> 00:04:15,840 thanks steph you did a great job it 124 00:04:13,840 --> 00:04:19,440 looked great um and it's yeah pretty 125 00:04:15,840 --> 00:04:22,160 good result so cool so the other two 126 00:04:19,440 --> 00:04:24,160 we've got the swag badge which um you 127 00:04:22,160 --> 00:04:26,400 guys have seen this we've kind of waved 128 00:04:24,160 --> 00:04:28,000 it around a bit today it goes that way 129 00:04:26,400 --> 00:04:30,080 um 130 00:04:28,000 --> 00:04:31,919 it's really not complicated uh that's 131 00:04:30,080 --> 00:04:34,080 not a knock at andrew who did most of 132 00:04:31,919 --> 00:04:36,080 the work on this he's very early in his 133 00:04:34,080 --> 00:04:37,520 electronics design career but you can 134 00:04:36,080 --> 00:04:40,960 see all the the wonderful work that he's 135 00:04:37,520 --> 00:04:43,360 done design wise and uh this is kind of 136 00:04:40,960 --> 00:04:45,120 encouraging because as powerful as this 137 00:04:43,360 --> 00:04:46,720 is this is the entire schematic you can 138 00:04:45,120 --> 00:04:49,120 see there it's basically a couple of 139 00:04:46,720 --> 00:04:51,440 connectors a dev board a reset button 140 00:04:49,120 --> 00:04:52,880 and a screen so um 141 00:04:51,440 --> 00:04:54,160 the the idea that you can throw those 142 00:04:52,880 --> 00:04:56,320 things together 143 00:04:54,160 --> 00:04:57,840 uh you know without knowing too much 144 00:04:56,320 --> 00:04:59,199 about anything that's that's really 145 00:04:57,840 --> 00:05:02,000 powerful but we've all seen that before 146 00:04:59,199 --> 00:05:04,479 that's been the theme of uh ohmcs for 147 00:05:02,000 --> 00:05:06,080 you know 10 or 12 years now 148 00:05:04,479 --> 00:05:08,400 pardon me 149 00:05:06,080 --> 00:05:09,919 so that's cool on its own you can see 150 00:05:08,400 --> 00:05:11,680 that we even took you know half of the 151 00:05:09,919 --> 00:05:15,120 schematic just to kind of 152 00:05:11,680 --> 00:05:16,960 pass notes to each other and uh 153 00:05:15,120 --> 00:05:18,960 yeah that's cool 154 00:05:16,960 --> 00:05:21,120 so there are some things though even as 155 00:05:18,960 --> 00:05:22,560 simple as it is that and as cool as the 156 00:05:21,120 --> 00:05:24,080 design is that maybe you can't see 157 00:05:22,560 --> 00:05:25,680 without kind of x-ray vision because it 158 00:05:24,080 --> 00:05:27,360 gets hidden by the the overlay or the 159 00:05:25,680 --> 00:05:29,120 silk screen 160 00:05:27,360 --> 00:05:31,120 the the touch sliders are kind of much 161 00:05:29,120 --> 00:05:33,280 improved uh i i don't know if we've got 162 00:05:31,120 --> 00:05:35,600 any quantifiable date on that but 163 00:05:33,280 --> 00:05:37,199 they're worth looking at um just uh 164 00:05:35,600 --> 00:05:40,080 that's a really good one if you're 165 00:05:37,199 --> 00:05:42,080 getting into keycad in particular 166 00:05:40,080 --> 00:05:44,000 the pad layout and the design of that 167 00:05:42,080 --> 00:05:45,360 figuring out how that gets made and 168 00:05:44,000 --> 00:05:46,479 where the keep outs and things like that 169 00:05:45,360 --> 00:05:47,600 are 170 00:05:46,479 --> 00:05:49,360 there's a lot that goes into that so 171 00:05:47,600 --> 00:05:51,360 just opening that library component and 172 00:05:49,360 --> 00:05:52,800 having a look at it 173 00:05:51,360 --> 00:05:54,400 that's you know that's kind of 174 00:05:52,800 --> 00:05:56,560 instructive so i just wanted to point 175 00:05:54,400 --> 00:05:59,199 that out and you can see a side by side 176 00:05:56,560 --> 00:06:01,919 comparison uh this is really a cool 177 00:05:59,199 --> 00:06:04,000 thing and it's really more artsy than 178 00:06:01,919 --> 00:06:06,960 anything that i would have ever made so 179 00:06:04,000 --> 00:06:07,759 andrew is done just he's a bang-up job 180 00:06:06,960 --> 00:06:09,600 there 181 00:06:07,759 --> 00:06:11,680 so that's mostly what i wanted to talk 182 00:06:09,600 --> 00:06:12,960 about for that 183 00:06:11,680 --> 00:06:15,199 um 184 00:06:12,960 --> 00:06:16,479 so moving on to the other thing which is 185 00:06:15,199 --> 00:06:19,199 mostly the thing i want to talk about 186 00:06:16,479 --> 00:06:21,919 because that's the thing i worked on 187 00:06:19,199 --> 00:06:24,479 is this rocklin board it's fish uh i 188 00:06:21,919 --> 00:06:27,600 have it on good authority that that john 189 00:06:24,479 --> 00:06:29,919 oxer won about nine over nine thousand 190 00:06:27,600 --> 00:06:34,319 internet points for that photo alone 191 00:06:29,919 --> 00:06:36,880 because it is just just brilliant um how 192 00:06:34,319 --> 00:06:38,000 how that even came to be is awesome 193 00:06:36,880 --> 00:06:39,199 i wouldn't have put them in an 194 00:06:38,000 --> 00:06:40,560 ultrasonic cleaner because they have a 195 00:06:39,199 --> 00:06:42,479 little mems microphone on them but 196 00:06:40,560 --> 00:06:45,360 that's just me being you know an old 197 00:06:42,479 --> 00:06:46,400 angry man with a beard 198 00:06:45,360 --> 00:06:48,080 um 199 00:06:46,400 --> 00:06:50,000 you've kind of seen this idea as well 200 00:06:48,080 --> 00:06:52,080 andy's shown this to you 201 00:06:50,000 --> 00:06:54,960 so why am i showing it to you again 202 00:06:52,080 --> 00:06:57,280 uh well this is even more simplified 203 00:06:54,960 --> 00:06:59,520 and really i want to point out for the 204 00:06:57,280 --> 00:07:01,520 budding hardware designer 205 00:06:59,520 --> 00:07:03,520 if you were going to get into this 206 00:07:01,520 --> 00:07:04,960 trying to take a hierarchical systems 207 00:07:03,520 --> 00:07:06,160 view 208 00:07:04,960 --> 00:07:07,120 is really the right way to approach 209 00:07:06,160 --> 00:07:08,560 something that gets a little more 210 00:07:07,120 --> 00:07:10,960 complex than just 211 00:07:08,560 --> 00:07:12,639 you know a single schematic sheet and a 212 00:07:10,960 --> 00:07:14,880 fairly simple layout with with two 213 00:07:12,639 --> 00:07:16,160 layers so once you get into this idea 214 00:07:14,880 --> 00:07:17,360 that you can have multiple functional 215 00:07:16,160 --> 00:07:19,280 units you really kind of want to 216 00:07:17,360 --> 00:07:20,800 separate them it makes sense when you 217 00:07:19,280 --> 00:07:22,400 see it but you know you kind of want to 218 00:07:20,800 --> 00:07:23,919 see it done so 219 00:07:22,400 --> 00:07:26,080 i'm trying to lay that out so that you 220 00:07:23,919 --> 00:07:28,639 can get an idea here 221 00:07:26,080 --> 00:07:31,039 that there's only a few blocks and once 222 00:07:28,639 --> 00:07:32,720 you kind of correspond this simple 223 00:07:31,039 --> 00:07:34,000 diagram to 224 00:07:32,720 --> 00:07:36,160 something in the schematic and then 225 00:07:34,000 --> 00:07:38,000 ultimately how that ends up on the pcb 226 00:07:36,160 --> 00:07:40,080 that's sort of where i'm going for 227 00:07:38,000 --> 00:07:41,520 going to in the next couple of minutes 228 00:07:40,080 --> 00:07:43,680 so 229 00:07:41,520 --> 00:07:45,919 um the parts you see there andy's kind 230 00:07:43,680 --> 00:07:47,440 of talked about them he even showed in 231 00:07:45,919 --> 00:07:49,280 much more detail the signals and the way 232 00:07:47,440 --> 00:07:51,759 that those get passed and what the 233 00:07:49,280 --> 00:07:54,960 protocols are and so forth so i don't 234 00:07:51,759 --> 00:07:56,879 think i'll belabor this too much um 235 00:07:54,960 --> 00:07:58,800 you can look it over i'll return to this 236 00:07:56,879 --> 00:08:00,400 a few times as well 237 00:07:58,800 --> 00:08:02,560 but focusing on the blue blocks in the 238 00:08:00,400 --> 00:08:03,840 middle probably gets you most of the way 239 00:08:02,560 --> 00:08:05,120 so 240 00:08:03,840 --> 00:08:06,960 when you see that translated to a 241 00:08:05,120 --> 00:08:08,800 schematic this is kind of what it looks 242 00:08:06,960 --> 00:08:10,319 like and so this is the top sheet of the 243 00:08:08,800 --> 00:08:12,240 schematic and 244 00:08:10,319 --> 00:08:14,800 going back to what i said about wanting 245 00:08:12,240 --> 00:08:16,639 to take a hierarchical view of things uh 246 00:08:14,800 --> 00:08:18,080 this is probably the the easiest and 247 00:08:16,639 --> 00:08:20,000 most natural way to do it and kicad 248 00:08:18,080 --> 00:08:22,639 supports this well most of your cad 249 00:08:20,000 --> 00:08:24,000 programs out there for for uh electronic 250 00:08:22,639 --> 00:08:26,000 cad or pcb layout they're going to 251 00:08:24,000 --> 00:08:28,240 support this similar sort of idea so 252 00:08:26,000 --> 00:08:30,080 these are hierarchical schematic sheets 253 00:08:28,240 --> 00:08:32,719 we'll dive into each of those four blue 254 00:08:30,080 --> 00:08:34,320 blocks and you can see that most 255 00:08:32,719 --> 00:08:36,800 everything else is just interface it's 256 00:08:34,320 --> 00:08:39,519 either connectors or options 257 00:08:36,800 --> 00:08:41,839 maybe some leds or something like that 258 00:08:39,519 --> 00:08:44,640 but they don't do a whole lot they're 259 00:08:41,839 --> 00:08:46,320 just how you access the what's in the 260 00:08:44,640 --> 00:08:50,000 more functional parts in those blue 261 00:08:46,320 --> 00:08:52,080 blocks where all the complexity lies 262 00:08:50,000 --> 00:08:53,440 um so i'll quickly run you through those 263 00:08:52,080 --> 00:08:55,279 it's probably pretty boring to the 264 00:08:53,440 --> 00:08:57,519 non-electrical engineer those who aren't 265 00:08:55,279 --> 00:09:00,240 so inclined but there are a few little 266 00:08:57,519 --> 00:09:01,839 things to talk about in each one and uh 267 00:09:00,240 --> 00:09:03,839 i might have one or two things to talk 268 00:09:01,839 --> 00:09:06,480 about so for example um 269 00:09:03,839 --> 00:09:07,680 we've got the analog front end so 270 00:09:06,480 --> 00:09:09,920 this is where we're going to do some 271 00:09:07,680 --> 00:09:11,600 translation of a physical movement in 272 00:09:09,920 --> 00:09:14,000 space that's going to come up with the 273 00:09:11,600 --> 00:09:15,760 signal that rfpga can then read and and 274 00:09:14,000 --> 00:09:19,200 mean something from it 275 00:09:15,760 --> 00:09:20,080 so what goes on in there um well first 276 00:09:19,200 --> 00:09:22,320 off 277 00:09:20,080 --> 00:09:25,120 how we got there and our design 278 00:09:22,320 --> 00:09:27,360 philosophy was uh let's not redesign 279 00:09:25,120 --> 00:09:30,399 this let's just steal it so 280 00:09:27,360 --> 00:09:32,399 we did exactly that uh i opened up the 281 00:09:30,399 --> 00:09:34,480 gowdy labs uh 282 00:09:32,399 --> 00:09:36,399 keycad files also in keycad well done 283 00:09:34,480 --> 00:09:38,480 fellas uh thanks for that 284 00:09:36,399 --> 00:09:40,240 and uh we basically just chopped theirs 285 00:09:38,480 --> 00:09:41,920 off right at the point where it went 286 00:09:40,240 --> 00:09:44,720 into the digital processing part of 287 00:09:41,920 --> 00:09:47,040 their circuitry so this front end this 288 00:09:44,720 --> 00:09:48,880 design i didn't do this i don't get to 289 00:09:47,040 --> 00:09:50,720 take credit for it 290 00:09:48,880 --> 00:09:51,760 and this is the beauty of open source 291 00:09:50,720 --> 00:09:52,959 and the theme that i'm gonna keep 292 00:09:51,760 --> 00:09:55,680 returning to 293 00:09:52,959 --> 00:09:57,600 uh about how how wonderful it is to just 294 00:09:55,680 --> 00:09:58,720 in involve yourself in straight up 295 00:09:57,600 --> 00:10:00,800 thievery 296 00:09:58,720 --> 00:10:04,000 um 297 00:10:00,800 --> 00:10:06,240 so uh i don't did anybody show andy k 298 00:10:04,000 --> 00:10:08,800 simulation no oh 299 00:10:06,240 --> 00:10:11,040 um i've got a link to that here 300 00:10:08,800 --> 00:10:12,800 uh can i yeah i don't know if i want to 301 00:10:11,040 --> 00:10:15,200 jump out of the presentation later we'll 302 00:10:12,800 --> 00:10:17,360 try and return to that 303 00:10:15,200 --> 00:10:19,360 yeah it's on falstad again a beautiful 304 00:10:17,360 --> 00:10:21,200 thing that's just out in the world 305 00:10:19,360 --> 00:10:23,279 uh we'll do that but that gives you a 306 00:10:21,200 --> 00:10:24,640 really good idea of how this works 307 00:10:23,279 --> 00:10:26,880 yeah we'll find two minutes at the end 308 00:10:24,640 --> 00:10:28,240 to show you that so what you see there 309 00:10:26,880 --> 00:10:30,320 is it's pretty simple though you have 310 00:10:28,240 --> 00:10:32,480 your antennas on the left highlighted in 311 00:10:30,320 --> 00:10:34,880 kind of pink and you see the the 312 00:10:32,480 --> 00:10:37,120 hierarchical sheet on the left the the 313 00:10:34,880 --> 00:10:39,040 schematic symbol for it it just shows 314 00:10:37,120 --> 00:10:40,880 you how it's all condensed into inputs 315 00:10:39,040 --> 00:10:42,959 and outputs from a block this is a sort 316 00:10:40,880 --> 00:10:43,920 of you know seminal engineering thing 317 00:10:42,959 --> 00:10:45,360 it's like 318 00:10:43,920 --> 00:10:47,040 things come in things go out and you get 319 00:10:45,360 --> 00:10:48,720 to ignore the rest of it or at least you 320 00:10:47,040 --> 00:10:50,240 have to look in further 321 00:10:48,720 --> 00:10:52,720 and so that's the whole idea i'm talking 322 00:10:50,240 --> 00:10:54,480 about and so the outputs to the fpga 323 00:10:52,720 --> 00:10:56,240 come out the other end of this analog 324 00:10:54,480 --> 00:10:58,560 front end and there's some tuning that 325 00:10:56,240 --> 00:11:00,720 goes on with with a dac which is a 326 00:10:58,560 --> 00:11:03,040 digital to analog compare 327 00:11:00,720 --> 00:11:05,440 converter so that just you put in a 328 00:11:03,040 --> 00:11:09,040 number you say like 17 it puts out a 329 00:11:05,440 --> 00:11:10,640 voltage say like 6.63 volts and as you 330 00:11:09,040 --> 00:11:12,399 change the voltage it'll change the 331 00:11:10,640 --> 00:11:14,240 tuning frequency of these antennas 332 00:11:12,399 --> 00:11:15,040 that's really clear from the simulation 333 00:11:14,240 --> 00:11:16,079 so 334 00:11:15,040 --> 00:11:17,760 um 335 00:11:16,079 --> 00:11:19,519 yeah the only other thing i wanted to 336 00:11:17,760 --> 00:11:21,279 point out here is i stuck in a little 337 00:11:19,519 --> 00:11:23,760 experiment that i still haven't got uh 338 00:11:21,279 --> 00:11:25,920 time to do which is whether or not i can 339 00:11:23,760 --> 00:11:29,040 cut out that dac entirely and get the 340 00:11:25,920 --> 00:11:31,440 fpga to do some direct digital synthesis 341 00:11:29,040 --> 00:11:32,880 it's basically a fancy way of saying pwm 342 00:11:31,440 --> 00:11:35,200 which is a fancy way of saying just 343 00:11:32,880 --> 00:11:37,920 flipping a switch on and off really fast 344 00:11:35,200 --> 00:11:39,920 and getting it to do that tuning 345 00:11:37,920 --> 00:11:40,959 function in the same way that the dac 346 00:11:39,920 --> 00:11:43,360 would 347 00:11:40,959 --> 00:11:44,880 but only by using the fpga so that's 348 00:11:43,360 --> 00:11:47,680 kind of one of those cool things about 349 00:11:44,880 --> 00:11:49,120 fpgas is you they might give you the the 350 00:11:47,680 --> 00:11:50,560 ability to get rid of other bits of 351 00:11:49,120 --> 00:11:52,720 hardware which we've talked about you 352 00:11:50,560 --> 00:11:55,200 know once or twice today 353 00:11:52,720 --> 00:11:56,959 so um 354 00:11:55,200 --> 00:11:58,320 moving over to the fpga this is where 355 00:11:56,959 --> 00:12:00,959 the signal processing happens there's 356 00:11:58,320 --> 00:12:02,800 been a lot of talk about this as well um 357 00:12:00,959 --> 00:12:04,639 the tools there are very cool what goes 358 00:12:02,800 --> 00:12:07,120 on in there just everything gets 359 00:12:04,639 --> 00:12:09,040 connected and the most important point 360 00:12:07,120 --> 00:12:11,120 about all this is this is completely 361 00:12:09,040 --> 00:12:12,959 stolen as well so how do you build a 362 00:12:11,120 --> 00:12:15,279 complex system you know maybe on your 363 00:12:12,959 --> 00:12:17,040 first or second try uh make somebody 364 00:12:15,279 --> 00:12:20,560 else do all the hard work and then steal 365 00:12:17,040 --> 00:12:23,680 the results so uh the guys tim ansel and 366 00:12:20,560 --> 00:12:25,440 fomu project thank you zobs uh you know 367 00:12:23,680 --> 00:12:28,720 we basically just took all of your hard 368 00:12:25,440 --> 00:12:30,959 work here and uh it's ours now uh we get 369 00:12:28,720 --> 00:12:31,920 to appreciate it and make little fancy 370 00:12:30,959 --> 00:12:33,440 fishes 371 00:12:31,920 --> 00:12:36,639 um so 372 00:12:33,440 --> 00:12:38,160 oh i'm gonna run out of time 373 00:12:36,639 --> 00:12:39,920 you can skip most of this this is just 374 00:12:38,160 --> 00:12:41,200 connectivity uh there's a system clock 375 00:12:39,920 --> 00:12:44,959 john's gonna talk about that later it's 376 00:12:41,200 --> 00:12:46,560 hilarious um but really this is more 377 00:12:44,959 --> 00:12:48,720 this is better summed up just by looking 378 00:12:46,560 --> 00:12:50,800 at you know uh everything gets done in 379 00:12:48,720 --> 00:12:54,480 spreadsheets uh this means where 380 00:12:50,800 --> 00:12:56,720 everything went on the the whole uh pcb 381 00:12:54,480 --> 00:12:59,839 moving on uh after that you want to get 382 00:12:56,720 --> 00:13:03,680 some output we've got an audio block um 383 00:12:59,839 --> 00:13:05,040 this has got an audio codec um and an 384 00:13:03,680 --> 00:13:06,480 amplifier which might be kind of 385 00:13:05,040 --> 00:13:08,240 optional in the end because the audio 386 00:13:06,480 --> 00:13:09,200 codec does output to a set of headphone 387 00:13:08,240 --> 00:13:10,800 speakers 388 00:13:09,200 --> 00:13:12,880 that's the the pink guy on there i 389 00:13:10,800 --> 00:13:14,000 should be waving more props around here 390 00:13:12,880 --> 00:13:16,000 one of the advantages of being a 391 00:13:14,000 --> 00:13:16,959 hardware guy is you get all the props 392 00:13:16,000 --> 00:13:18,160 um 393 00:13:16,959 --> 00:13:21,440 so 394 00:13:18,160 --> 00:13:23,519 this guy uh is great because uh we just 395 00:13:21,440 --> 00:13:25,600 got to steal this from paul stoffelgren 396 00:13:23,519 --> 00:13:27,519 so yet another block major functional 397 00:13:25,600 --> 00:13:30,079 block uh three out of four basically 398 00:13:27,519 --> 00:13:33,200 stolen there is an amplifier that i took 399 00:13:30,079 --> 00:13:35,440 straight off of like some data sheet and 400 00:13:33,200 --> 00:13:37,920 it it basically works so that's kind of 401 00:13:35,440 --> 00:13:40,160 a way of stealing as well um but another 402 00:13:37,920 --> 00:13:43,760 major functional block that was just you 403 00:13:40,160 --> 00:13:46,000 know easy to do drop that in um paul and 404 00:13:43,760 --> 00:13:47,199 the pjrc have already done all the work 405 00:13:46,000 --> 00:13:50,000 thanks guys 406 00:13:47,199 --> 00:13:52,000 um and that even makes it easy for 407 00:13:50,000 --> 00:13:55,839 testing so this was a pretty cool thing 408 00:13:52,000 --> 00:13:58,079 where uh you know paul's got this uh dev 409 00:13:55,839 --> 00:13:59,600 board and a teensy and they go together 410 00:13:58,079 --> 00:14:01,600 and the signals are right there so in 411 00:13:59,600 --> 00:14:03,760 order to test it you grab a teensy you 412 00:14:01,600 --> 00:14:05,519 grab the audio dev board from pj rc 413 00:14:03,760 --> 00:14:07,120 store and you hook it up and you go oh 414 00:14:05,519 --> 00:14:09,600 that makes noise and then you hook it up 415 00:14:07,120 --> 00:14:12,800 to your signal or your board there for 416 00:14:09,600 --> 00:14:14,320 testing in the same way and ta-da all of 417 00:14:12,800 --> 00:14:15,760 a sudden you don't even have to populate 418 00:14:14,320 --> 00:14:18,000 the rest of the circuitry as you can see 419 00:14:15,760 --> 00:14:20,000 half of that board isn't even populated 420 00:14:18,000 --> 00:14:20,959 and away you go you find out that your 421 00:14:20,000 --> 00:14:23,360 audio 422 00:14:20,959 --> 00:14:25,600 codec works and 423 00:14:23,360 --> 00:14:27,519 ultimately also that the audio amplifier 424 00:14:25,600 --> 00:14:29,199 works on the back end so there's half 425 00:14:27,519 --> 00:14:30,880 the board functionality tested without 426 00:14:29,199 --> 00:14:32,160 even having to do anything that was 427 00:14:30,880 --> 00:14:33,360 pretty cool 428 00:14:32,160 --> 00:14:35,279 um 429 00:14:33,360 --> 00:14:36,720 then there's the power block uh i'll 430 00:14:35,279 --> 00:14:38,560 mention this really quick because 431 00:14:36,720 --> 00:14:40,480 there's only sort of one thing that i 432 00:14:38,560 --> 00:14:42,160 also stole here this is ugly so i must 433 00:14:40,480 --> 00:14:43,839 have designed it 434 00:14:42,160 --> 00:14:45,600 but there is power sequencing for the 435 00:14:43,839 --> 00:14:47,760 fpga this is a little bit different for 436 00:14:45,600 --> 00:14:49,440 most of your microcontroller projects 437 00:14:47,760 --> 00:14:51,120 basically 438 00:14:49,440 --> 00:14:52,800 you're normally with an fpga gonna have 439 00:14:51,120 --> 00:14:55,600 several power rails in this case we have 440 00:14:52,800 --> 00:14:57,680 three uh that's not a large number at 441 00:14:55,600 --> 00:15:01,040 all i've worked on projects with six 442 00:14:57,680 --> 00:15:02,399 eight ten sometimes i think so uh but 443 00:15:01,040 --> 00:15:04,000 they have to come up in a certain way 444 00:15:02,399 --> 00:15:05,360 that's what a lot of this is doing is 445 00:15:04,000 --> 00:15:08,160 just making sure that happens in the 446 00:15:05,360 --> 00:15:10,160 right order and um yeah you can look at 447 00:15:08,160 --> 00:15:10,880 that if you want also there's a 448 00:15:10,160 --> 00:15:13,040 uh 449 00:15:10,880 --> 00:15:15,600 yeah a sign about back feeding the the 450 00:15:13,040 --> 00:15:17,680 sayo uh to the swag badge header don't 451 00:15:15,600 --> 00:15:20,000 do that uh unless you know what's going 452 00:15:17,680 --> 00:15:20,959 on just just don't so that's 453 00:15:20,000 --> 00:15:23,920 yeah 454 00:15:20,959 --> 00:15:25,120 um right so we go back to this guy uh i 455 00:15:23,920 --> 00:15:26,560 don't even know why i did that that's 456 00:15:25,120 --> 00:15:28,720 bringing it back together so how does 457 00:15:26,560 --> 00:15:30,959 this all come together in a pcb 458 00:15:28,720 --> 00:15:33,279 uh well you get andrew to design you up 459 00:15:30,959 --> 00:15:35,519 a fantastic shape which i know we've 460 00:15:33,279 --> 00:15:37,360 just raved about a trillion times and 461 00:15:35,519 --> 00:15:38,880 then you try and smoosh it all in there 462 00:15:37,360 --> 00:15:41,759 you can see how the functional blocks 463 00:15:38,880 --> 00:15:43,519 all end up in the right spaces so 464 00:15:41,759 --> 00:15:46,160 because they all flowed through kind of 465 00:15:43,519 --> 00:15:48,079 in that left to right way you can see 466 00:15:46,160 --> 00:15:49,680 how the arrows kind of all go left to 467 00:15:48,079 --> 00:15:53,440 right a little bit of back and forth in 468 00:15:49,680 --> 00:15:54,959 the middle but mostly left to right 469 00:15:53,440 --> 00:15:57,120 we can kind of see how the functional 470 00:15:54,959 --> 00:15:58,399 blocks end up being laid out on the 471 00:15:57,120 --> 00:16:01,120 circuit in 472 00:15:58,399 --> 00:16:02,639 in particular areas and so we have our 473 00:16:01,120 --> 00:16:05,199 analog front end and the antenna 474 00:16:02,639 --> 00:16:07,120 connectors come in over on this side and 475 00:16:05,199 --> 00:16:08,959 then we have our fpga and support 476 00:16:07,120 --> 00:16:11,120 circuitry kind of lands in the middle 477 00:16:08,959 --> 00:16:12,399 and then we've got our audio sections at 478 00:16:11,120 --> 00:16:14,720 the back with the codec and the 479 00:16:12,399 --> 00:16:16,639 amplifier and it all kind of makes sense 480 00:16:14,720 --> 00:16:18,959 you just put the audio connectors out by 481 00:16:16,639 --> 00:16:21,360 the back in the audio sections you put 482 00:16:18,959 --> 00:16:23,199 the fpga in the middle and you put the 483 00:16:21,360 --> 00:16:26,399 power pretty much everywhere else 484 00:16:23,199 --> 00:16:27,839 because that's got to go everywhere so 485 00:16:26,399 --> 00:16:31,199 these are the design principles that 486 00:16:27,839 --> 00:16:31,199 real professionals follow 487 00:16:31,680 --> 00:16:34,880 but it does make sense and you get a 488 00:16:33,360 --> 00:16:36,880 really good result so one of the cool 489 00:16:34,880 --> 00:16:38,560 things i wanted to mention about having 490 00:16:36,880 --> 00:16:39,600 a guy like andrew design something for 491 00:16:38,560 --> 00:16:42,160 you 492 00:16:39,600 --> 00:16:44,000 is when i imported that dfx he had these 493 00:16:42,160 --> 00:16:45,519 lines that were set out as guides and 494 00:16:44,000 --> 00:16:47,040 you can see them up there 495 00:16:45,519 --> 00:16:49,040 um 496 00:16:47,040 --> 00:16:51,279 this is super handy because i put these 497 00:16:49,040 --> 00:16:53,759 on a layer in keycad and i was able to 498 00:16:51,279 --> 00:16:55,680 use them as guidelines and so it's very 499 00:16:53,759 --> 00:16:58,320 simple to just say oh no all this all 500 00:16:55,680 --> 00:17:00,399 the ics go along the center line the 501 00:16:58,320 --> 00:17:03,519 connectors go at this point here and 502 00:17:00,399 --> 00:17:05,039 this is a 45 degree angle there in fact 503 00:17:03,519 --> 00:17:06,480 you can see how it all just falls 504 00:17:05,039 --> 00:17:08,240 together once you you have those 505 00:17:06,480 --> 00:17:10,400 constraints it's kind of interesting 506 00:17:08,240 --> 00:17:13,679 that kind of constraints always make the 507 00:17:10,400 --> 00:17:17,439 engineering and this is a good idea oh 508 00:17:13,679 --> 00:17:19,439 and another idea wow things went wrong 509 00:17:17,439 --> 00:17:21,199 another cool thing about working with 510 00:17:19,439 --> 00:17:23,120 these open source tools is there's great 511 00:17:21,199 --> 00:17:24,959 stuff out there that i didn't even know 512 00:17:23,120 --> 00:17:26,799 about this uh there's this interactive 513 00:17:24,959 --> 00:17:29,919 bomb tool i just want to give that as an 514 00:17:26,799 --> 00:17:31,840 aside super handy for prototyping 515 00:17:29,919 --> 00:17:34,160 you just hit export and it generates 516 00:17:31,840 --> 00:17:35,360 this html sheet for you and you can like 517 00:17:34,160 --> 00:17:37,840 mouse over 518 00:17:35,360 --> 00:17:38,880 uh groupings of your components and it 519 00:17:37,840 --> 00:17:40,640 just shows you where they are on the 520 00:17:38,880 --> 00:17:42,400 board so when i'm building up one of 521 00:17:40,640 --> 00:17:44,880 these guys by hand because we're trying 522 00:17:42,400 --> 00:17:46,799 to do it quickly and cheaply 523 00:17:44,880 --> 00:17:49,520 yeah where do i put those 24 1 524 00:17:46,799 --> 00:17:52,000 microfarad capacitors well they go there 525 00:17:49,520 --> 00:17:54,160 and that's uh that's a lot quicker than 526 00:17:52,000 --> 00:17:56,480 having opened the design file and having 527 00:17:54,160 --> 00:17:58,400 to you know look around do control f's 528 00:17:56,480 --> 00:18:00,080 and things like that just to figure out 529 00:17:58,400 --> 00:18:01,679 why i've been able to find 19 of the 530 00:18:00,080 --> 00:18:03,200 placements but there's another 5 left 531 00:18:01,679 --> 00:18:06,320 over 532 00:18:03,200 --> 00:18:08,880 yeah so that's a great tool check that 533 00:18:06,320 --> 00:18:11,280 one out independently i'm so out of time 534 00:18:08,880 --> 00:18:12,720 here the antennas they go there you're 535 00:18:11,280 --> 00:18:14,640 going to want antennas when you get this 536 00:18:12,720 --> 00:18:16,559 thing also there's a ground connection 537 00:18:14,640 --> 00:18:18,880 that's the little um 538 00:18:16,559 --> 00:18:20,480 where's this camera it's over here see 539 00:18:18,880 --> 00:18:22,000 how it's nibbling a thing 540 00:18:20,480 --> 00:18:23,440 uh that's the ground connection you need 541 00:18:22,000 --> 00:18:25,120 to run that off to earth ground if you 542 00:18:23,440 --> 00:18:27,360 can if you've got a power supply that 543 00:18:25,120 --> 00:18:30,480 connects you to earth ground 544 00:18:27,360 --> 00:18:32,080 that's the way i do it and it works 545 00:18:30,480 --> 00:18:33,280 i won't tell you why you have to do that 546 00:18:32,080 --> 00:18:35,760 just try it 547 00:18:33,280 --> 00:18:37,679 um so we had to kind of knock together 548 00:18:35,760 --> 00:18:39,200 some antenna examples and these were 549 00:18:37,679 --> 00:18:41,679 some ideas i came up with and you might 550 00:18:39,200 --> 00:18:42,480 want to try following some of them 551 00:18:41,679 --> 00:18:44,240 again 552 00:18:42,480 --> 00:18:46,400 i get to have props 553 00:18:44,240 --> 00:18:48,799 uh this was a cool one where it's just i 554 00:18:46,400 --> 00:18:50,640 grabbed some copper piping 555 00:18:48,799 --> 00:18:52,640 and again these can just be done with 556 00:18:50,640 --> 00:18:54,960 alligator clips uh 557 00:18:52,640 --> 00:18:56,720 running off to leads and you run this 558 00:18:54,960 --> 00:18:59,200 into some one inch 559 00:18:56,720 --> 00:19:01,840 like conduit fitting uh i knocked this 560 00:18:59,200 --> 00:19:03,679 together for zero dollars in about 20 561 00:19:01,840 --> 00:19:05,760 minutes the only trouble i had was that 562 00:19:03,679 --> 00:19:08,160 the one-inch copper pipe doesn't quite 563 00:19:05,760 --> 00:19:09,440 fit in the one-inch conduit fittings 564 00:19:08,160 --> 00:19:11,120 there's meant to be a little bit of give 565 00:19:09,440 --> 00:19:11,840 in there the copper pipe doesn't have it 566 00:19:11,120 --> 00:19:13,520 so 567 00:19:11,840 --> 00:19:16,080 you know i had to do a little bit 568 00:19:13,520 --> 00:19:18,160 drilling that was awesome uh that didn't 569 00:19:16,080 --> 00:19:19,840 work very well but uh maybe if you just 570 00:19:18,160 --> 00:19:21,200 tuned it and in this case it's really 571 00:19:19,840 --> 00:19:23,679 cool because tuning is done with an 572 00:19:21,200 --> 00:19:25,840 angle grinder 573 00:19:23,679 --> 00:19:27,919 yeah give that a try so that could be a 574 00:19:25,840 --> 00:19:29,600 cool idea maybe a better idea though is 575 00:19:27,919 --> 00:19:32,799 this one where we wrapped a bunch of old 576 00:19:29,600 --> 00:19:36,000 coax um around some like 90 mil or 100 577 00:19:32,799 --> 00:19:38,480 mil pvc pipe and this is great because i 578 00:19:36,000 --> 00:19:41,360 just found about 20 meters of old coax 579 00:19:38,480 --> 00:19:42,880 sitting under my house chopped it up and 580 00:19:41,360 --> 00:19:45,120 uh there's one really cool thing about 581 00:19:42,880 --> 00:19:47,120 pvc which you can drill into it super 582 00:19:45,120 --> 00:19:48,720 easy so just like eight mil drill bit 583 00:19:47,120 --> 00:19:51,200 you make some holes you run it in there 584 00:19:48,720 --> 00:19:52,799 you've got um you've even got like tape 585 00:19:51,200 --> 00:19:54,720 cable retention 586 00:19:52,799 --> 00:19:56,080 that's not coming off this is also a 587 00:19:54,720 --> 00:19:57,440 really neat idea because the way the 588 00:19:56,080 --> 00:19:58,799 therman sensing works you could almost 589 00:19:57,440 --> 00:20:00,799 use it like a depth sensor you could 590 00:19:58,799 --> 00:20:03,120 stick your hand in there 591 00:20:00,799 --> 00:20:05,360 and then the third idea maybe 592 00:20:03,120 --> 00:20:07,200 2.5 would be you just get some magnet 593 00:20:05,360 --> 00:20:09,360 wire and do the same thing so if you 594 00:20:07,200 --> 00:20:10,559 happen to have 100 meters of magnet wire 595 00:20:09,360 --> 00:20:11,360 sitting around 596 00:20:10,559 --> 00:20:13,919 cool 597 00:20:11,360 --> 00:20:16,799 um so those are some ideas for antennas 598 00:20:13,919 --> 00:20:18,880 um and yeah again you can just alligator 599 00:20:16,799 --> 00:20:20,320 clip these on the signal integrity 600 00:20:18,880 --> 00:20:21,039 integrity is not going to be great on 601 00:20:20,320 --> 00:20:23,200 this 602 00:20:21,039 --> 00:20:26,640 um it's yeah in our testing it's not 603 00:20:23,200 --> 00:20:27,919 super great uh but it does work so uh i 604 00:20:26,640 --> 00:20:30,159 don't have time to give you numbers or 605 00:20:27,919 --> 00:20:32,400 anything on that but ask questions later 606 00:20:30,159 --> 00:20:34,960 and uh experiment because this is one of 607 00:20:32,400 --> 00:20:37,120 the funner parts of this whole thing 608 00:20:34,960 --> 00:20:40,080 so uh this even worked as an antenna 609 00:20:37,120 --> 00:20:42,720 just by the way it's 25 meter reel 610 00:20:40,080 --> 00:20:45,919 of extension lead uh yeah 611 00:20:42,720 --> 00:20:48,000 it worked better than anything else 612 00:20:45,919 --> 00:20:49,360 okay the the other cool thing this is 613 00:20:48,000 --> 00:20:52,400 sort of the third part that i'll just 614 00:20:49,360 --> 00:20:54,799 cover super quickly is that um i also 615 00:20:52,400 --> 00:20:56,320 discovered there's an ide for these fpga 616 00:20:54,799 --> 00:20:58,960 tools that's how quick the open source 617 00:20:56,320 --> 00:21:01,280 world moves um and this is a graphical 618 00:20:58,960 --> 00:21:03,520 schematic capture type of ide so this is 619 00:21:01,280 --> 00:21:05,440 um you know it's pretty cool from a 620 00:21:03,520 --> 00:21:06,960 hardware perspective because i showed 621 00:21:05,440 --> 00:21:09,120 you earlier how much 622 00:21:06,960 --> 00:21:10,559 you know it all centers on the schematic 623 00:21:09,120 --> 00:21:12,799 getting that information laid out in the 624 00:21:10,559 --> 00:21:14,320 right way and having your hierarchical 625 00:21:12,799 --> 00:21:17,200 ideas about the world and that's how you 626 00:21:14,320 --> 00:21:18,799 build complex systems uh well this makes 627 00:21:17,200 --> 00:21:20,880 it very natural from that same 628 00:21:18,799 --> 00:21:22,640 perspective because you can just hook 629 00:21:20,880 --> 00:21:23,919 together blocks that do certain 630 00:21:22,640 --> 00:21:25,760 functional things and that's more the 631 00:21:23,919 --> 00:21:28,000 way that hardware and fpgas are going to 632 00:21:25,760 --> 00:21:29,280 work so this is a very young project but 633 00:21:28,000 --> 00:21:30,720 it's very cool i want to bring it to 634 00:21:29,280 --> 00:21:32,559 everyone's attention because i hope 635 00:21:30,720 --> 00:21:34,720 people will contribute it's written in 636 00:21:32,559 --> 00:21:38,240 node which i guess has something to do 637 00:21:34,720 --> 00:21:38,240 with graph theory um 638 00:21:38,480 --> 00:21:41,840 and um 639 00:21:40,320 --> 00:21:44,159 the one of the really cool things is 640 00:21:41,840 --> 00:21:46,000 that even i was able to modify this 641 00:21:44,159 --> 00:21:47,840 environment because it's open source i 642 00:21:46,000 --> 00:21:49,600 had to change a couple of files around 643 00:21:47,840 --> 00:21:52,400 and some of our stuff is similar to you 644 00:21:49,600 --> 00:21:54,559 know tim ansel stuff and so i changed a 645 00:21:52,400 --> 00:21:56,240 couple of files and i can put rocklin 646 00:21:54,559 --> 00:21:58,799 into this development environment and 647 00:21:56,240 --> 00:22:00,240 then it just kind of works um it took me 648 00:21:58,799 --> 00:22:01,360 about a day to figure it out how it 649 00:22:00,240 --> 00:22:04,320 works so somebody who knows what they're 650 00:22:01,360 --> 00:22:05,760 doing it'll be like 30 minutes um and it 651 00:22:04,320 --> 00:22:07,039 does work does 652 00:22:05,760 --> 00:22:08,559 autoplay 653 00:22:07,039 --> 00:22:10,640 no 654 00:22:08,559 --> 00:22:13,840 so this was one of the like greatest 655 00:22:10,640 --> 00:22:13,840 moments my entire life 656 00:22:29,919 --> 00:22:34,960 blinky 657 00:22:31,600 --> 00:22:36,880 so uh if anybody's ever done fpga uh 658 00:22:34,960 --> 00:22:38,960 development at all you would realize 659 00:22:36,880 --> 00:22:40,400 that that's just completely magical 660 00:22:38,960 --> 00:22:42,400 that shouldn't work it shouldn't work 661 00:22:40,400 --> 00:22:43,919 that fast and it certainly shouldn't be 662 00:22:42,400 --> 00:22:46,080 that easy 663 00:22:43,919 --> 00:22:47,520 uh that that some guy like me could be 664 00:22:46,080 --> 00:22:49,679 able to get all the software tooling to 665 00:22:47,520 --> 00:22:51,039 work um and just go 666 00:22:49,679 --> 00:22:53,600 so oh 667 00:22:51,039 --> 00:22:55,760 that's there we go um 668 00:22:53,600 --> 00:22:59,120 so why i'm super excited about that 669 00:22:55,760 --> 00:23:00,559 while i'm running out of time is uh 670 00:22:59,120 --> 00:23:02,080 this seems a lot like the arduino 671 00:23:00,559 --> 00:23:03,919 environment i won't be the first person 672 00:23:02,080 --> 00:23:05,760 to make these sorts of comparisons about 673 00:23:03,919 --> 00:23:08,400 the open source tool chains and fpgas in 674 00:23:05,760 --> 00:23:10,720 this time in particular but these things 675 00:23:08,400 --> 00:23:12,240 seem very similar to you know 15 years 676 00:23:10,720 --> 00:23:14,480 ago when you were just going oh well 677 00:23:12,240 --> 00:23:15,840 i've got this atmel design and i can put 678 00:23:14,480 --> 00:23:19,520 it in the arduino environment by 679 00:23:15,840 --> 00:23:21,039 changing the pins.h file and you know it 680 00:23:19,520 --> 00:23:22,480 then it just kind of works and then 681 00:23:21,039 --> 00:23:24,240 there's some libraries and i don't have 682 00:23:22,480 --> 00:23:26,240 to think about so much and it becomes 683 00:23:24,240 --> 00:23:27,520 sort of easy and accessible and all of a 684 00:23:26,240 --> 00:23:29,919 sudden what used to be a two or three 685 00:23:27,520 --> 00:23:31,039 person job becomes a one-person job and 686 00:23:29,919 --> 00:23:32,720 all of a sudden what used to take 687 00:23:31,039 --> 00:23:34,159 engineering skills can start to be done 688 00:23:32,720 --> 00:23:36,080 by like you know artists and other 689 00:23:34,159 --> 00:23:38,559 people who are just sort of persistent 690 00:23:36,080 --> 00:23:40,480 um i thought that was awesome so 691 00:23:38,559 --> 00:23:42,159 i just banged up this bit of code and i 692 00:23:40,480 --> 00:23:43,919 think it's pretty much the same thing 693 00:23:42,159 --> 00:23:45,840 and what's really really cool is this 694 00:23:43,919 --> 00:23:47,919 seems even easier 695 00:23:45,840 --> 00:23:48,960 and to say that in some world blinking 696 00:23:47,919 --> 00:23:51,440 an l 697 00:23:48,960 --> 00:23:52,799 an led with an fpga should be easier 698 00:23:51,440 --> 00:23:55,440 than blinking an led with a 699 00:23:52,799 --> 00:23:58,880 microcontroller that's a bit strange but 700 00:23:55,440 --> 00:24:01,360 um maybe we live in strange times so uh 701 00:23:58,880 --> 00:24:02,799 ice studio i yeah if there's one 702 00:24:01,360 --> 00:24:04,480 takeaway from this 703 00:24:02,799 --> 00:24:06,480 yeah please please developers look at 704 00:24:04,480 --> 00:24:08,320 that one contribute time if you can 705 00:24:06,480 --> 00:24:10,320 because i want to see that go somewhere 706 00:24:08,320 --> 00:24:13,360 it's already cool it's already yeah 707 00:24:10,320 --> 00:24:15,200 awesome it is missing some things 708 00:24:13,360 --> 00:24:17,039 but you know those are the obvious 709 00:24:15,200 --> 00:24:18,960 things to fill in and i think that a lot 710 00:24:17,039 --> 00:24:21,760 of those can be done so 711 00:24:18,960 --> 00:24:23,039 uh you know fpga libraries and ip blocks 712 00:24:21,760 --> 00:24:25,440 clearly those are always needed for 713 00:24:23,039 --> 00:24:26,960 everything involving fpgas some kind of 714 00:24:25,440 --> 00:24:28,400 serial monitor easy two-way 715 00:24:26,960 --> 00:24:30,240 communication that's like straight out 716 00:24:28,400 --> 00:24:32,559 of the arduino environment a lot of 717 00:24:30,240 --> 00:24:34,480 documentation and you know trying to 718 00:24:32,559 --> 00:24:36,240 figure out yeah the tooling and the 719 00:24:34,480 --> 00:24:37,360 things around it library board 720 00:24:36,240 --> 00:24:38,640 management 721 00:24:37,360 --> 00:24:40,000 blah blah 722 00:24:38,640 --> 00:24:42,640 there's lots of work to be done there 723 00:24:40,000 --> 00:24:44,000 but it could be super duper cool um and 724 00:24:42,640 --> 00:24:45,279 i hope that somebody who's better at 725 00:24:44,000 --> 00:24:48,559 coding and that side of things takes a 726 00:24:45,279 --> 00:24:50,799 look at it uh so that's my call to arms 727 00:24:48,559 --> 00:24:53,279 because no great ted talk doesn't end 728 00:24:50,799 --> 00:24:54,799 with a call to arms so hello arms are 729 00:24:53,279 --> 00:24:57,279 you there 730 00:24:54,799 --> 00:25:01,440 sorry i had to do one i had to do one 731 00:24:57,279 --> 00:25:02,960 um but yeah so uh we 732 00:25:01,440 --> 00:25:04,799 i think we got a pretty decent result i 733 00:25:02,960 --> 00:25:06,880 hope you get this hardware soon uh we 734 00:25:04,799 --> 00:25:08,960 used some of these things uh and there's 735 00:25:06,880 --> 00:25:10,960 a bunch of other tools but please help 736 00:25:08,960 --> 00:25:12,640 with those projects if you can because 737 00:25:10,960 --> 00:25:15,200 they are super good i have had a look at 738 00:25:12,640 --> 00:25:16,320 key cat 6 which is just out anybody 739 00:25:15,200 --> 00:25:18,000 that's looking at getting into 740 00:25:16,320 --> 00:25:20,400 electronics designs that you can make 741 00:25:18,000 --> 00:25:21,679 you know something like that 742 00:25:20,400 --> 00:25:23,520 pretty easily 743 00:25:21,679 --> 00:25:25,279 keycad 6 looks really nice they've added 744 00:25:23,520 --> 00:25:26,159 a lot of really cool stuff i'll just say 745 00:25:25,279 --> 00:25:27,840 that 746 00:25:26,159 --> 00:25:30,080 it's it's definitely coming along and 747 00:25:27,840 --> 00:25:32,000 it's definitely come along a long long 748 00:25:30,080 --> 00:25:35,120 ways in the last you know seven or eight 749 00:25:32,000 --> 00:25:37,279 years that i've been using it so 750 00:25:35,120 --> 00:25:39,120 um yeah and 751 00:25:37,279 --> 00:25:40,960 i think i'll probably stop there because 752 00:25:39,120 --> 00:25:43,520 these guys want to close and i you know 753 00:25:40,960 --> 00:25:46,320 shouldn't have spoken so much i missed a 754 00:25:43,520 --> 00:25:47,840 lot of that but uh yeah oh yeah john 755 00:25:46,320 --> 00:25:49,679 yeah so you need to embarrass me a 756 00:25:47,840 --> 00:25:51,360 little bit oh yeah i will embarrass john 757 00:25:49,679 --> 00:25:52,960 um oh yeah i will just say the only 758 00:25:51,360 --> 00:25:55,120 thing on that list that isn't like free 759 00:25:52,960 --> 00:25:56,960 open source offer is a snap eda i used a 760 00:25:55,120 --> 00:25:58,640 couple of their things so but they seem 761 00:25:56,960 --> 00:26:00,320 like a really cool company and i like 762 00:25:58,640 --> 00:26:02,320 them a lot so do check them out if 763 00:26:00,320 --> 00:26:04,559 you're unfamiliar with snap eda and in 764 00:26:02,320 --> 00:26:06,880 any way involved in electronics design 765 00:26:04,559 --> 00:26:09,440 um because i find them useful even if 766 00:26:06,880 --> 00:26:11,360 they are you know a company um 767 00:26:09,440 --> 00:26:13,200 so yeah john wants to talk to you a 768 00:26:11,360 --> 00:26:14,400 little bit about what he said earlier 769 00:26:13,200 --> 00:26:16,559 and 770 00:26:14,400 --> 00:26:19,039 he casts some aspersions my way so i 771 00:26:16,559 --> 00:26:19,039 just like 772 00:26:19,440 --> 00:26:22,720 if there is an ongoing competition for 773 00:26:21,279 --> 00:26:25,279 who has made the most mistakes in this 774 00:26:22,720 --> 00:26:27,200 project i am so far in front that no one 775 00:26:25,279 --> 00:26:28,640 else can catch me and we just discovered 776 00:26:27,200 --> 00:26:29,600 another one today 777 00:26:28,640 --> 00:26:31,360 so 778 00:26:29,600 --> 00:26:33,520 my contribution so far has been talking 779 00:26:31,360 --> 00:26:37,600 about failures and mistakes and fixing 780 00:26:33,520 --> 00:26:39,279 them and the issue with testing and 781 00:26:37,600 --> 00:26:40,960 these the 782 00:26:39,279 --> 00:26:43,200 oscillators 783 00:26:40,960 --> 00:26:44,080 which i kept referring to as crystals 784 00:26:43,200 --> 00:26:46,080 so 785 00:26:44,080 --> 00:26:48,080 in the talk earlier i said that when we 786 00:26:46,080 --> 00:26:51,760 put them together we found that about 787 00:26:48,080 --> 00:26:55,360 half of them were failing 788 00:26:51,760 --> 00:26:57,600 um 50 failure rate that is rather 789 00:26:55,360 --> 00:26:59,520 suspicious and what we then found was 790 00:26:57,600 --> 00:27:02,080 that when we were reworking the ones 791 00:26:59,520 --> 00:27:04,559 that failed probably about half of those 792 00:27:02,080 --> 00:27:06,960 came to life as well you know around 50 793 00:27:04,559 --> 00:27:08,080 failure rate now what is that pointing 794 00:27:06,960 --> 00:27:10,000 out 795 00:27:08,080 --> 00:27:12,240 this is what happens when one person 796 00:27:10,000 --> 00:27:14,880 designs a circuit and then someone else 797 00:27:12,240 --> 00:27:17,440 who doesn't understand that circuit 798 00:27:14,880 --> 00:27:19,200 tries to assume that does the assembly 799 00:27:17,440 --> 00:27:20,960 and if you look at the footprint that 800 00:27:19,200 --> 00:27:23,279 you can see there on the screen 801 00:27:20,960 --> 00:27:26,480 it's polarized that part is not a 802 00:27:23,279 --> 00:27:29,760 crystal it's a crystal oscillator and it 803 00:27:26,480 --> 00:27:32,240 has a ground pad and a 3.3 volt pad on 804 00:27:29,760 --> 00:27:34,399 opposite sides of the package 805 00:27:32,240 --> 00:27:36,640 if it is 180 degrees out 806 00:27:34,399 --> 00:27:38,799 guess what happens so 807 00:27:36,640 --> 00:27:42,480 and it's rectangular so it's yeah it's 808 00:27:38,799 --> 00:27:44,720 it's 50 ways so 50 failure was because i 809 00:27:42,480 --> 00:27:46,960 was dumping them out on the bench and 810 00:27:44,720 --> 00:27:49,440 putting them on essentially in a random 811 00:27:46,960 --> 00:27:51,760 orientation so 812 00:27:49,440 --> 00:27:54,559 uh the 50 failure rate that we were 813 00:27:51,760 --> 00:27:57,760 seeing on these is 100 percent 814 00:27:54,559 --> 00:27:59,840 down to this guy so statistics statistic 815 00:27:57,760 --> 00:28:02,799 it works 816 00:27:59,840 --> 00:28:04,399 and the math doesn't lie 817 00:28:02,799 --> 00:28:07,679 ah is that 818 00:28:04,399 --> 00:28:09,120 yeah i think that's it for me 819 00:28:07,679 --> 00:28:10,960 well i think we're just about to wrap up 820 00:28:09,120 --> 00:28:14,080 time what is it 5 28 821 00:28:10,960 --> 00:28:15,200 technically we finish at 5 30. 822 00:28:14,080 --> 00:28:17,120 so 823 00:28:15,200 --> 00:28:18,799 did we have questions for zero no i 824 00:28:17,120 --> 00:28:19,679 don't think we do have questions um i 825 00:28:18,799 --> 00:28:22,240 can 826 00:28:19,679 --> 00:28:23,919 oh yeah there's a few other little notes 827 00:28:22,240 --> 00:28:25,360 about hardware there are like an 828 00:28:23,919 --> 00:28:27,760 optional set of speakers that go to the 829 00:28:25,360 --> 00:28:29,840 amplifier i talked about a few times uh 830 00:28:27,760 --> 00:28:31,600 that's just an adafruit part number uh 831 00:28:29,840 --> 00:28:33,360 it's in the schematic if you get to that 832 00:28:31,600 --> 00:28:35,919 point if we get to that point where 833 00:28:33,360 --> 00:28:37,840 things are working uh that that actually 834 00:28:35,919 --> 00:28:39,120 does make noise i've made it make noise 835 00:28:37,840 --> 00:28:40,399 just not well 836 00:28:39,120 --> 00:28:44,000 um 837 00:28:40,399 --> 00:28:45,360 yeah there's yeah yeah and uh so ongoing 838 00:28:44,000 --> 00:28:47,039 if you want to follow up in the short 839 00:28:45,360 --> 00:28:48,960 term there is going to be the open 840 00:28:47,039 --> 00:28:50,080 hardware breakout room which will keep 841 00:28:48,960 --> 00:28:53,120 running for the duration of the 842 00:28:50,080 --> 00:28:55,840 conference so over this weekend um 843 00:28:53,120 --> 00:28:57,600 at least some of us will be in that room 844 00:28:55,840 --> 00:28:59,679 at different times so we can answer 845 00:28:57,600 --> 00:29:00,720 questions and things if you have a 846 00:28:59,679 --> 00:29:02,240 follow-up 847 00:29:00,720 --> 00:29:03,760 then you can do it that way that's 848 00:29:02,240 --> 00:29:05,279 probably the most immediate way of 849 00:29:03,760 --> 00:29:07,200 getting in touch with us 850 00:29:05,279 --> 00:29:08,399 and longer term 851 00:29:07,200 --> 00:29:12,720 we will have a couple of different 852 00:29:08,399 --> 00:29:14,480 methods for staying in touch there is a 853 00:29:12,720 --> 00:29:18,000 a forum 854 00:29:14,480 --> 00:29:19,679 running on github associated with the 855 00:29:18,000 --> 00:29:21,919 there's a discussion section on github 856 00:29:19,679 --> 00:29:24,799 associated with the project so we will 857 00:29:21,919 --> 00:29:27,039 put information about that in the in the 858 00:29:24,799 --> 00:29:29,440 breakout room chat and wherever else we 859 00:29:27,039 --> 00:29:33,919 can think of it there is also the wiki 860 00:29:29,440 --> 00:29:36,480 so at that is at openhardwareconf.org 861 00:29:33,919 --> 00:29:38,720 i think did i remember that correctly 862 00:29:36,480 --> 00:29:40,480 yeah so apart from that 863 00:29:38,720 --> 00:29:42,880 i would like to say thank you again to 864 00:29:40,480 --> 00:29:46,720 all of our speakers today and thank you 865 00:29:42,880 --> 00:29:49,440 to though to all of you for coming along 866 00:29:46,720 --> 00:29:52,399 and also of course 867 00:29:49,440 --> 00:29:53,760 the people in the room here and 868 00:29:52,399 --> 00:29:55,200 the dogs 869 00:29:53,760 --> 00:29:58,240 and cats that have supported this 870 00:29:55,200 --> 00:30:00,799 endeavor over the last many many months 871 00:29:58,240 --> 00:30:03,440 and uh the rest of the team so wouldn't 872 00:30:00,799 --> 00:30:05,440 if you like to say anything 873 00:30:03,440 --> 00:30:07,600 ah no just uh be kind to each other it's 874 00:30:05,440 --> 00:30:10,559 been a pretty tough couple years and uh 875 00:30:07,600 --> 00:30:11,919 yep hang in and support community 876 00:30:10,559 --> 00:30:12,880 yeah 877 00:30:11,919 --> 00:30:15,679 okay 878 00:30:12,880 --> 00:30:16,880 anything nicholas no no 879 00:30:15,679 --> 00:30:18,799 thanks everyone we'll see you in the 880 00:30:16,880 --> 00:30:22,279 chat so thank you 881 00:30:18,799 --> 00:30:22,279 and see you soon