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