[Music]
we're at the aerospace village and this
is the bricks and
bricks in the air bricks in the air yeah
so what can you explain what it is
absolutely so we've got lego placeholder
aircraft that are our bricks in the air
for the aerospace feel the nice thing
with the lego kits is you get like the
movement you've got articulation with
engines and landing gear um and so we
can build this interactive thing that's
in a safe academic way to like make
airplanes like demystified so that
people can feel comfortable interacting
with it and so we've got we're exposing
the low-level protocol which is similar
to what you'd find in a real airplane
we're using i2c
locally here it's cheap it's ubiquitous
it's easy for like people to understand
but in real commercial planes are
different protocols the 1553s the 429s
there's a lot of similarities so there's
bus controller and there's receiver
transmitters
and everything can talk on the same bus
and it's a flat network in that sense
all of that is present here again in an
academic kind of learning exposure type
environment
so like one thing we can do on this kit
like let's lower the landing gear or did
you have something no but why don't we
just do speeds on the propeller let's do
the setup yep so it's running pretty
slow right now right and
i wanted to bump that up a little bit
there we go so we have our lower level
uh
commands here okay we're moving up a
little bit
and in the challenge um you move through
various stages we'll let you do a little
bit more each time
and uh should we show them
yes all right and the goal the goal of
this is to is it to reverse engineer the
protocol to figure out the protocol and
learn how to control it reverse engine
reverse engineering the protocol yeah
you could totally do that it would take
you a lot longer than you want to sit
down here and work on right so
the way we kind of phrased it is you
have the maintenance manual right here
and that kind of gives you a leg up so
you can go through here and figure out
okay well we have all these different
devices here here are the addresses here
the protocols
uh different commands that we can do and
then you kind of got to figure out how
it works and you play with them and you
move on and as you go through
uh
once you
break those limits you're in a debug
mode where like all right we can send
whatever we want now we're no longer uh
protected by the regular flight mode you
could do things like set the engine
speed to 11. and if you do that
oh sheesh
you found like an edge case in our
academic scenario where the engines were
over sped it was like an uncaught error
handling kind of thing and so like we've
seen this now in like the real life if
you will this is like the fun prize for
people to win but really the challenge
is to like sit down and have fun
learning through i mean we're sharing
all the information and so it's kind of
learning like this concept of addressing
and commands and responses and like
deliberately setting that to get a
prescribed reaction and what's so cool
about this it's not often like
oftentimes like when you get a
successful hack it's like you're you
might be in your basement you overflowed
eip and it's like
it's like you're the only one who's
celebrating with this it's so cool that
you guys have built something which
simulates sped up the engine too much
and smoke comes out is there any other
elements which happen with this
yeah so we can uh open and uh close the
landing gear here too and i'm we'll do
this
this way just because i don't have the
commands up at the moment this is our
admin controller yep so we can uh spin
us back up over there but we can also
drop our landing gear down so all these
things are accessible through uh the
actual
uh command you probably remember exactly
what you need to do for all that yeah so
like that's so cool so they're pretty
much
going through the manual figure out
where where in memory they make the
changes to make this happen on the plane
and then try and find the edge cases
where they maybe can push the speed a
little too fast or instead of saying
okay the landing gear can go up or down
but what happens if i send it to this
third condition yep exactly but man with
that this has to be one of the cooler
setups i have the last thing i want to
ask is what hardware are you using right
now i see a bus pirate i see what looks
like a raspberry pi what's all
controlling
the lego kit starts and stops right here
at the infrared control so this is all
lego power functions after here this is
exactly where the device is connected
so then we've got this
purple board made from osh park and it's
designed i designed that as well
so we got three i mean it's a little
heavy-handed uh or ate mega 328
controller so it's the arduino stack
flight control computer
engine control computer and then the
landing gear control computer
um and so
this is a stack where we're exposing
like we're prescribing i2c addresses for
the computers
all on the same bus and then what
they'll do is when they receive a proper
command send out an ir signal to the
appropriate channel to then control the
lego power position so
our interface to physical asset safe
academic
and then here is our like representation
of avionics okay that's like you know
the various computers that's important
and on the left there's the plus pirates
we're just using that
as a way to tap into the i2c you can
really use whatever you want on there
and then the pie over here is just to
give people something to play with um
they don't have to bring their own
computer this way they can just
drive and uh work on it yeah that's
awesome well hey thank you so much
thanks for showing us both the other and
this one like this has been so cool i
love it when you have like so much
hacking come out where anyone can see it
and see the reaction of it man thank you
for watching thanks for joining us and
hack on