36C3 preroll music
Herald-Angel: Good. Ladies and gentlemen,
we have here a talk by Sebastian Staacks.
Do I pronounce this well?
Sebastian Staacks: Yes.
Herald: Yes. Staacks. Staacks. [In German]
Ich musste das mal in Deutsch sagen. And
he's related to the University of Aachen.
He did a PhD physics. And he was in a team
that developed a fantastic application, as
I mentioned earlier on. He developed the
app phyphox. Do I pronounce this well?
Staacks: I would say phi-phox, physical
phone experiments.
Herald: Okay. Yep. Of course. I'm sorry.
I'm not in that kind of department. But
this application actually gives you all
the possibilities off your the usage, off
your smart smartphone. Really? Really
extending certain borders, to my opinion.
So please give a warm, warm welcome here
to Stefan.
Applause
Stefan: Thank you. Thank you for the
introduction and welcome everybody to my
talk. Yeah. As you've just heard, I'm a
physicist from the RWTH Aachen university
where I developed the app phyphox. Phyphox
is an app for those of you who do not know
it already. That uses the sensors in the
smartphone for physics teaching. So the
idea is that students can use their own
phones to do experimentation in class, in
the lecture hall. So for schools and
universities. I should explain. That in
contrast to some other talks by me. This
one will not be that much about education
because it is the chaos communication
Congress and this is the hardware track
here. So I tried to tell you a little bit
about the app, a little bit about the
sensors that we have on our phones and.
Yeah. Would we love to get in touch with
some, especially people from maker
community and from open source communities
to find some connections, how he can get
many open source projects together?
Because I've got so much feedback from
teachers and I think I could also use some
feedback from other developers as well. So
I would like to start with a short
explanation of what we actually do. So
yes, I said I come from a university and
there we have this introductionary lecture
for physics students, which is called
experimental physics one. And it's typical
lecture. Looks like this. We have a fancy
new lecture hall by now, but the situation
is the same. We've got 300 I think 370
students this year sitting in a lecture
hall and doing no experimentation at all.
There's only one guy experimenting and
that's the professor. And the students are
sitting there and enjoying the whole show
like they would enjoy a YouTube video and
maybe they are mildly amused if something
goes wrong. OK. And we thought we could
change this by using the sensors in the
smartphones. We're not the first ones with
the idea to use the sensors there, but for
some reason we decided to write our own
app, which turned out to be quite
successful then. So in contrast to the old
version where students just had to look at
and I'll get the assignments where they
can do their own experiments with their
own measurement devices. And to give you
an idea of what this looks like. I would
like to start with the first experiment.
Which is about centrifugal acceleration or
centripetal acceleration depending on your
preferred frame of reference. So the idea
is from a rotation movement, we want to
measure the radial acceleration as a
function of the angular velocity. So the
rotation rate. To do this we take a
regular smartphone, this is an iPhone 8 in
this case and we put it into a salad
spinner. Okay. We get some rotation in
there and whoops let me just place it in
there. Sound is not important, but it
sounds nice. I have been told. So here we
get the live data from the phone already.
Acceleration on the y axis and angular
velocity on the x axis. If the salad
spinner is actually moving. And what you
see is the faster I rotate the spinner,
the farther on the right you get your data
because that's angular velocity and also
the radial acceleration increases. If I'm
not going too fast because then I do not
get any data at all anymore. Let's slow
down again and we can fill up the gaps
there by going really slow and filling up
this path. And in the end, if so, who here
has a physics background some more than
expected. Great. Because those of you who
just raised their hands would not be
surprised that we expect a square
relationship between the radial
accaleration and angular velocity. Those
of you who do not know will believe me
from this plot where on the x axis we've
got the angle of velocity squared and on
the y axis the radial acceleration we get
a straight line and that's what you would
expect. So besides the physics, because
this is not that much about the physics.
This is a simple experiment all our
students could do and actually they ge, we
gave them this assignment. We gave them
also a bonus point if they created a
video. Don't worry. Their consent to that
we use the video was not related to the
point, they first got the point and then
we asked for their consent to use the
video. And we learned two things from
these videos. A Our students do not really
have salad spinners. they've got bicycles
and office chairs, but b and that was the
most important thing. It looks like I
mean, these are from this year where we
got almost 100 videos they we actually
could trigger them to go out, search for
something where they've got the
rotationary movement and they could repeat
this experiment. Ok. Another example which
actually changed just the course of the
lecture a little bit is a situation where
we first give the assignment before we
actually let them, before we actually
discuss the theory behind this, which
means in this example, this is a little bit
older because we did not get there yet this
year, we assigned our students to build
string pendulums. They look very similar
because we were very precise about how
they should build them. And then we had an
online form where they could submit the
length of their pendulum and the frequency
they received from it that they measured
with the pendulum. They should do this for
three different cases. And the idea was
that we did this assignment long before we
discussed the pendulum in the lecture so
that they have got a little bit of
research experience. And after we
collected all the data from them, then the
lecture would discuss the pendulum. So the
physicists were there now. We do a small
angle, approximation solving differential
equation. All this theory stuff. And in
the end we were done, we could tell our
students, well, we do not have to do this
experiment on stage. Now, because all of
you did this experiment and we simply can
compare the theory that we just arrived
with your data. And it worked out quite
well. So you see most of the white points,
which is the data from the students
matches the theory, which is the orange
line, except maybe for those three who
should proceed on a career of theoretical
physics. But yeah, so this is all
something got nice feedback from and this
is in principle how we use the app and
what it's designed for. There are also of
course many applications in school by now.
More teachers use this in school than we
use it at the university. So we take this
into consideration as well. But that's the
reason that I am standing here talking
about the sensors in the smartphone.
That's the reason that I am trying to
access them. so let's have a look at what
sensors we actually have in our phone. I
think the first one that most of you would
think often talking about sensors besides
obvious stuff like the microphone would be
the accelerometer. So I think yeah, I
think I first explain how the
accelerometer works. OK, so the
accelerometer in your phone is actually a
so-called MEMS device. MEMS is M E M S
stands for Micro Electrical Mechanical
System and it looks roughly like this.
It's a simplification. If you search for
actual MEMS devices, simply search for M E
M S and accelerometer and you find some
pictures. They usually are a little bit
more complicated, although the
accelerometer is not that much more
complicated. It consists of an orange
case. Yeah, well so far so obvious, but
also two contacts. The blue and the red
one and important part is this silvery
structure here or the metallic structure
which is under etched its bit hard to see
on this picture, but it's actually
floating. It's only attached to the sides,
you see light in between here. So if you
move around, the accelerometer the inner
path, can actually move. So let's do this.
So at each point where the device is extra
riding in one direction or the other
direction, due to inertia the that the
metallic part in here is distorted, moved
into one direction and we can measure the
amount by which it is deflected by this
movement with the two contacts by
measuring the capacity between these
structures. So that's the principle of the
accelerometer. One thing to mention at
this point is that it's in the sense of
physics. It does not really only measure
acceleration. It measures acceleration you
see in this image of the device
accelerating. We get some data, but if you
imagine we take this device and rotate it
like this, then of course you also get a
deflection of the of the metallic part by
gravity. So gravity is pulling it down as
well. And that's the main reason the
accelerometer is in there because the
developers and manufacturers of the phones
are not really interested in measuring
acceleration, at least there aren't that
many use cases for it. But instead, what
they want to have is an indication on
which direction is down or which direction
is up. So when you rotate the screen of
your phone, actually they can rotate the
content of the phone as well or with this
you can also then control video games by
tilting your phone and stuff like this.
Because gravity also deflects the
accelerometers. Earth's acceleration,
which you try to avoid because from
didactic point of view, this is a
nightmare to distinguish these both. But
the point is that we can detect rotations
like this and this is pretty much in every
phone. I mean, this is not really a
statistic. This is just the first pie
chart we have about availability. I have
never encountered a single phone or tablet
that does not have an accelerometer. So if
anyone ever encountered some special
device, some very unique device that
doesn't have one. Let me know because I
would be interested in this at least. I do
not know of any device on which phyphox
actually runs, which doesn't have an
accelerometer. A bit more interesting is
which data rate we can achieve. So most
accelerometers have several hundred
samples per second. Actually the fastest
ones go up to 500 hertz and but there are
also many devices that only do one hundred
hertz That's 100 values per second. These
are mostly the cheaper Android devices and
all the iPhones. So I think the internal
accelerometer will do more on an iPhone.
But I have to admit, at some point I can
understand why they might limit this. But
on an iPhone, you get 100 hertz. That's
the limit. From the API, what you can get
there. But this is actually quite a lot. I
will later see what we can do with this.
And one other point about calibration of
this thing. Actually for all the sensors
to get reasonable units from the system so
the acceleration is given in meter per
square second. I just realized that if I
get the units, that's something I would
really tell my students. But yeah. So on
the x axis, it's a meter per square second
and you see that as a wide range of values
that you get there. So this data is from
our sensor database. I would mention it
later as well. This is contribution from
our users what data there this. This only
absolute value that we get from resting
phones and we would expect nine point
eight one meter per square second for
earth acceleration. There are some local
variation, but not on that scale. So do
not expect your sensors to be well
calibrated. Also, if you've got any app
that tells you you can push a single
button and then calibrates your sensor,
don't trust it. It's not that simple.
These sensors may have different errors on
each axis. They're all 3D sensors we've
got an X, Y and z axis. These errors can
be linear errors so you have to multiply a
correction. It could be an offset. So it
would have to add an correction. And on
top of this, the entire device could be
tilted within your phone. OK. So actually,
if you look into the data sheets of the
accelerometer, they have some tolerance on
how much they might already be shifted or
rotated within the package. And when
soldering it into the phone, I would
assume there will be an additional error.
I've seen so many different errors on
different phones. It's not that easy to
simply calibrate that. But let me give you
an example of what you can do with it. Or
just a quick look first. So we see in our
app. Yeah. So this is phyphox. OK. Thank
you. Got this. You have an entry
acceleration with G. That's the extra raw
data from the sensor or as raw as we get
it. If I started you see if I shake it,
you get some readings there. It's fast.
It's already great. You can apply to
pendulum and measure the acceleration of
the pendulum like this. But something I
want to demonstrate is that we can also
get the frequencies from this data by
doing a fourier transform and calculating
the frequency spectrum of this exploration
data and to demonstrate this I brought a
little device a old hard disk drive. It says
it's broken, but it's still rotating and
that's important part for us. So if I
place my phone on top of it, start the
measurement. Turn on the hard disk drive.
And then you see a peak showing up in the
spectrum and it settles at 120 hertz. If
you don't believe me. Unfortunately, we
don't have a camera here right now. You
can later have a look. It's supposed to
run at seven thousand two hundred RPM,
which is 120 hertz. We can even get a time
resolution of this. So if I turn it off
again, you see how the frequency drops
down. And if I turn it on again. There it
comes up again. OK. So this an example of
what you can do. It's great for students
that can check if the washing machine at
home is working properly or they can
check other things. But usually I do not
like to bring washing machines to talks.
So I used the hard disk drive here. One
other thing you might have noticed before
is that we've actually got acceleration
with G and acceleration without G. The
second one is actually a sensor that
removes Earth's gravity. So if I start the
one with G, you will notice that down here
on the Z, the axis you still have the 9.81
meter per square second, which is great
because if i rotate the phone. This
contribution goes to other axis and we can
determine the orientation of the phone.
But this is bad actually for dedactics
because actually the phone is resting.
It's not moving at all. There's no
velocity involved. There's no
acceleration. So luckily, there's also an
acceleration without G, which gives us
roughly 0 an all axis unless I actually
accelerate this thing. Problem with this
is this is only a virtual sensor. This is
a sensor that's fusing the data from the
accelerometer with an additional sensor
like the gyroscope. So we can actually
distinguish between rotating the phone or
accelerating it in one or the other
direction. Usually you only get
acceleration without G. If you also have a
gyroscope in your phone, I've seen two or
three devices that offer you acceleration
without G, even though they don't have a
gyroscope. This case, don't trust them.
This is merely guessing. OK. So it's. They
probably have only low frequency filter
on top of this, or they're averaging out
your movement and this doesn't really work
for anything. Yeah so that's the
accelerometer or one other thing I want to
mention is if you look into the API to
access the sensors yourself for some
reason you will notice acceleration
without G is usually called linear
acceleration in our app since it's made
for teaching. We decided to call it with
and without G. So if you find
accelerometer, that's the one with G and
linear acceleration is the one without G.
If you look at other apps or the API.
Okay. Next up, I already mentioned this
one is a gyroscope. If you have, some
physics background. Then when you think of
a gyroscope, you're thinking of a device
that's spinning fast so it has some angular
momentum and then usually you want it to
be heavy and to have the weight at the
large radius. We've got a strong moment of
inertia so that you get when it's spinning
fast, a strong, angular momentum and due
to the conservation of angular momentum.
These spinning devices can keep an axis
regardless of rotating the frame around
it. That's what I was thinking about, a
gyroscope of what I think is a gyroscope.
When you just give me the term out of
context, of course, a heavy, huge, fast
spinning device is the last thing you want
in your phone. So that's not what's meant
with the gyroscope when people are talking
about gyroscopes in your phone. Instead
there again you have a MEMS device. So
again, micro electromechanical system. You
notice this looks almost exactly like
accelerometer. If you look for real
devices, those are actually much more
complicated because they need some
specific geometry to make sure that they
do not act like an accelerometer. But the
principle is easy to explain with the same
geometry. So we again have this floating
metallic part and we've got 2 contacts. So
again, we've got a part that can wobble in
this direction here. But on top of this,
we've got the motion that's perpendicular
to this. So this is now not depicting the
motion of your phone, but this is
depicting a vibration that the gyroscope
does by itself all the time. So there are
different ways to build them. Some have a
rotary motion, some have this linear
motion. Also, the way to create this
motion makes this device so much more
complicated. But in principle, it's a
similar structure which is vibrating forth
and back and now if you add rotation to
it. It's a little bit hard to see it as
it's rotating the inner part now suddenly
gets deflected. That's changed, right?
Frame of reference. So let's get the
camera in sync with this device. What you
now see is that the inner part is moving
left and right, although the device itself
is only moving up and down. And the reason
is I don't want to deduce it entirely
here, but most of you probably have heard
of it. This is the Coriolis effect. So,
yes, in fact, your phone is determining
the rotation rate of your phone, not the
actual angle, but the rotation rate or
angular velocity due to the coriolis
effect, which is just mind blowing if you
do some of the calculations. There are
some manufacturers on the Internet which
claim that they can detect a movement of
the order of magnitude of a single atom.
And I believe them because we use similar
structures in solid state physics. So
that's possible. If you want to try it,
just turn on the gyroscope on your phone.
And do slight rotation like this, which is
about the Z axis, one perpendicular to the
display, you can detect really slow
rotations with this. And think about the
fact that this is done using the coriolis
effect and it's just mind blowing I think.
So this sensor is a bit more available.
Actually, almost 80 percent of the phones
have them. This has become significantly
more since Pokémon GO. The reason is
when this game came up, suddenly people
noticed that there's a device called the
gyroscope. And if it's not present, they
did not have this AR mode where you can
actually take pictures of the nice cute
Pokémon and so on. So this is when the
many people noticed it and the
manufacturers decided, OK, let's just
throw in the gyroscope as well, because
it's not that expensive, in fact, usually
it's on the same chip as the
accelerometer. Then they're sold as one
thing it's an IMU - Inertia Measurement
Unit not important at home, but so it's
quite a common thing. And the sensor rates
look pretty much the same. You mostly
notice the dip in the 100 hertz regime
because those are the real cheap phones,
which then also don't have a gyroscope.
But most of the phones achieve higher
rates. Again, since we were laughing
before the iPhones also are here again at
the 100 hertz. Wouldn't make sense to have
the gyroscope faster at this point. Yeah,
but that's it about the gyroscope you've
seen it in action in the salad spinner.
And that's one of the sensors you do not
really see that often directly, but were
just mostly there to assist other things
that you do where you need to get smooth
motion like controlling games, AR . And
actually removing the Earth's acceleration
from the accelerometer. Next up is a
magnetometer, which I think is a more
obvious sensor because that's your compass
in your device. So when you're doing
navigation with a GPS in your car, it's a
simple thing. GPS gets a position, you get
a sequence of position as you going and
from the sequence of the positions you
get, the direction you're moving in your
car and your phone is attached to the
dashboard at least i hope so. So it's
pointing in the same direction you're
moving, everything's obvious. But if
you're standing on an open space looking
for not sure a train station or anything
and you wondering which direction you want
to go from point of view of GPS, it's
always the same position it doesn't get an
orientation. You need a compass, which is
the magnetometer. How do we get a compass
on your phone? This is usually a hall
sensor. A hall sensor is in principle just
a conductor with charge carriers so these
are the nice shiny white balls here
drifting from one side to the other so
it's just an electric current. And if you
apply a magnetic field to an electric
current or to any electric charge, then
there is an effect. You might know from
school, which is called the lorentz
effect. So there is a charge going one
direction, you get the magnetic field
perpendicular to this and then the charge
is deflected into a direction
perpendicular to the flying direction. And
yeah, that's lorentz effect the older
guys, of you would know it from CRTs. If
you bring a magnet close to a CRT, the
entire image is messed up due to this
effect. And that's what we're using in
hall effect sensor or hall sensor you've
got this electric current and if you bring
a magnetic field close to it, the charge
carriers are deflected to one side or the
other. And therefore, if you're measuring
the voltage perpendicular to the flow of
the count, you get. Yeah. You get an extra
voltage that's proportional to the
magnetic field. That's the hall effect.
That's how your phone is able to determine
the magnetic field. This one is even more
common than the gyroscope simply because
it's used for navigation and people start
to notice if it's not. If it's not present
and they do not get an orientation in the
navigation software. But the actual rate
of the sensors is much slower than for the
accelerometer. Most of them are running at
100 Hertz. It will be important in two
more slides. Besides that, there's not
that much strange about the availability
of this, but it's extremely sensitive
because it's supposed to measure Earth's
magnetic field. Earth's magnetic field has
the strength around 50 micro Tesla. This
is not much actually if ever carried the
magnetic magnet with you. Did you fear of
some force from the Earth's magnetic
field? Of course, it didn't need to build
some compass where the needle is floating
on something like this to actually get a
rotation. It's a very weak field and
that's good news and bad news as well,
because on one hand, it's very sensitive.
downside is it's very sensitive. Which
means it saturates very early. If you want
to measure the magnetic field of an actual
magnet. Don't even try it will saturate
right away. You do not get anything to
demonstrate how how sensitive this
actually is. I've brought a flashlight, so
a very simple one. And I switch to a modus
where we've got an s.o.s signal. That's
coming up, a point in this direction and I
place it next to the magnetometer in my
phone. And yeah, you see right away so
much of his seeing the lights are pointing
in this direction. You see the s.o.s
signal popping up in the magnetic field
reading simply because of the current
going through the LED. So that's what we
call an Oersted-field. This is just the
typical magnetic field you get from any
current flowing. So I stop it. We got a nice
SOS signal over there. Three short, three
long and three short signals. And it's just
coming from this simple flashlight. And
this is also a good indicator on how
sensitive this thing is. I mean, if you
place your phone in a case with a magnetic
some magnetic closing mechanism, compass
wouldn't work anymore. If you're not
careful when paying your clothes and you
place your phone on the big magnet that
removes the theft protection from the
clothes, something in your phone would get
magnetized and would certainly be stronger
than Earth's magnetic field. For the rest
of the day, your compass would be pointing
in the wrong direction. Okay. Luckily,
usually the phones are able to notice this
and they recalibrate the phone to simply
subtract any constant fears. That again is
bad. If you want to do absolute
measurements because you have not much
control over the recalibration mechanism,
you can access the raw data value. So if
you folks there's a checkmark where you
can disable the calibration, but then you
have to do everything by hand. You will
certainly have some background that's
annoying. And one other thing, you should
also take care and notice where your
actual magnetometer is because in most
phones it's on top left corner, top right
corner, top center. And this Pixel 3 is a
very strange one. It has it on the right
hand side, but it's never dead center. I
think because of all the currents in the
phone, I mean, you're charging your
battery with three amps. How much you
charge them now? This would yield a
stronger field than a flashlight and you
would see it in the magnetometer again.
Now for what you can do with this. So as
little homework for all of you who came by
train yesterday, when I came here on the
ICE, I turned on the magnetic spectrum,
the same thing as the acceleration
spectrum you just seen. And when you're
doing it on train, you would see a peak at
16.6 hertz. It might depend on your actual
seat. You might move it around a little
bit. But so far I usually always saw this
peak. This is the electrification
frequency of the German railway. So you
can simply check if it's working properly.
You should see 16.7 hertz. Okay. One other
thing that some of you might get in your
head right now, that you could do this
with simple electrical outlets. There you
would get a problem with the rate. So
that's what I mentioned, that the rate of
the sensor is quite important. I also got
something via Twitter yesterday. Just as a
response to the other one, I thought,
well, I was looking for an example like
this for this talk talk, so I just put it
in. This is a measurement of an American
power outlet which is run at 60 hertz. But
this guy is seeing 40 hertz and he was
wondering about this. That's what's called
aliasing. So the alias effect, sort of you
might notice this from computer games.
They usually use it in slightly different
context. The idea is if you're measuring a
frequency that's higher than half of the
data acquisition rate of your sensor. So
this one is runningat 100 hertz like most
of the phones do. Then half of this
frequency is what's called the Nyquist-
frequency. And you notice that the
spectrum goes from zero to the Nyquist-
frequency. This is simple math, not simple
math, but its maths. The roots of the
fourier-transformation, you could say so.
And if you try to detect a frequency
that's higher than this, so an American
power outlet with 60 hertz, actually the
higher frequency is showing up as on the
other side of this upper limit at 40
hertz, even if you go to a higher
frequency, it would shift down further and
further until reaching zero and then it
would shift up again. So if you're
interested in this. Check out some
articles about aliasing. If you're not
that interested in this. Just keep in
mind, if you're measuring frequencies that
are higher than half your data acquisition
rate, you will not see the correct
frequency. OK. Then one of my favorite
sensors, the pressure sensor for this one
I need. Again, the phone. That's not on a
wire. Let me before before I show
anything. Let me demonstrate what it can
do, because that's something I find quite
surprising. Let's turn on the measurement.
By the way, those who are wondering how
this works. There's a function in phyphox,
we call it remote access. It's basically a
web server running in the app which
provides the data so we can simply access
the data on the phone to demonstrate or to
control the measurement. And now here we
see the pressure sensor. Right now, just
mostly noise or what I do now is I hold it
up. And if we wait a few seconds, you
would see that the pressure's actually
dropping. It has dropped far enough. Then
I place it on the ground and the pressure
is rising again. So actually, your phone,
if it has a pressure sensor, has a
pressure sensor that's sensitive enough.
So we turn it off to measure a change of
pressure of a distance like this. OK. And
that's again, when I first tried this, I
repeated this test several times before,
believed it was just not by accident. And
how do they do this? You have got another
device that actually has a cavity. So
below the bluish gray part, there's a
cavity in there which is covered by a
silicon membrane, which is the bluish
part. And if you change the pressure this
simply moves it like you would expect from
a membrane just in small. And to detect
this movement, here is some material on
top of this which changes its resistance.
Or resistivity depending on the strain
created by morphing, dismembering. And
unfortunately, this sensor is not that
much available. So about a third of the
devices that we know of have the sensor.
Of course, there's some bias in there from
the users that submit data to us. This
means that, yes, these are usually the
more expensive devices. So my rule of
thumb is if it's an iPhone, they usually
have the pressure sensor except for the
iPhone SE or some older models. If it's an
Android, if you payed half as much as you
paid for an iPhone, then you have a good
chance that you have to pressure sensor as
well. But OK, that data rates? Yeah.
Varies a lot. So the iPhones, like you
just saw the rate of about 1 Hertz. Most
Android phones are on five, ten or twenty
five hertz. I've never had a device like
this in my hand. It does 100 hertz. I
don't really believe that this makes sense
because I already noticed on my phone that
I think it does 25 hertz. Just handing it
because of the sealed casing introduces
more noise than you can actually use, at
least for these small distances that I use
it for. But you can do other funny things
with this. So this is something I received
by Dianna Cowern. You might know her as a
YouTuber called "The Physics Girl". She
used a pressure measurement on the flight.
It's something you should do anyways,
because that's the way you can figure out
how much air you get to breathe up there.
It's much lower than you might expect.
But she saw something else. So at some
point she saw the drop in the pressure and
increase again. And she asked her
followers, what could this be? And I'm not
asking the audience right now. I just give
you the solution. She wasn't lavatory and
she flushed the toilet. So when water and
air gets sucked out, you can actually
measure this. And then about a month ago,
I found someone else who allowed me to use
his measurement. So this guy, Phillip
Smith, was on an airplane again. But he
did not actually go to the lavatory. He
stayed on his seat and he just checked
when people were flushing the toilet. So
as he sat, there was there were
turbulence. So they couldn't go for a
while. And then there was the rush while
the toilet and he was plotting it. So just
for those of you that came here by plane,
just a hint as a conversation starter next time,
when the guy next to you goes to the toilet and
he comes back, tell him exactly all of the
head to flush the toilet and ask him why.
Okay. And you would enjoy the rest of the
flight. Some other example that we
actually use is measuring the movement of
an elevator. So this is a lift in Aachen.
We have the accelometer which measures the
acceleration of this thing, gets the total
height difference of the elevator from the
again, from the pressure sensor, a
barometer. That's a pressure sensor. And
the velocity of the elevator as well from
the change in height. OK, so next time you
enter an elevator, I want to see you all
to take out your phones and measure the
distance that the elevator is traveling
and the velocity at which it does so. OK.
So these are, in my opinion, most
important sensors, some honorable
mentions. Almost all phones have a light
sensor as well, which controls the display
brightness depending on the ambient light.
Unfortunately, there is no API on IOS
to access this. So if there are apps
that seem to access a sensor like this,
they usually use the camera instead, which
is which also works quite well. But it's
slightly different since the difference
between illuminance and luminance, which I
do not want to go into detail here. And on
most Android phones, they are badly
calibrated or do this so much difference
in the quality of the sensors. We have to
check it on your own phone if it's worth
anything. But it's a bit difficult. This
proximity sensor, which is the one that
turns off the screen when you hold the
phone to your ear when you're
actually doing your call. Sounds
interesting, but unfortunately it only
distinguishes or has I know it
distinguishes between between the near and
far value, which is the difference between
five centimeters. So I do not have that
much use for it. There is the temperature sensor,
maybe if they are officially there, then
they usually come along with the humidity
sensor, but that's the sensors in your
phone. So you should be a little bit
skeptical about this. You're mostly
measuring the heat from your battery or
from your device. They tried to compensate
for this, but that's a difficult thing to
do. So if you actually, one, need a
thermometer, take a thermometer. They're
not that expensive. OK. You might see some
temperature sensors that are not official.
Which phyphhox can pick up. Those are usually
temperature sensors that are part of the
pressure sensor to compensate for
temperature effects. So they're not even
designed to get an outside temperature.
OK. So I wanted to mention this. While the
information about where we got the
information about the sensors from, so in our
App at the very bottom, does this entry
submit to a sensor database which tells
you to leave the phone resting on a table?
It also checks if you're actually doing
this, doesn't let you submit it before it
is happy about the error rate or the
standard deviation of the accelometer. And
if you submit it, we collect the data on
phyphox.org/sensordb and that's
where I got the statistics from so far. So
if you're interested in what a new phone
that you're about to buy can actually do.
Of course we don't give you any guarantee,
but you can check up or check out all the
data, all the phones. At least those that
are already in our database. And of
course, I'm happy if you contribute
statistics about the census in your phone
as well. So you might want to play with
this later. And then finally, the last
thing to finally conclude is some
information on how you can access the
sensors. Of course you can write your own
APP. I think here quite a few who can do
this. Just have a look if you can write an
App. Have a look at the API. They're not
too complicated. It's easy to access the
sensor data. If you're not interested in
designing your own app, but you want to
include sensor data in some other
projects, there are three ways you can use
Phyfox for this, which I want to
introduce, because that's something that's
one of the reasons I wanted to connect
here. Don't hesitate. Phyfox is free. You
can get for free on Google Play and on the
Appstore. And when I say it's free, I mean
it's really free. So it's open source. The
GPL and you can also get an afterwards we
assured of code running on your phone
is the code that you see. And we have
three versions how you can.. At least they
are categorized into three versions. How
you can access the sensor data. First
thing is you can implement something in
Phyfox yourself. So I've got this editor,
visual editor of all file format, which
allows you to take a sensor, place on
mathematics. So this is just adding stuff,
but you can apply a Fourier transform or
anything and then assign it to a graph.
Alternatively, and of course a bit more
powerful. You can have a look at our XML
format, which defines all the experiments.
So actually all experiments to see in
Phyfox are not hardcoded, but they are defined
in our own file format you can edit any of
them to your needs. And when you're done
you can transfer your data with the QR
code. Do not try to scan this QR code just
from your QR code app. You have to scan
it from within Phyfox and if you do,
you'll find a nice little experiment which
uses our file formats to implement a Turing
machine that's counting binary up to 256.
So this is the proof that all file format
actually is Turing complete. So you can do
a lot with it. Okay. I'm not suggesting
that you're trying to implement doom on it
or something like this because you won't
be able to. It's not efficient that way.
It's not designed to be Turing complete.
It just happens to be Turing complete. So
if you want to do something more, you can
connect to Phyfox via a network. You've
seen one example with the salad spinner.
When I said that there is a
a web server running on the App. You can use
this to access the data directly from your
preferred programing language. There's an
example where I'm using Python to read out
the sensor data and control a synthesizer.
So what's running on the web server is
basically a rest API. So yeah. Just visit
our website and learn how to do this. So
you can read out the sensor data of a
network and control your project with it.
An alternative to this is a new network
interface that we have, which is more on
this XML side or the design of our
experiment configurations, which is meant
to collect data from many users and not
life data. So we had this lecture. So this is
the new lecture hall, by the way. So we
had a lecture where every student got a
spring from us and there was supposed to
build a spring pendulum and we collected
the data from all students and the lecture
hall in realtime on the big screen to
determine the dependency of the frequency
from the mass of the pendulum. And another
example. Just a few days ago, we during
the winter solstice, we asked our
international users to point their phone
at the sun. So we get an angle for the
elevation of the sun and the azimuth from
the magnetometer with a compass. And this
way we could trace the path of the sun
across the earth from all the users. What
each black point with the line is a
contribution from a user. So, yeah, from
this we could, for example, determine the
tilted angle of the earth's axis. OK, so
just example, what you can do is this
network interface, as long as we're able
to set up some server to receive the data,
you can use this network interface. We're
still working on this network interface.
So far it can only do HTTP requests, get
or post. But we are also planning on
implementing Mqtt and other protocols like
this. And the third option is a Bluetooth
connection, which is mostly designed for
sensors. So if you want. If you have some
Bluetooth low energy sensor that you want
to read out, you can use Phyfox. So
there's an example of a Texas Instruments
sensor tech, which has a software which is
not designed for Phyfox. But our file
format is flexible enough to
simply tell Phyfox how to read all the
data and suddenly we've got the sensor
that can run independently from the phone.
And of course you can include your own
projects like this. So there is an example from
actually my institute, because originally I'm in
solid state physicist. So we're working a
lot with graphene and this is a
demonstrated we create that was an ESP 32.
So this is another version of an Arduino, or
Arduino compatibel. What we're doing here.
We're reading out a graphene Hallsensor
and so. It's all similar to the holecenter
of phone, but based on graphene and we can
get life measurements in Phyfox with this.
And so if you have an Arduino project with
which you want to.. from which you want
to send data that is plotted in Phyfox,
you can do it with a bluetooth low
energy interface. But if you have some
patients and maybe wait two more months,
we are working on Arduino library to make
this simpler. So this the entire code, you
would need to read out the analog input
from an Arduino and send it to Phyfox to
be plotted. OK, so this is working right
now. If you cannot wait, you can check it
out on our website. So this is already
available, although it's a work in
progress. The interface will change a bit
still. I would prefer if you want to
start right now, if you contact me so we
can get some feedback and maybe even
design the library also to your needs. So that
we get an idea. So with this, I'm about to
finish. So just a short summary what I'm
hoping I can trigger. Yeah. So if you were
mildly amused, mightily entertained by
this by this talk, check out our Web site
or check out our YouTube channel or
Twitter. We can get some more examples,
what we do with the sensors in the phone.
If you are a teacher, are teachers here?
Quite a few. That's great! And if you want
to use this in class or in a lecture,
check out our Web site phyfox.org. We've
got a database of experiments that you can
do: phyfox.org/experiments .That's then
actually about physics and less about the
hardware where we also demonstrate the
experiments and how they work. If you are
a teacher and has a specific project in
mind. Check out our editor to design your
own set up with which you can do something
specific for a very specific experiment.
phyfox.org/editor. Then if you are working
on arduino project and want to plot
something, you can visit Phyfox.org/arduino,
where you already can access
our library. Although it's not complete as
I said. So maybe wait a little bit or
contact me first. If you have a Bluetooth
low energy device that you want to use or
integrate. You can visit phyfox.org/ble.
If it's about a device that you did not
design yourself, you probably need some
background information about bluetooth low
energy. Should know what a GATT server is
and how characteristics and services, new
ideas and all this stuff and bluetooth
energy works. And it's good to get some
documentation or to be good as reverse
engineering, but in principle I haven't
seen many devices so far which could not
work with phyfox easily. Then if you want
to read the values for another project via
network, visit our website, the wiki on
our website. phyfox.org/wiki, where you
can get information about the rest API and
on your network interface. And finally,
something I would really love if you want
to contribute. If you can write some apps,
I mean you can use a lot of things. The iOS
app is written in swift. The Android
version is written in Java. Our webserver,
of course, has web development and Html in
JavaScript. So if you want to contribute
there. Visit our Web site at a
phyfox.org/source. And we would love to
see some help in development. With this I
finish my talk and I'm looking forward to
any exchange we will have later and any
questions. And I'm just thankful that it
was allowed to talk here and
get so much attention. Thank you.
Applause
Oh, by the way, since it is up there. One
bad news, unfortunately, I can only be
here today. So if you want to talk to me,
try to catch me today. You can also call
me. I actually brought a DECT phone,
but, uh, sorry, only today.
Herald: Oh, my God. So quickly, though, we
have questions now, 15 minutes, then 15
minutes, I think. And then afterwards, you
have to find him and catch him. Thank you,
Sebastian. Questions. Shoot. There is one.
Question: You mentioned aliasing affect
during.. Is it possible to change or modulate
the sampling frequency to actually find
out our frequency above the sampling frequency?
Sebastian: Yeah, that's that's a good
question. Not only because of the of the
alias affect, but also because some
projects also want to reduce the sampling
frequency. It's a little bit tricky
because on both APIs and both IOS and
Android, you cannot specify a target
frequency, you can only specify a
frequency that specific for certain use
case. So for example, you say I need the
accelerometer data, that's which at a rate
that's reasonable for UI changes or at a
rate that's reasonable for games. Right.
Right. That's as fast as possible. So if
you do it for UI, you get something like
let's say two three hertz. We heard something like
this or you doesn't waiting ages before
the screen rotates for games. It's 25 50
hertz something like this. So we can
control the game and fastest is the
data I've just plotted. And Phyfox always
request the fastest we can see and in
Phyfox we have a setting, we can limit the
frequency. Unfortunately, if your
frequency is not simply a multiple, no,
the other way around is. The frequency
given by the device, is not a multiple of the
frequency that you gave. It's not easy to
break it down to the target frequency. So
you usually see some odd cases where
Phyfox tells to group the sensor events
along this to get near this frequency. So
it might not work that well. And
especially if you're looking for the alias
effect. This might really mess up their
alias effect, so you might need to try a
little bit which frequency looks good to
do this. But of course in principle you
can average about multiple values in this
way or simply pick only every end value.
And this way we'd use the frequency. And
yeah, this can be done to our editor or to
the main screen. There's a plus button
with which you can simply expand which
already allows you to set this simple
frequency. Just keep in mind that you
cannot really always get to the
target frequency, right?
Herald: Right. There is another question.
No? Yes. Please.
Question: Hi. Thanks for the cool task.
It's a great app. I love using it in
school. I was wondering if those cool
animations how to sensor types of working
are available.
Sebastian: Sorry. The animation scene.
Yeah. I think I wonder how to do this
best. Before that, I was already thinking
about sharing the slides. Actually, my
talk is space it's just written in HTML in Javascript
it's not easy to control for everyone. That's
why I did not simply upload it. I would if
I would check later, if I can, upload the entire
talk in some way that makes sense either
on our website. I'm not sure if it makes
sense to upload it to the system of the
conference. Still, after the talk, I would
check it, but I am not... I want to share
the slides, but I probably need to add
some documentation on how to use them
because they are not Power point PDF or
Latex generated PDF.
It's handmade.
Herald: You can always cut them out of the
video getting streamed and La la la la la.
Yeah, right.
Question: Just a quick question of the the
axis of the phone. They're like like that
and that distorts us.
Sebastian: So it's not for most phones.
The X-axis is reading directlon. The
Y-axis is upwards along the screen and Z
access, Z-axis depending on your dialect is
perpendicular to the screen. I'd say in
most cases because officially the X-Axis
at least I think I've written this
documentation for Android is along the
natural reading direction of the device.
So if you've got a huge tablet which you
naturally would put in horizontal
alignment, not portrait mode, it might be
that the X-Axis is the long Axis. I have never
seen this myself, but I'm a little bit
careful to say that all these devices have
the same axis, but Z is definitely always
perpendicular to the screen and X and Y are
than the other ones and they are fixed and
usually the short side is the X-Axis.
Herald: Ok. There is one more question
there, please, sir. Take the microphone.
It's next to you. You got it off the
...
Question: Hi, you mentioned the necessity
of the magnetic sensor to to determine the
content orientation. Can you not use past
G.P.S. data and then integrate over the
gyroscope data to get the current
orientation?
Sebastian: Lauthing Mathematically, your
correct, problem is integrating sensor
data is not as simple. I'm often
surprised on what some software
can actually do. If you do it naively
right now I only have an example in mind
for the accelerometer cause it could also
say you can integrate the accelometer data
to get velocity. You can integrate the
velocity to get the displacement of the
phone of the location. If you do this,
we've got a very simple example in our
wiki. Very naiv even one without any
filtering, then just the noise means
that's if there's little arrow, you summit
up integrations, nothing else but
suming up in small steps. You get an
offset error in the velocity. If you
integrate this again, you get an error in
the location with which is growing with
the square of the time. So if you do this
for location and try it out with our naive
approach your phone is supposed to
be 100 meters upwards after about 10
seconds. If you do this for the gyroscope,
it's a little easier because you only
want integration. But still there will be
some drift. I'm not sure about all the
techniques the manufacturers imployed to
filter out any errors. I mean, obviously
the gyroscope is self calibrating
otherwise, it would be pointing in
different direction all the time. And on
some phones I've seen it jumping
when it recalibrates. But if you simply
integrate this, you will certainly get
drift, there's no way that you can get
a fixed position. What I think what they
probably do for most cases, they use the
gyroscope to immediate direct
rotation and then try to fuze it
in some way with the magnetometer
information to keep it fixed so that at
the end you're not pointing the wrong
direction. But the gyroscope itself, only
on its own, is unfortunately only giving
you the rotation rate, not the absolute
rotation in contrast to an actual
gyroscope. The big one that's rotating. So
it's at least not that easy.
That's all I can say.
Herald. Whow? What the bunch of
information, Sebastian? I really love the
.... There is someone else with a
question. I really love your replication.
Actually, it was really immediately fun
to, go.
Question: Thank you so much for a great
application. And my question is, just very
short. Can you also integrate external
sensors through Wi-Fi or is it only to be
early?
Sebastian: No. That's what I meant with
the network connection. Network usually
has Wi-Fi in this case, I'm not sure if it
would work on a conference like this into
the cable. So now you can get the data
through our REST API. Might not be the
fastest thing. Maybe we will add to our
network, our new network functionality,
something that will keep open apart and
push the data in there, so far the best
thing to go is with our rest API.
Question: I was just thinking about the
external sensor connection.
Sebastian: So external? Sorry, I was
thinking a different direction. Actually,
that's a good question. That reminds me of
that, that there's something I wanted to
add. You can use the REST API in theory to
push data in there, but that's only a
parameter in the Url. It's simple a Get/
push off a single value which doesn't get
get you far and which is quite
inefficient. However, within you network
interface you can do requests to other
devices so you can GET request and already
is able to respa Json packet as a
response us to interpret the adjacent
packet as a response. And that's where
adding Mqtt and stuff like this, this is
supposed to go in both directions. But
this is really new. So if you've got
something specific, try if it works or
contact me if it's not working, if you
need some help, if you find the bug. So but
it's supposed to work on your network
stuff. That's there in the configuration. So
the idea of the workflow of all this
connection with specific devices have
something set up like this. You create a
configuration for Phyfox, which in the end
is supplied to the QR code. For example,
the user scans the QR code. And this all
the information, how to communicate with
the device is already supplied. You can
also do this for Bluetooth. That the
device itself provides it to Phyphox.
But in the end it's these configurations
and for the new network interface, it can
also receive data from the network. But so
far only via HTTP.
Question: OK. Thank you.
Herald: I have maybe a last question if no
one else has. What's the next step? What
is your next goal? Because this is a
tremendous successful thing. And you see
the educational purposes. So that's
fantastic, actually, isn't it? It's not
only on university level if you're using
it, that's all around in Germany.
Sebastian: That's not in Germany. It's by
the way another thing you could
contribute. If you're speaking a language
that has been translated into Phyfox is
translated by volunteers and it's already
available, I think in 2010 and 2012, 2013,
14 languages, something around this. So
yeah, but next step I think will be using
the camera because that's another sensor,
broadly speaking, which we are not using
at all, which can do a lot, but we haven't
yet started on this. So lot to do in this
project.
Herald: Super. I'm looking forward to see
you next year then. Laughing, Applause
Sebastian Starks, thank you very much. An
honor and a pleasure to have you.
Postroll music
Subtitles created by c3subtitles.de
in the year 2020. Join, and help us!