SlideShare a Scribd company logo
Rust Embedded
Presented By: Nitin Saxena
Software Consultant
Knoldus Inc.
About Knoldus
Knoldus is a technology consulting firm with focus on modernizing the digital systems
at the pace your business demands.
DevOps
Functional. Reactive. Cloud Native
01 Introduction
02 What is Rust? Why Rust
for Embedded?
03 What is an Embedded
System
04 STM32F3-Discovery
Board & it’s crates
05 Demo
Our Agenda
Introduction
● Nowadays we all are surrounded by the small system
which is making our day to day life easy and better.
● We are going to talk about this small system known as
Embedded System and how Rust Programming is
taking it further.
● Software embedded inside the small computer and
this small computer perform multiple functions using
its components. This whole system is an Embedded
System.
● We will also work with hardware(microcontroller) with
a Demo at last.
LEARN NOW
c
Rust Embedded
System?
Rust is a programming language but
not like other languages like java
python etc.
The difference is rust is a system
programming language, not an
application whose syntax is much
similar to c++ but guarantees more
safety than this.
LEARN NOW
We are going to program our hardware
using Rust Programming Language as we
have multiple reasons for that -
1. Safety
2.Rust Community support.
3. Control over memory and performance.
Why Rust for
Embedded?
OUR MISSION
An Embedded System is a
microcontroller or microprocessor-based
computer system that is used to perform
certain specific operations or tasks.
It can also be called as a computer
hardware system which do have
software embedded in it.
What is an Embedded
System??
Hardware
Bus controller
Read only memory or flash
input/output devices
1
2
3
4
5
The Embedded
System
Micro-controller
c
Where we use
Embedded
System?
● If you look around yourself
you are all around with
embedded systems.
● Modern cars.
● Mobile phones.
● Medical
● Gaming
● Sensors
STM32- Discovery
Board
www.website.com
What is an
Microcontroller?
Microcontroller
A Micro-controller is considered a
small computer or semi-computer
that is used to perform some
specific task of an embedded
system.
It is present on a single metal-oxide-semiconductor integrated
circuit chip as shown below.
So we are going to work on this particular
micro-controller. STM32F303VCT6 DISCOVERY
Board commonly known as F3.
01 A microcontroller
02 A number of LED’s, including the eight
aligned in a “compass” formation
03 Two buttons
04 Two USB ports
05 Sensors(Accelerometer, Magnetometer,
Gyroscope)
Components on the Discovery Board
Now it’s time for the LEDs
Game
Crates to use for LED Demo
To work on the hardware we need to know about the crates we are going to use.
These are the crates we have to include in our Cargo.toml.
● cortex-m
● cortex-m-rt
● panic-hal
● stm32f30x-hal
c
The basic
Code!
● Basic structure of the
program.
● Why [no_std] and
[no_main]?
LEARN NOW
Great
Product!
Lorem ipsum
Great
collection of
slides easy
to edit.
Great
collection of
slides
Great
Slides
● Rcc(Reset clock control)
● GPIO(general purpose input output)
Control the Hardware
Peripherals
Great
Product!
Lorem ipsum
Great
collection of
slides easy
to edit.
Great
collection of
slides
Great
Slides
Access the LEDs Pin’s
on Port E
● To “on” the LED we have to access the pin of that particular LED.
● There are multiple ports and we can find about the port contains board LEDs from Board’s Manual.
● Port- E for stm32f3-Discovery Board. Access port e using “gpio” peripheral.
● Blink LED by providing register for mode(push/pull) and for output type(input/output)
www.website.com
Make led on and off with delay
set_high() and set_low() to on and off an led.
Microcontroller
01
Delay to make LED blink.
02
Program neither end nor it return any value
03
OUR MISSION
● I mentioned that the STM32F3DISCOVERY actually has
two microcontrollers.
a. ST-LINK as programmer/debugger
b. This ST-LINK is connected to the target
microcontroller using a Serial Wire Debug (SWD)
interface.
● As for OpenOCD, it's software that provides some
services like a GDB server on top of USB devices
OpenOcd & GDB
Server
www.website.com
Time for the
exciting Demo
www.website.com
Business Perspective
● Rust has been building up momentum. More and more organisations are looking to make
use of it (including Microsoft). Several organisations in the embedded space are already
using Rust.
● Rust takes the good parts of C and C++, and programming practices that enable good
quality code and bakes it in from the outset.
● Rust also avoids bugs. Bugs like Memory Bugs and Concurrency Bugs. Which makes our
program more better.
c
References
LEARN NOW
https://blog.knoldus.com/blink-the-led
s-of-stm32f3-discovery-board/
https://blog.knoldus.com/embedded-ru
st-lets-start-with-stm32f3discovery/
https://blog.knoldus.com/discovery-bo
ard/
https://blog.knoldus.com/embedded-wi
th-rust/
Thank You!
@SamarSaxena19
@iamsamar17
/mesamar97

More Related Content

DOCX
Examen Principal - Fondement Multimedia Janvier 2015
PDF
Cours1 Représentation des systèmes dynamiques continus LTI
PDF
C4 Réseaux : Couche reseau
PPTX
Conception robot mobile
PDF
Atelier Informatique
PDF
Travaux Dirigés : Algorithmique et Structure de Données
PPTX
Présentation de la robotique
PDF
Cours python avancé
Examen Principal - Fondement Multimedia Janvier 2015
Cours1 Représentation des systèmes dynamiques continus LTI
C4 Réseaux : Couche reseau
Conception robot mobile
Atelier Informatique
Travaux Dirigés : Algorithmique et Structure de Données
Présentation de la robotique
Cours python avancé

What's hot (20)

PDF
47811458 exercices-systemes-echantillonnes
PDF
Corrige tp2 reseaux
PPSX
Algorithme & structures de données Chap III
PDF
Networking Lab Report
PPTX
Séance 2 robo cept.ppt
PPTX
Scratch Lesson 1
DOCX
Examen principal - Fondement Multimedia - correction
PPTX
Cse lecture-4.2-c bit wise operators and expression
PPTX
Raspberry-Pi
PDF
cours algorithme
PPTX
Architecture de Von Neumann & Harvard
PDF
Examen principal - Algorithme & Structures de données
PPTX
Formation stm32
PDF
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
PDF
Exercices sur-python-turtle-corrige
PPTX
Intelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
PDF
Chapitre 3 NP-complétude
PPT
Blowfish Cryptosystem
PDF
Chapitre i architecture générale de l’unité centrale d’un ordinateur
ODP
Les composants de l'ordinateur
47811458 exercices-systemes-echantillonnes
Corrige tp2 reseaux
Algorithme & structures de données Chap III
Networking Lab Report
Séance 2 robo cept.ppt
Scratch Lesson 1
Examen principal - Fondement Multimedia - correction
Cse lecture-4.2-c bit wise operators and expression
Raspberry-Pi
cours algorithme
Architecture de Von Neumann & Harvard
Examen principal - Algorithme & Structures de données
Formation stm32
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Exercices sur-python-turtle-corrige
Intelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
Chapitre 3 NP-complétude
Blowfish Cryptosystem
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Les composants de l'ordinateur
Ad

Similar to Is Rust Programming ready for embedded development? (20)

PDF
Play with Micro-controller(Embedded Development)
PDF
Hardware hacking
PPTX
Embedded Systems
PDF
PDF
learning STM -32
PDF
Main notes (1)
DOC
Interview Questions
PPTX
embedded_in_Arduino_with_basic_embedded.pptx
PPT
Embedded system by owais
PDF
PDF
BEE 049- design of embedded system.pdf
PDF
1. Introduction to Embedded Systems & IoT
PDF
Weather monitoring System Using STM32
PPT
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
PDF
Introduction of Arduino Uno
PPTX
robotics for embedded systems.pptx
PPTX
Ppt on embedded system
PPTX
Arduino
PPT
Embedded system design process
PPTX
Introduction to Arduino.pptx
Play with Micro-controller(Embedded Development)
Hardware hacking
Embedded Systems
learning STM -32
Main notes (1)
Interview Questions
embedded_in_Arduino_with_basic_embedded.pptx
Embedded system by owais
BEE 049- design of embedded system.pdf
1. Introduction to Embedded Systems & IoT
Weather monitoring System Using STM32
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Introduction of Arduino Uno
robotics for embedded systems.pptx
Ppt on embedded system
Arduino
Embedded system design process
Introduction to Arduino.pptx
Ad

More from Knoldus Inc. (20)

PPTX
Angular Hydration Presentation (FrontEnd)
PPTX
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
PPTX
Self-Healing Test Automation Framework - Healenium
PPTX
Kanban Metrics Presentation (Project Management)
PPTX
Java 17 features and implementation.pptx
PPTX
Chaos Mesh Introducing Chaos in Kubernetes
PPTX
GraalVM - A Step Ahead of JVM Presentation
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
DAPR - Distributed Application Runtime Presentation
PPTX
Introduction to Azure Virtual WAN Presentation
PPTX
Introduction to Argo Rollouts Presentation
PPTX
Intro to Azure Container App Presentation
PPTX
Insights Unveiled Test Reporting and Observability Excellence
PPTX
Introduction to Splunk Presentation (DevOps)
PPTX
Code Camp - Data Profiling and Quality Analysis Framework
PPTX
AWS: Messaging Services in AWS Presentation
PPTX
Amazon Cognito: A Primer on Authentication and Authorization
PPTX
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
PPTX
Managing State & HTTP Requests In Ionic.
Angular Hydration Presentation (FrontEnd)
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Self-Healing Test Automation Framework - Healenium
Kanban Metrics Presentation (Project Management)
Java 17 features and implementation.pptx
Chaos Mesh Introducing Chaos in Kubernetes
GraalVM - A Step Ahead of JVM Presentation
Nomad by HashiCorp Presentation (DevOps)
Nomad by HashiCorp Presentation (DevOps)
DAPR - Distributed Application Runtime Presentation
Introduction to Azure Virtual WAN Presentation
Introduction to Argo Rollouts Presentation
Intro to Azure Container App Presentation
Insights Unveiled Test Reporting and Observability Excellence
Introduction to Splunk Presentation (DevOps)
Code Camp - Data Profiling and Quality Analysis Framework
AWS: Messaging Services in AWS Presentation
Amazon Cognito: A Primer on Authentication and Authorization
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Managing State & HTTP Requests In Ionic.

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The AUB Centre for AI in Media Proposal.docx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MIND Revenue Release Quarter 2 2025 Press Release
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Is Rust Programming ready for embedded development?

  • 1. Rust Embedded Presented By: Nitin Saxena Software Consultant Knoldus Inc.
  • 2. About Knoldus Knoldus is a technology consulting firm with focus on modernizing the digital systems at the pace your business demands. DevOps Functional. Reactive. Cloud Native
  • 3. 01 Introduction 02 What is Rust? Why Rust for Embedded? 03 What is an Embedded System 04 STM32F3-Discovery Board & it’s crates 05 Demo Our Agenda
  • 4. Introduction ● Nowadays we all are surrounded by the small system which is making our day to day life easy and better. ● We are going to talk about this small system known as Embedded System and how Rust Programming is taking it further. ● Software embedded inside the small computer and this small computer perform multiple functions using its components. This whole system is an Embedded System. ● We will also work with hardware(microcontroller) with a Demo at last. LEARN NOW
  • 5. c Rust Embedded System? Rust is a programming language but not like other languages like java python etc. The difference is rust is a system programming language, not an application whose syntax is much similar to c++ but guarantees more safety than this. LEARN NOW We are going to program our hardware using Rust Programming Language as we have multiple reasons for that - 1. Safety 2.Rust Community support. 3. Control over memory and performance. Why Rust for Embedded?
  • 6. OUR MISSION An Embedded System is a microcontroller or microprocessor-based computer system that is used to perform certain specific operations or tasks. It can also be called as a computer hardware system which do have software embedded in it. What is an Embedded System??
  • 7. Hardware Bus controller Read only memory or flash input/output devices 1 2 3 4 5 The Embedded System Micro-controller
  • 8. c Where we use Embedded System? ● If you look around yourself you are all around with embedded systems. ● Modern cars. ● Mobile phones. ● Medical ● Gaming ● Sensors
  • 10. www.website.com What is an Microcontroller? Microcontroller A Micro-controller is considered a small computer or semi-computer that is used to perform some specific task of an embedded system. It is present on a single metal-oxide-semiconductor integrated circuit chip as shown below. So we are going to work on this particular micro-controller. STM32F303VCT6 DISCOVERY Board commonly known as F3.
  • 11. 01 A microcontroller 02 A number of LED’s, including the eight aligned in a “compass” formation 03 Two buttons 04 Two USB ports 05 Sensors(Accelerometer, Magnetometer, Gyroscope) Components on the Discovery Board
  • 12. Now it’s time for the LEDs Game
  • 13. Crates to use for LED Demo To work on the hardware we need to know about the crates we are going to use. These are the crates we have to include in our Cargo.toml. ● cortex-m ● cortex-m-rt ● panic-hal ● stm32f30x-hal
  • 14. c The basic Code! ● Basic structure of the program. ● Why [no_std] and [no_main]? LEARN NOW
  • 15. Great Product! Lorem ipsum Great collection of slides easy to edit. Great collection of slides Great Slides ● Rcc(Reset clock control) ● GPIO(general purpose input output) Control the Hardware Peripherals
  • 16. Great Product! Lorem ipsum Great collection of slides easy to edit. Great collection of slides Great Slides Access the LEDs Pin’s on Port E ● To “on” the LED we have to access the pin of that particular LED. ● There are multiple ports and we can find about the port contains board LEDs from Board’s Manual. ● Port- E for stm32f3-Discovery Board. Access port e using “gpio” peripheral. ● Blink LED by providing register for mode(push/pull) and for output type(input/output)
  • 17. www.website.com Make led on and off with delay set_high() and set_low() to on and off an led. Microcontroller 01 Delay to make LED blink. 02 Program neither end nor it return any value 03
  • 18. OUR MISSION ● I mentioned that the STM32F3DISCOVERY actually has two microcontrollers. a. ST-LINK as programmer/debugger b. This ST-LINK is connected to the target microcontroller using a Serial Wire Debug (SWD) interface. ● As for OpenOCD, it's software that provides some services like a GDB server on top of USB devices OpenOcd & GDB Server
  • 20. www.website.com Business Perspective ● Rust has been building up momentum. More and more organisations are looking to make use of it (including Microsoft). Several organisations in the embedded space are already using Rust. ● Rust takes the good parts of C and C++, and programming practices that enable good quality code and bakes it in from the outset. ● Rust also avoids bugs. Bugs like Memory Bugs and Concurrency Bugs. Which makes our program more better.