[Music]
hello everybody
uh so some of this will have already
been covered in our little intro section
but what i wanted to talk about was sort
of a bit of an introduction um to the
actual hardware kit that we're shipping
today um and some of you who are
coming and watching our stream might not
even know when we talk about the ohmc
what do we even mean by that so h0hmc
stands for open hardware miniconf
and it was built with a design to kind
of point out that you know a lot of lca
is talking about software and and the
environment and the culture in which uh
you know sort of our open environment
can flourish and we wanted to um put
forward the fact that you know hardware
is also got the capacity to be open too
but lots of people don't have access to
hardware
and there's a huge barrier to entry you
know you think about trying to learn how
to program uh before bootcamps were
available hardware is sort of still in
that early stages for open hardware the
idea of walking into i don't know a j
car and picking up a soldering iron can
be really intimidating so we wanted to
put together a space where you could
come along and learn how to solder and
we would provide all the gear and we
would provide all the expertise so that
you could sit there and uh usually
turn a little blinky lead on and that is
the best feeling ever when you can turn
a little blinky lead on and that would
hopefully just take the edge off so that
people could then go along and
participate at a later point um and and
build their own things and feel a bit
more confident in terms of you know
running with their own hardware projects
but of course when now that we've been
virtual we've we've found that um
uh our idea of what we can produce and
how effective that can be in our goals
of supporting people who are not used to
operating in a hardware field has been
quite challenging
particularly when we think about our
diversity initiatives so every year we
try to make sure that we keep some
tickets aside so that people who are an
under representative minority within the
hardware field
can come along and and
and be involved and be supported and
that is very hard when all we're doing
is shipping out hardware to you so we're
actually having a bit of a think in
terms of
what what that means for this year's
conference and potentially for any
future future virtual or hybrid
conferences going forwards so if people
have got suggestions on that we'd love
to hear about it this is as much about
you as it is about what we can produce
so what were our goals for this year
when we think about open hardware 2022
um
last year
uh
linuxconf very kindly said hey why don't
you build an electronic badge for
absolutely everybody and we said sure
when used to only building 50 kits we'll
do 300 how hard could it be
so that was shipped and delivered but
despite
many upsets as there are every year uh
and so this year we said well that that
seemed to be
really easy so let's let's um make the
most of what we did last year improve
upon it and then take it the level
further
so
everybody who attended lca last year who
was within australia was shipped a 2021
rectangular swag badge so we said right
well we'll have the swag badge but part
of what made the swag badge so appealing
was the fact that it could be extended
with a simple add-on
so let's this year put a lot of our
hardware expertise and effort and and
involvement into the sao side of things
so we decided that we would build an sao
that had an fpga in it field
programmable gate array and andy's got a
talk later on which will go in a little
bit more into what that is and how you
drive it and and what kind of
application that we were going to ship
with it
and obviously our goal was you know the
theme for the conference this year was
community engagement and once again
despite the fact that we're virtual
we're here with you
um
we've covered that we're really sorry we
thank you for your patience
um
we did think about trying to cram it in
so that we could ship in time for the
conference but that seemed like a
terrible idea particularly you know over
christmas uh and so we really appreciate
your understanding that this year
unfortunately you won't have your
hardware to play with during the
conference
um we there'll be some resources a
little bit later that says you know once
you get your hardware and you are
starting to play with it if you come
into any problems we're happy to help
and we've got ways that you can contact
us and and contact each other to support
one another
um earlier in the chat there were some
questions about people saying i didn't
even know that i could register and now
it turns out that i'm too late um
part of the hardware problems that have
made the kits run late this year means
that we're not actually quite sure how
many kits we'll be able to produce
so we've actually closed we closed off
registrations
and they were booked out before i even
had a chance to promote them on twitter
so we've booked them out to the amount
that we think we can safely produce if
we end up with excess
there'll be
some communications happening over our
twitter feed
and a couple of other places we can
reach out to people and say look
um you might be able to pop in and maybe
we
if you support us with the shipping cost
we might be able to send one to you but
andy i think might be have someone to
add i was going to say it
it's very it's very likely we will have
extra um uh hmc kit this year and we'll
um we'll make sure we deliver the ones
for the people who register already and
then um open up for the rest and also
because they'll be obviously we'll have
more time we'll be able to um you know
ship to international because you know
typically you've only shipped to
australia so far because so that was
that was hard enough so um yeah yeah
we'll keep you all posted so yeah if
you're in new zealand or further afield
maybe you two could finally get a fancy
fancy swag badge kit
so uh we've given you a bit of a sneak
preview on what we built this year is
still a swag badge only it's now in a
fancy new shape it's still very similar
in in
what it's got on it compared to last
year's and we're shipping it with two
saos that come with it
so
here is one we wrote that earlier
i love how much this party button
sorry steph sorry sorry you're sick
she's the one who uh designed and built
this uh looks like a laser he means bits
no he's going to turn it on so we can
have flashy lights
this is in standalone mode ah the
exciting thing our party button sao
works part of the badge and you can just
hook it up separately to a battery and
then it'll go on its own if i click the
button i don't know whether you can see
this but it's flashing yay flashing
lights
um
more seriously um steph piper has done
some amazing work on her um her company
elky which is spelled
l-e-k-i-e and so go to elky.com.u you
can see more of steph's work but she's
uh does um you know beautiful um pcbs
with you know with cats and um
i guess that's like stars and galaxies
that so they're they're amazing
the
one that was so cool yeah okay and uh
and what what the idea was that we would
be able to uh
combine combined forces to take herbie
her beautiful work and then um say yeah
here's how you can um hook it up with a
microcontroller and uh and network and
so add another dimension to her work so
um it's a piece that might be able to
talk about that today
uh so
um
let's talk a little bit about how what
changes we've made um the firmware will
still be backwards compatible so
um if you've got the old swag badge and
not this new swag badge any changes we
make um into our into our software will
still run on your old badge um if you've
got the new one and not the old one
you'll still be able to uh run some of
the stuff hopefully they'll be forward
compatible so the changes we've made is
that if i can grab both of them
get them up on screen the old one here
in this hand has got two oleds on it and
they will push button and we've replaced
that with one single much larger screen
and we've made it not be a push button
because that was
a little bit risky um
it the new ones has got a
reset button
belly button on his front
the last year the reset button was sort
of buried under here and if you weren't
very dexterous it was hard to kind of
access
also fabulous new shape thank you andrew
nielsen for your gorgeous design um and
some of the pin uh pin outs have changed
so we'll have to publish those so that
you know how it's altered but it's still
got sao mount points and it's still got
uh
the gorgeous artwork on the back um and
it still has the capacity of touch
sliders and it's still going to ship
with aco and it'll still um be fabulous
and this you obviously we've got the
rockling
because you're going to rock on and the
party button
so if the focus for this year was partly
on saos
maybe we should talk a little bit about
what even is an sao for those who maybe
have forgotten or are not familiar
so as you can see this year our
um little dude he's carrying
a separate pcb and detaches
so a simple add-on is a standard that
was
originally devised by people who started
off doing the electronic badges back in
the defcon days and it was the ability
to kind of chain your
pcbs together
it had another name and we have
gentrified it
because the idea was it was so simple
that uh
people would be building very silly
little kind of flashy things that that
were more about fun fun than function um
we have put the function back in with
our rockling um maybe andy could you
tell us a little bit more about
uh
sayo and
what goes into it like how how does it
actually connect to the board what are
the what are the pins what kind of
information can you pass backwards and
forwards from like i can't do that
because i'm too busy pretending to be
evil evil nicholas
and he's monitoring the chat for us
right now you wouldn't believe the
things i've been saying in your name uh
yes so as as uh nicola mentioned um
defcon badgers came up with this
standard which was um which was
originally not called the simple add-on
connector it was another word starting
of s
um but it was a
simple idea which basically had power
ground and um i think it was i2c the
initial version didn't have four
four was the original or did it have
three three what pins
uh
originally it was originally four power
ground and uh
two gpos and then
there's an update to that which extends
out to being power power ground uh i2c
plus two gpos which is the uh
the standard of using now i think they
as a bit of a joke they called it um was
it biz
uh yeah v42
for anyone who remembers the days of um
whistling at their 9600 modem uh yes
that's the sayers standard and uh so
this this year what we need to do for
the uh the rockling uh with the fpga is
also provide spi because the uh with the
fpga we needed two pins for um
uh the reset and also the done pin so
the fpga would tell us when it's
configured so we need those two pins we
wanted also on r2c so we could
communicate with the fpga uh as a a with
it being a peripheral and then we also
need spi so that uh what what we want to
be able to do is be able to reflush the
uh
the fpga's flash
memory chip to um uh put the we put the
bootloader on so we'll ship them with a
bootloader um we've not we've not
breaked one yet it's pretty solid but if
you um didn't want to um flash your own
bootloader we'll be able to do that from
the swag batch so we've created a so
plus plus spi yep
so
that's awesome answered your question
absolutely uh
yeah so that's uh saos and and last year
we shipped out some blanks so that it
hooked on to your badge but it was just
you know a teeny tiny little proto board
so you could build your own things
without having to also
manage sort of connecting it physically
to the badge um
by the way we have we have extras so we
have a leftovers last year so we'll ship
something we might be able to ship some
yeah
cool
um
so that you know means that if you
see the great thing about this um swag
badge concept is that it doesn't matter
whether you're into software hardware or
just hooking something cool up to the
internet and going i've got this cool
thing there is something in there for
you so you know if people are really
into hardware and hooking up a thousand
lights onto it then they can do that if
you
you know want to use it to
power your home electronics you can do
that and if you want to uh ignore all of
the extra hardware stuff and just enjoy
the fact that you've got a portable
esp32 with a screen on it then uh you
can do what i did and build a choose
your own adventure game or whatever it
is that might take your fancy but
there's so many different avenues that
you can pick up and play with these kind
of kits it's awesome
so while you're waiting for your kit to
arrive
there are things that you can do and
that we can help you with in the you
know over the coming period
there is instructions on the wiki on
setting up your development environment
if you're interested in uh
you know getting your kid and actually
talking to it from your computer and
doing some programming um so there's
thoni which is a
ide which i've been using because it
makes the putting of the files backwards
and forwards from the device a lot
easier
there's mpf shell which gives you a
little repel and it's sort of a little
bit more command line
you can get familiar with the ico engine
and services so that's a layer of
software that we put in over the top
i'll talk about that a little bit more
you can get familiar with mqtt and and
install a client so that you can watch
the messages that your badge can send to
and from
our hosted server
uh and if you're into hardware then
maybe time to get out the soldering
station and look into a little bit more
about the saos and what you might like
to add on to your batch
so you know it's worth talking while
this is about open hardware
a lot of the time hardware doesn't do
very much unless it's got some software
to drive it
and because our badges are internet
connected we can definitely do heaps of
cool things
um so our stack consists of
you know sort of the esp
firmware on the base level and then
we've got ico over the top which
andy uh has written an open sourced
and it comes pre-configured for use with
the swank badge but it is actually able
to be conceptually used with
lots of other sort of embedded hardware
things out there and over the top of it
lays the applications that you write or
we write or anyone else chooses to write
um so andy i'm actually going to ask you
another question sure um
why is it that we even need
like ico
over the top why given given that we've
got the esp32 and it's
runs micropython is that right so why
why
why do we have all these layers in our
software stack in order to build this
badge that sounds like it's
overcomplicated for something that is
quite small and doesn't actually have a
lot of kind of compute power or memory
yeah yes you have to be very careful
with them better not to um you know
create bloated software
but what we find is um
micropython provides you this
general purpose layer
and uh and when you have a specific
piece of hardware you find yourself
itself doing the same things over and
over again so for example we've got
we've got touch sliders and and so if
everyone has to basically write their
own touch slider code that's you know
that's um
you know unnecessary duplication so if
we write that for you once and say we've
got we've got the pin mappings um
we do things like um
the the touch slide is actually four
buttons
yep um so let's see you've got a you
know so the left slider is um two
buttons and the right side is another
two buttons and so you basically treat
these as four buttons or as two sliders
um and also do things like you may like
to do double taps or long pauses um and
so all that that's that's one thing we
provide as part of the framework um
another is um
you've got your all your message
handling so basically um
uh let's see so for the first thing
you'll do is basically get onto wi-fi so
when you um turn the device on it's not
going to know your
your wi-fi ssid and password so we
basically have a gut become an access
point so you can from you from your
phone you can then tilt your access um
your um ssid and password uh so
basically it needs to have provided be a
little web server
um and then once you've seen the
information it switches over becomes a
wi-fi client it does that so we've done
that so everyone doesn't have to do that
piece of work and we've also taken a
little bit further where um typically
if you you just
do work quickly you might just only put
one
access point uh ssid and password maybe
just your home or your work but what we
do is basically we we maintain a list
and so it scans and says ah i'm working
so i can maintain um
multiple multiple ad um
again oh
john knows how to use his uh his live
streaming hardware anyway so there's a
lot of common functionality we've just
provided as part of ico to um a lot of
people get on with their applications
and the uh the other thing is um
uh
when you've got uh a lot of events
events going on it's nice to basically
have an event loop that basically uh you
know handles the button presses the
network messages those things and just
calls your handlers so basically got an
inversion controlled type mechanism
where you basically uh create your
handlers for for button presses and
network messages and other updates
and and then um the the event loop just
handles that for you okay yeah yeah
that's some of the frameworks that's
really cool um uh andy i have
worked with iko and uh and he's built a
great system that uh i'm sure will i
mean i believe that you've used it in
other applications not just on the swag
badge as well
um because there are lots of things out
there that need the same sort of uh
functionality that is offered in this
sort of thing um so there is
instructions also in in terms of how to
use ico or you can go and read the
source
and now what you might have gathered
from this is that when we ship you your
kit it comes pre-flashed with the esp32
firmware with with which runs the micro
python it comes with ico so that when
you first
apply power and boot it up it will ask
you you know set up get you set up with
your wi-fi and get you up and running
and we supply some sample applications
so that you can see how the badge works
um so we're not asking you to
get this piece of hardware and then sort
of do all that complicated how do you
how do you get software onto it when it
doesn't even know how to talk to the
network or like that kind of uh
bootstrap problem
um but you can wipe it we do give you
instructions if you don't trust hardware
shipped
to you from random places and people on
the internet we give you instructions in
terms of how to reproduce those steps
for yourself yeah yeah the idea is that
for newcomers you want to provide a good
out of the box experience but for anyone
who's got expertise um just go nuts just
um yeah wipe our stuff out and do your
own thing
wow all right this is
hopefully
hey
all right so we've uh
covered a lot of that looks like
expression
andy your computer is john your
computer's the worst i know tell me
uh all right so we've actually covered a
lot of what ico can do
um
but keep i've actually lost your um
oh well we'll just do with that for now
um
so uh you know
obviously what's really cool about all
of this is we love seeing what you come
along and build on the top
so here's a bit of a list of of some
awesome things that were built last year
with swag badge 2021
there were games there was choose your
own adventure with a number of different
adventures there was tower of hanoi
there were people who were just
you could get the display of the
schedule up on your badge so that you
know you could see it wouldn't miss a
session that we were excited about
people were streaming live streaming the
conference video stream controlling
their home lights there was handshakes
there was glowy hugs there was an irc
bridge there was googly eyes on sliders
someone built an sao so the
eyes on the screen would follow the
movement of your hair these are not the
droids you're looking for we had light
up tuxes we had light up rocket ships uh
and people even uh produced models so
that you could 3d print your own case so
what i'm really excited for is
what you might build this year so if
you've got an idea and you're not sure
how to go about it or maybe you're not
too sure about what components you might
need to purchase in order to you know
maybe build a custom sale you can come
and talk to us and we'd be loving lovely
to help you out
so uh you know obviously open hardware
while it's taken a community to even
build our kits every year uh a big part
of what we do this for is to reach out
to you and talk to you and find out what
you're interested in building and help
you out especially if you're new
um so our open hardware channel is going
to be open in venulis or conference
there is the link for the wiki there
we've got github discussions going so
that everybody can talk to everybody
else
our twitter feed is available and those
are the links to the repos we will
populate all of those links into the
chat so that you can get them without
having to tediously type them in
so we have three questions hey
the highest voted one of course is can
we save the dog
here we go
it is a very important question here's
astra
she is definitely our official ohmc
mascot only the center of the screen has
been shown you can see it
all right
hey little bobby hi
yes this is astra she's a two-year-old
um border collie poodle so she's um
broadca
so she's um
yeah crazy crazy dog tate's adorable um
one other semi-true um yeah off the
topic question is where is steve steve
is just over andy's shoulder right there
yes but there are a couple of technical
questions that we'll ask as well okay so
one is the new question
i haven't booted my badge since last
year escaping to my wifi but it isn't
showing an ip my router doesn't register
a valid ip either so the question is how
to solve that
i think the idea would be
this may not be the best idea but if you
turn off your
wi-fi and start the badge again it
should default to be an access point is
that correct and then you could
reconfigure it from there yes um
yeah so
uh there could be a number of things
that are wrong it's a bit hard to get to
guess
maybe what we could do is um just jump
on on the uh the hardware channel and we
have probably a bit more of a
um a one-on-one sort of question that's
try to try a few things
um but the best
the best approach is always to um get
the bring up the micropython console log
on on your on a serial usb port so you
can actually see the see the logging and
then uh to determine the problem yeah i
mean i was gonna if you can hook it in
via usb then you can hopefully access
the file system and if you want you can
blow away your if you remember um
the
the config file that's got your network
connectivity in it um if you remove your
wi-fi entry from that file put that back
onto the badge reboot the badge it'll
come up and say i don't know anything
about any networks i can't access it
anything and it'll bring up that prompt
again
so then you've got to configure a device
to talk to its access point
okay um we only have about one minute
left couple of quick questions
the next question is why not esp32 s2
which seems to be a lot easier to use
with micro python push file restart test
cycle which is why circuit python only
supports esp32 s2 and the answer to that
is that we were going with a cheap off
the shelf lowland module rather than
re-implementing everything directly on
the swag badge so it was just a
pragmatic choice of we can get these
boards cheaply and easily and we went
with that as known quantity particularly
since last year we needed 300 of them
plus spares
the next question is is fpga okay to use
on the old badge
and the answer to that is
that you will not have access to all the
communications on the new badge one of
the sayo headers has been extended to
add spi as andy mentioned earlier and
that is to allow communications between
the badge
and the rockling
you could use it without that extended
capability though yes the main way that
uh you'll communicate between this fake
badge and fpga is using i2c so although
i'm worked perfectly fine with last
year's badge uh what we wanted to do is
though is make it easy people to reflash
the uh the bootloader
and you will be able to last use badge
but because there's no specific port
we'll just give instructions on how to
basically connect the four wires from
last year's square page to the header on
the on the right link if for some reason
you want to um re-flash the bootloader
which is um you know in most cases not
necessary but yes
we'll get into more details for that in
andy's uh dedicated talk later on this
today yeah
and i think that is it according to the
schedule i think we are now out of time
and we're now going into the room
changeover so after the break we're
going to have tisch talking about
the um oh no we don't we have brett
we're talking about microarrays
looking forward to that one yes it'll be
very interesting so go and grab a drink
or something and we will see you all
back here really soon thank you thanks
everyone