►
Description
Rust is an excellent language for building embedded systems. Espressif Systems and ESP-RS Open source community made it possible to develop for ESP32 (S2, S3) chips with Xtensa and ESP32-C3 with RISC-V architecture. Developing embedded projects are possible both with STD and Bare Metal. It's very easy to start playing with chips even without hardware, just using the simulator https://wokwi.com/rust . Espressif community also introduced an Open Hardware board with KiCad templates so that anybody can design their own Rust board, a.k.a esp-rs/esp-rust-board.
Juraj on Twitter: https://twitter.com/jurajmichalek
Rust Linz: https://fosstodon.social/@rustlinz - https://twitter.com/rustlinz
A
For
having
me-
and
we
visited
also
wrestlings
in
person
in
September-
and
it
was
very
nice
experience,
so
we
decided
that
we
also.
We
would
like
to
contribute
this
topic
again,
but
it
rest
on
esp32,
because
me,
my
team
and
rust
Community
was
working
hard
to
make
embedded
rest
running
on
esp32s
and
the
family
of
chips
leveled
by
espressive.
So
this
talk
won't
be
just
about
like
embedded
rust.
A
We
will
also
touch
topic
like
webassembly
and
how
it
can
be
also
interesting
for
embody
developers
and
how
you
can
like
reuse,
the
same
business
logic
that
you
can
write
for
desktop
or
server
and
run
the
same
business
Logic
on
ESP
chips.
So,
let's
see
here
is
the
first
slide.
This
is
kind
of
like
like
beginning
here.
You
can
see
on
the
pictures.
Scott
mabin,
it's
the
founder
of
esprs
GitHub
organization,
and
this
is
kind
of
his
initial
post.
A
I
I
find
it
funny
it's
it's
like
Linus
turbos
when
he
was
creating
his
Linux
kernel
and
he
posted
the
first
email.
This
is
like
a
similar
post.
That
Scott
did
that
he
was
trying
to
get
rust
running
on
expressive,
cheap
esp32
by
the
time
and
yeah.
He
had
some
issues
with
that,
but
he
finally
succeeded
in
making
it
happen.
You
can
find
more
details
at
his
blog
neighbors.dev
and
reads
about
the
history
and
he's
also
posting
some
updates.
Each
quarter
were
removed.
What
do
we
added?
A
What
is
possible
and
also
here
is
a
link
to
YouTube,
where
you
can
find
Scott's
talk
about
the
rust
and
expressive
chips.
His
who
is
talking
more
about
like
generic
scope.
Today,
I
will
focus
more
about
the
Practical
details,
so
I
will
show
you
several
demonstrations.
So,
even
if
you
are
not
like
embedded
developer,
you
can
see
what's
possible
and
you
can
start
thinking.
A
How
can
you
reuse
the
skills
that
you
know
from
developing
for
servers
or
desktop
also
for
embeddy
chips,
because
with
rust
the
barrier
is
is
really
getting
lower,
because
previously
it
was
only
possible
with
CEO
or
Arduino.
So,
first
of
all,
let's
start
with
hardware
and
thanks
to
cooperation
with
rishiket
from
work
we
come.
We
have
added
a
support
there
with
like
his
great
contribution
for
rust.
So
now
you
can
play
with
the
embedded
Hardware
in
your
web
browser
without
needing
to
connect
any
wires
and
building
complex
connections
like
here.
A
So
let
me
show
you
a
demo
so
here
it
is
just
type
walkway
com,
slash
rust
and
you
should
be
able
to
see
this
page,
and
here
are
several
examples.
You
may
know
this
page
also
with
the
Arduino
examples
and
micro,
Python
and
circuit
python.
If
you
remove
the
slash
rust,
you
will
get
a
list
of
other
examples.
So,
let's
start,
let's
select
this
esp32
no
STD
example
yeah.
So
so,
and
now,
let's
see
what
what
is
here
on
the
right
side,
there
is
Led
with
one
resistor
and
esp32
Dev
board,
which
has
some
gpios.
A
If
you
were
watching
September
talk
about
Raspberry
Pi
Lisa
was
there
explaining
the
situation?
If
you
got
the
Raspberry
Pi,
there
are
also
gpios
that
you
can
connect
to
some
external
hardware
situation
is
your
similar
instead
of
Raspberry
Pi,
we
have
have
your
esp32
chip,
which
is
able
to
communicate
with
the
world
using
this
gpio
pins
so
and
let's
go
to
the
code.
So
what
we
can
see
here?
First
of
all,
I'm
showing
you
so-called
bare
metal
rust.
A
If
you
are
writing
normal,
desktop
honest
application,
you
are
probably
using
the
string
formatters
like
four
month
macro
and
so
on,
but
this
stuff
is
relatively
expensive.
If
you
go
to
embedded
Hardware
each
byte,
each
processor
cycle
counts
so
rest
offers
this
unique
opportunity
to
say:
okay,
I,
don't
want
anything
from
standard.
Library
I
am
going
from
scratch,
so
I'm
selecting
what
I'm
composing
my
system
from-
and
this
is
what
no
STD
allows
us
to
do,
and
you
can
find
many
libraries
are
already
no
STD
ready.
A
So
you
can
just
say
no
features
and
it
will
turn
the
library
into
no
STD
mode,
for
example,
anyhow
crate
or
any
other
of
this
crate.
So
we
are
in
ostd
mode
and
you
will
find
here
a
kind
of
boilerplate
code
that
is
very
similar
across
the
examples.
If
you
compare
it
to
Arduino
examples.
Arduino
is
quite
a
simple,
but
let
me
explain
why.
A
So,
first
of
all,
let's
use
some
crates.
We
need
to
access
a
hardware
and
in
that
case
we
need
some
Hardware
abstraction
layer
and
it's
provided
by
the
correct,
esp32
Hall
and
what
we
are
importing
here.
Let's,
let's
see
here's
the
clock,
yeah,
that's
something
that
we
understand.
We
are
working
something
with
the
CPU
clocks.
A
Then
we
have
this
pack,
it's
not
a
Pac-Man,
it's
a
peripheral
access,
crate
and
that's
something
very
important
in
embedded
world
and
each
vendor
of
embedded
devices
like
the
chips
should
publish
this
because
it
allows
the
developer
to
interact
with
the
hardware.
Basically,
it's
the
description
of
Registries
and
this
like
very,
very
low
level
stuff.
Since
we
are
providing
this
Hall,
you
do
not
need
to
no
much
details
about
it,
but
this
is
critical
to
have
and
then
have.
A
A
So
this
is
what
I
said
in
the
beginning
that
if
I
am
using
nosd
I
can
say:
okay,
nothing
from
STD
is
coming
here:
I'm
using
custom
implementation
of
printerland,
which
has
a
similar
contract
like
printerland,
but
it
uses
I,
don't
know
less
memory
and
it's,
for
example,
without
memory
allocation
critical
in
some
places,
and
now
we
are
going
into
the
main-
and
here
is
how
the
code
starts
so
I'm
grabbing
peripherals.
This
is
the
thing
you
can
call
once
and
you
will
get
access
to
the
peripherals
that
chip
can
control.
A
Then
we
are
getting
a
system
and
clock
here.
I
can
set
the
CPU
frequency,
because
most
of
these
chips
allows
you
to
choose
from
different
clock
frequencies
by
different
clock
divider.
This
is
important
because
the
higher
frequency,
the
more
energy
intensive,
is
the
computation.
So
you
will
burn
more
energy.
The
results
will
be
faster,
but
if
you're
operating
on
battery,
it's
better
to
tune
down
the
clock,
for
example
to
like
80
megahertz,
or
something
like
that,
if
you
need
more
CPU
power,
you
can
boost
it
to
240
if
Chip
allows
it.
A
Okay.
Now
here
is
a
small
dance
with
the
Watchdogs
we
DDT
it's.
Basically,
we
are
saying:
okay,
hey
chip,
do
not
care
about
the
watch
dogs,
please
disable
them
and
do
not
reset
our
application.
A
If
we
enable
the
watches,
we
will
require
some
additional
codes
to
to
make
what
you
look
happy
and
yeah
here,
I
am
getting
the
gpio.
I
am
getting
the
gpio
number
four
you
can
see.
It's
here,
connect
it
and
it's
turned
into
the
output
pin.
So
I
can
write
to
this
thing.
A
Yes,
so
if
I
put
here
something
it
will
turn
LED
on
or
off,
based
on
the
the
level
of
voltage
that
is
here
so,
let's
set
High
unwrap
I
can
then
print
hello
world
to
serial
console
and
then
again
switch
the
LED.
So
let's
run
this
thing
in
the
simulator
and
yeah
hello
world
is
running
and
blinking
so
simple,
so
we
are
able
to
to
do
it
with
rust
and
hello
links.
A
Let's
change
it
just
to
see
whether
I'm,
whether
it's
able
to
compile
and
meanwhile
while
it's
compiling
I,
can
also
explain
some
other
tips
that
you
can
see
here
here
is,
for
example,
the
diagram.json.
You
can
put
it
to
your
project
and
basically,
in
this
diagram
Json
there
is
the
Json
representation
of
the
schematics.
Here
you
can
also
see
in
the
simulator
cargo
Tomo,
so
you
are
free
to
grab
this
cargo
timeline,
create
your
own
project
with
that.
A
Okay,
so
one
important
thing
is
with
the
walkway:
it's
for
Community,
for
sharing
a
knowledge
you
can
grab
the
URL
that
you
have.
It
has
unique
ID
and
send
it
to
anybody
else,
and
the
user
will
see
exactly
the
same
project
and
you
can
create
more
a
project
by
this
and
it's
even
possible
to
flash
your
real
Chip
from
here,
and
there
is
a
hidden
F1
I
will
try
to
press
it,
F1
palette,
where
you
can
have
some
special
commands,
and
there
is
also
like
flash
firmware
to
the
device.
A
This
is
really
nice.
Okay,
we
got
a
compilation
ready,
hello
links,
hello,
lints,
so
it's
working
wonderful!
The
compilation
took
a
little
bit
longer
because
it's
probably
the
server
the
runner
was
down
and
it
took
some
time
to
spin
it
up.
But
when
people
are
using
it,
the
response
time
is
then
faster.
So
it
works.
Wonderful,
let's
move
back
to
the
walkway.
So
what
you
can
see
here
in
the
first
line,
you
can
see
examples
based
in
STD.
So
let's
compare
how
This
Blink
example.
A
A
And
here
you
can,
you
can
see
this
STD
and
basically
in
case
of
USB
chips,
we
are
using
ESP
IDF
framework,
which
is
written
in
C
and
the
rest
application
is
running
on
top
of
this
operating
system.
So
that's
another
option.
A
We
got
this
this
STD
approach
and
this
allowed
us
to
to
leverage
the
functions
which
are
provided
from
ESP
IDF
I
will
speak
about
it
later.
So,
let's
see
what
are
the
other
examples
here?
A
Let
me
pick,
for
example,
this
one
with
the
metrics,
and
this
is
really
cool,
because
here
you
can
see
the
the
scrolling
text.
You
can
see
how
the
hardware
is
connected
to
the
chip.
A
You
can
see
that
there's
like
not
many
wires
and
the
thing
is
moving
and
the
really
nice
thing
is,
from
the
source
code
perspective
that,
for
example,
this
Max
driver
that
is
here
for
displaying
the
content
is
what
was
written
even
before
we
started
with
this
example,
so
we
were
able
to
reuse
the
code
from
this
crate
and
call
it
directly,
because
there
is
already
no
no
STD
implementation,
so
this
is
very
nice.
A
So
if
somebody
wrote
it
for
PC
or
Raspberry
Pi,
you
can
grab
the
same
crate
and
run
it
on
esps,
and
this
is
really
like
very
nice.
A
Okay,
so
hello
links,
let's
try
it.
Let's
try
the
small
update
here
and
here
you
can
see
that
it's
also
possible,
for
example,
to
call
unsafe
functions.
If
you
need
to
do
so.
A
A
So
here
are
some
other
examples
you
can
play
with
it
and
let
me
go
back
to
the
slides
so.
A
The
the
things
are
open
source.
You
can
contribute
your
own
examples
and
URI
will
be
more
than
happy.
If
you
have
some
like
great
ideas,
you
can
put
it
there.
We
are
thinking
about
organizing
a
contest
for
rust
community.
In
writing.
These
examples
so
we'll
keep
you
posted
about
that
and
then
there
is
also
a
link
to
yours.
Talk
I
recommend
to
watch
it
even
though,
for
example,
you're
not
working
directly
with
us,
but
you
know
Arduino,
and
you
know
you
would
like
to
know
more
details.
A
It's
expressive,
developer
conference,
22
and
Yuri
is
talking
there
about
esp32
and
walkway
in
the
web
browser.
He
did
like
very
amazing
job
with
that
so
and
about
the
operating
system.
Integrations
I
already
mentioned
the
bare
metal
that
was
the
first
part.
I
was
showing
okay.
Now
we
are
going
like
bare
metal
and
we
don't
want
any
bloat
from
operating
system,
but
that
comes
with
a
cost,
and
that
means
that
all
drivers
that
you
need
for
working
with
peripherals
must
be
ready,
and
it's
not
always
the
case.
A
So
if
we
go
to
to
github.com
express
sprs
organization
and
look
for
ESP
Hall,
which
is
implementing
the
bare
metal
thing
here
in
issues,
you
can
find
one
pinned
issue
which
tracks
current
state
of
supported
peripherals
and
if
you
are
playing
with
embodied
the
hardware,
probably
this
abbreviation
like
the
dma,
gpio
ice,
cream,
CEO
and
I
score.
S
will
tell
you
something
and
you
can
see
that
some
of
them
are
implemented
and
some
of
them
are
still
missing.
A
So
if
you
are
into
the
bare
metal-
and
you
would
like
to
help
us
in
the
community-
we
are
looking
for
for
contributors
who
would
like
to
solve
support
for
I,
don't
know
tray
or
ohc1.
Regarding
the
Wi-Fi,
we
have
support.
There
is
ESP
Wi-Fi
project,
so
you
can
also
use
the
environmental
with
Wi-Fi
it's
kind
of
big
data
stage,
because
yeah
it's
bare
metal.
So
we
have
to
do
everything
from
scratch.
A
So
let's
go
back
here
so
then
the
second
option
which
operating
system
you
can
use
is
this
ESP
IDF,
it's
full
featured
like
you
can.
If
you
find
USB
chip
somewhere,
I,
don't
know
in
some
switch
around
to
you.
A
Then
it's
probably
using
USB
IDF,
because
it's
based
on
the
free
R
tools-
and
there
is
a
CNC
plus
implementation,
then
for
people
who
would
like
to
be
like
not
so
vendor
locked
in
there
is
another
option
to
use
Zephyr
for
operating
system
and
Zephyr
is
very
nice
because
it
allows
you
to
run
the
rest
application
on
top
of
it
and,
for
example,
you
can
host
one.
You
can
host
the
rest
application
on
One
Core
and
and
make
it
isolated.
A
This
is
really
nice
and
similar
for
nautics
notex
is
more
like
Linux
sich
operating
system.
You
get
the
notion
of
Slash
Dev
and
you
will
get
a
shell,
and
this
is
really
nice,
so
you
can
also
use
this
operating
system,
but
this
is
more
for,
like
the
kernel
developers,
if
you
you
need
to
know
something
about
the
kernels
to
work
with
this
thing,
but
definitely
there
are
use
cases
for
that.
A
One
important
thing
is
that
a
specific
is
publishing,
also
SVD
files,
which
are
then
used
for
generating
peripheral
access
crates
to
access
the
hardware
so
and
I
will
mention
here
the
the
product
espressif
com.
Just
let
me
show
you
a
quickly
what
it
is:
it's
a
product
selector.
So
if
you
need
a
special
chip,
if
special
parameters,
you
can
filter
it
here,
you
can
say:
okay,
I
need
12
gpios.
A
Please
give
me
all
chips
that
have
12
gpios
and
if
you
need
some
memory,
we
always
recommend
to
order
chips
with
some
PS4
memory
for
for
hobbyist
and
for
makers
that
allows
you
to
put
their
bigger
application
because
some,
for
example,
we
are
hosting
in
the
web
server.
It
makes
sense,
and
you
can
do
some
filtering
here
here-
is
all
even
the
legendary
8266.
A
Unfortunately,
the
environmental
rust
support
is
is
not
there,
because
it's
kind
of
all
too
cheap
and
for
new
designs.
We
recommend
esp32
as
the
Baseline.
If
you
are
going
for
something
which
is
like
a
really
Computing
intensive,
the
S3
is
the
choice
because
it
is
like
bigger
and
has
more
performance
to
it
so
now
to
to
the
development,
and
we
have
many
options:
how
to
develop
for
expressive
chips.
First
of
all,
you
can
use
the
local
development
like
for
I,
don't
know
desktop.
A
A
If
you
prefer
developing
in
the
local
container,
there
is
a
nice
integration
of
with
Portman,
Docker
or
Lima,
so
you
can
use
just
the
Visa
code
remote
and
in
the
remote
container
you
can
develop,
or
we
have
also
the
support
for
cloud
development
using
gitput,
IO
or
code
spaces,
and
we
did
talk
about
this
in
one
talk
during
developer
conference:
here's
the
link
again
so
and
now,
let's,
let's
explore
how
to
work
with
it.
Let's
create
a
project.
A
Generate
so
if
I
go
to
the
ESP
RS
here,
you
can
find
several
repos.
There
is
like
USB
template.
This
is
for
bare
metal.
This
is
for
working
with
IDF.
So
let's
go
for
the
bare
metal
implementation,
I
just
copy
this
command,
and
now
I
can
run
the
cargo
generate
and
the
just
as
we
know,
SP
example.
A
It's
asking
whether
I
would
like
to
include
also
the
vs
code
files.
If
I
include
it,
then
the
vs
code
is
then
automatically
able
to
pick
it
up
and
run
it
in
remote
container
or
something
like
that.
And
now
it's
asking
about
the
chip,
let's
say
esp32
and
let's
generate
the
project.
Usb
example,
and
let
me
plug
here
some
esp32
foreign.
A
Yeah
esp32
is
connected
and
cargo
USB
flash
always
build
with
a
release,
because
debug
is
quite
big
and
you
will
increase
the
The
Flash
time
and
we
can
pass
there.
Also
the
monitor
option,
which
will
Flash
and
monitor
the
thing
now
I
can
pick
the
peripheral
and
yeah.
It's
fetching
everything.
A
The
compilation
is
running
the
same
thing
because
we
are
and
if
we
are
building
for
desktop
and
and
at
the
end
it
should
link
everything
and
flash
it
to
esp32
yep
and
the
flashing
process
is
here
relatively
quickly
with
the
bare
metals
and
it's
smaller
and
the
chip
started.
It
was
powered
on
and
chip
is
alive,
Okay.
A
So
that's
example
how
to
start-
and
let's
do
something
more
I
have
here
another
chip
or
another
board
with
the
same
chip,
this
ESP
body
it
just
just
a
few
buttons
and
LCD
screen
and
let's
see
some
other
examples
that
we
have
here.
A
Rotary
quickly-
and
maybe
you
should
see
something
once
it's
rebooted
yes
and
there
it
is
hello,
rust,
wonderful
and
since
we
are
in
Rust,
we
can
leverage
on
the
examples
feature
and
in
the
directory
examples.
You
have
other
examples,
so
example,
and
let's
see
car
okay,
you
can
see
it's
reusing
the
build
process,
the
build
artifacts
and
soon
we
should
have
a
moving
car
on
the
screen.
Yes,
yes,
yes,
it's
rolling!
It's
trolling,
nice,
okay!
A
So
then
what
we
also
recommend
to
people
when
they
would
like
to
start
is
to
look
directly
at
the
ESP
Hall
projects
and
in
this
ESP
Hall.
Let's
see,
for
example,
C3
USB
C3
Hall
prefer
to
C3,
which
is
risk
architecture.
The
architecture
that
I
showed
you
here
is
the
extensor
and
the
one
that
is
being
more
and
more
popular.
These
days
are
chips
with
risk,
5
architecture
because
of
price
and
the
power
consumption,
which
is
very
important
for
battery
operated
Solutions.
A
So,
let's
go
and
let's
try
to
see
which
examples
are
provided
here
and
let's
choose
hello:
RGB
example:
cargo
USB,
flash
release,
example,
orange
hello,
RGB
and
yeah
monitor
just
to
see
whether
it's
running
now,
yeah
I,
need
to
add
more
features
here,
smart
light,
because
now
we
will
be
blinking
with
a
smart
light
which
is
confusing
many
people.
It's
not
LED.
A
Let's
see
it's
a
smart
light,
so
it
has
multiple
colors,
so
it's
multiple
lights
in
one
and
yes,
it
was
flashed
and
now
you
can
see
colorful
lead
that
is
changing
and
this
algorithm
is
implemented
in
Rust.
So
let's
see
how
this
is
done.
Example,
hello,
RGB
and
if
I
go
to
main
Loop,
which
is
here
you
can
see
here,
I
got
the
for
loop.
I
have
Hue
and
I
iterate
over
zero
to
250
255,
and
then
it's
converted
to
data
which
is
then
sent
to
the
smart
light,
really
simple.
A
A
A
Foreign
searching
for
this
line:
okay,
let's
flash
this
this
example
and
this
this
box
has
a
display
and
there
is
also
an
IMU
unit
with
the
accelerometer.
So
if
I,
there
is
a
small
ghost
if
I
tip
it
and
it
will
go
down
based
on
the
accelerometer
values,
so
maybe
I
could
resend
it
all
right
yeah,
so
that
it's
not
good
mace
here
here,
if
I
tilt
it,
it
should
move
yeah,
it's
moving
based
on
the
the
gravity
and
value
of
the
accelerometer.
A
So
this
is
originally
bare
metal
that
we
wrote
and
then
we
find
out
that
this
embedded
Graphics,
which
is
kind
of
a
standard
for
writing
in
the
rust
for
graphical
applications
and
it's
possible
to
run
in
the
web
assembly.
So
let
me
show
you
how
it's
can
be
done
with
the
web
assembly,
so
using
sharing
the
same
code
I'm
now
using
npm
run
server.
This
is
scaffolding
around
it.
A
The
npm
is,
then
calling
the
cargo
to
build
the
the
similar
thing,
but
not
for
extensor
or
risk
5
Target,
but
for
web
assembly,
and
if
I
go
to
localhost,
80
I
can
see
it
here.
So
the
same
thing
that
I
was
running
on
the
chip,
thanks
to
the
rust
I
am
running
in
the
web
browser
so
and
now
here,
I
can
connect,
for
example,
arrows
as
the
sensors
for
for
motion
so
yep.
Now
this
is
nice.
A
This
is
working,
and
here
I
can
show
you
also
the
the
shirt
code
that
we
did
and
in
esp32s
free
box
I
have
the
similar
version
that
can
run
this
on
this
this
box.
So
this
is
really
nice.
A
very
nice
feature
of
rust
you
can
have
the
business
logic
in
this
case
is
moving
maze
with
the
ghost
and
share
it
within
the
project.
A
So,
for
example,
the
graphical
developer
can
iterate
really
quickly
in
web
assembly
and
then
the
embeddy
developer
can
take
the
code
and
and
make
it
ready
for.
You
know
for
the
running
on
real
Hardware,
so
really
big
advantage
of
having
rust.
A
Okay,
so
that
was
the
bare
metal
part.
There
is
also
STD
version
where
you
can
use
the
existing
Wi-Fi
existing
Bluetooth
existing
lvg
Library.
So
if
you
already
know
C
and
then
by
the
development,
then
you
probably
can
use
this
USB
IDF
combination
and
we
have
to
say
big.
Thank
you
to
become
big
contributors
from
communities
next
and
even
Markov,
who
did
like
a
really
amazing
job
and
help
us
to
make
this
work
with
espressive
chips.
A
A
A
Board
here
it
is
rest
board
and
you
can
design
your
own
Hardware
based
on
this
project.
You
can
even
purchase
this
board
it's
available
on
Moser
and
and
AliExpress,
and
you
can
also
design
your
own,
so
we
recommend
it
for
students.
A
The
kai-cad
is
open
source
software
that
you
can
use
for
Designing
the
hardware
and
you
can
just
produce
at
the
end
the
Gerber
file
and
send
it
to
a
manufacturer
to
to
manufacture
your
boards
with
your
designs-
and
we
already
seen
some
very
nice
designs,
and
this
is
really
cool,
because
this
design
is
tested
and
all
the
hardware
here
is
supported
by
rust
and
we
we
did
it.
The
testing
and
also
this
rust
board
is
part
of
training
that
first
systems
did
so.
A
Those
of
you
who
are
familiar
with
embedded
world
news
first
systems-
and
you
can
you-
can
find
more
information
at
their
website,
so
we
have
regular
regarding
our
community.
We
have
this
regular
community
meeting.
You
can
find
us
at
github.com
esprs
and
at
the
rest
of
the
discussions.
We
are
posting
updates
and
topics
for
discussion,
and
here
is
also
the
link
about
the
training.
A
So
we
have
also
some
awesome
list,
It's
relatively
small,
but
we
welcome
any
contributions.
So
if
we
go
to
sprs-
and
here
in
the
repository
is
the
awesome
list.
A
And
here
are
also
some
inspiration
for
you.
What
is
possible
to
do
with
expressive
chips,
for
example,
if
you're
into
variables
there
is
very
nice
book
about
Ultimate
Guide
to
inform
variable
Technologies
you
can
find
there
are
a
lot
of
Inspirations
how
esp's
and
can
be
used,
and
you
can
program
it
in
rust
or
in
Arduino.
For
example.
Here
is
the
the
community
that's
created
here
in
Bernal
this
clocks
and,
for
example,
kids
during
the
summer
camp
were
programming,
it
really
nice
and
from
Bratislava
the
city
nearby.
A
There
is
the
grafana
labs,
so
even
they
created
some
funny
examples
how
to
use
esp32
like
monitoring
sourdough,
if
you
are
baking
a
bread
with
esp32
and
connected
it
to
the
graph
on
a
cloud
which
is
open
source,
so
so
many
things
to
share
with
you
and
we
are
located
in
berno
in
Chicago
public.
So
if
you
happen
to
be
around
in
the
Bernal,
let
us
know
we.
A
We
are
happy
to
to
discuss
with
you
some
topics
and
hopefully
the
next
year,
if
there
will
be
a
meet-up
in
person,
probably
in
spring
or
a
little
bit
later.
We
are
planning
to
to
organize
a
workshop,
so
maybe
we
can
have
some
session
also
in
person
with
real
Hardware
in
lint.