In this session delivered at NDC London 2025, I talk about how you can control a 3D printed Robot Arm with a Raspberry Pi, .NET 9, Blazor and SignalR.
I also show how you can use a Unity app on an Meta Quest 3 to control the arm VR too.
You can find the GitHub repo and workshop instructions here;
https://bit.ly/dotnetrobotgithub
1 of 47
Download to read offline
More Related Content
Building a Raspberry Pi Robot with Dot NET 9, Blazor and SignalR - NDC London 2025
1. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Building a Raspberry Pi
Robot Arm with .NET 89,
Blazor and SignalR
PETE GALLAGHER
PETECODES.CO.UK
2. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
About Me
Pete Gallagher
@pete_codes
www.PeteCodes.co.uk
pete@pjgcreations.co.uk
Application Architect Manager at Avanade UK
Microsoft Certified Trainer & Azure MVP, Pluralsight Author
Decades of Desktop, Web & Embedded Software experience,
Meetup Organiser,
STEM Ambassador Gadget Addict
Father of two inquisitive girls
3. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Hello World (In the
world of IoT)
Device Bindings and
Driving Servos
Raspberry Pi GPIO
and the Circuit
.NET 8 and Installing
on the Pi
Final Demos
Blazor and SignalR
What were going to be doing
4. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
5. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Pop Quiz!
IoT Internet of Things
6. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Pop Quiz!
GPIO
General Purpose
Input Output
7. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Pop Quiz!
LED
Light Emitting
Diode
8. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Pop Quiz!
SDK
Software
Development
Kit
9. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Pop Quiz!
PWM
Pulse Width
Modulation
10. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Pop Quiz!
SPI
Serial
Peripheral Interface
11. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
12. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
13. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
.NET 9
14. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
COMPILERS LANGUAGES
RUNTIME COMPONENTS
.NET 9
INFRASTRUCTURE
.NET STANDARD
.NET everywhere
TOOLS
VISUAL STUDIO CODE
COMMAND LINE INTERFACE
VISUAL STUDIO
VISUAL STUDIO FOR MAC
ASP.NET
WEB
Azure
CLOUD
ARM32
ARM64
IoT
ML.NET
.NET for
Apache Spark
AI
WPF
Windows Forms
UWP
Maui
DESKTOP
Xamarin
Maui
MOBILE
Unity
GAMING
15. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Whats new in .NET 9?
https://bit.ly/pjgdotnet9new
LINQ Improvements
Faster Apps,
Lower Memory
Feature Switches
AI Building
Blocks
C# 13
JIT Improvements
16. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
.NET Ecosystem
Momentum
> 6.1M
Monthly Active Users
In Visual Studio
#1 Most Admired
Framework
.NET Core
Top 5
Highest velocity OSS Projects
github.com/dotnet
github.com/aspnet
Top 5
Language on GitHub
C#
15x
Faster than Node.js
ASP.NET Core
40%
New to .NET are students*
dot.net download survey
.NET Conf 2023 Keynote - https://bit.ly/pjgdotnetconf2023
17. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Install
18. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Install
Single Line Install
wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet9pi/main/install.sh | sudo bash
http://bit.ly/dotnet9pi
19. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
.NET 9 & GPIO
20. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
System.Device.Gpio
https://www.nuget.org/packages/System.Device.Gpio
Very Limited Support for
Raspberry Pi 5
Supports Linux and
Windows 10 IoT
Supports Raspberry Pi,
Beagleboard,
Hummingboard,
Odroid etc
Supports I/O, SPI,
PWM, I2C
21. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi GPIO
Board Numbering
BCM Numbering
22. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Circuit 1
Pin 10
Pin 26
23. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Demo 1
Hello World (In the world of IoT)
24. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
https://www.nuget.org/packages/Iot.Device.Bindings
Explorer Hat
Sense Hat
MCP23xxx I/O
Expander
BME280
Temperature /
Humidity Sensor
Much More!
Servos
Iot.Device.Bindings
25. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Servos
26. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Circuit 2
27. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Servo Control Board
Pin 25
Pin 35
Pin 13
Pin 12
28. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Servos Control
Power
Ground
29. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Demo 2
Servo Demo
30. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Blazor
31. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Blazor is a single-page app
framework for building
interactive client-side Web
apps with .NET
Scott Hanselman
Blazor
32. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
https://bit.ly/pjgblazor
No JavaScript!*
Server Side or Client
Side WebAssembley
Web UI Framework
based in C# / Razor
and HTML
Steve Sandersons Pet
Project
Support in All Major
Browsers
Client Side .NET with
no plugins
Blazor
33. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
SignalR
34. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
ASP.NET SignalR is a library for
ASP.NET developers to add real-
time web functionality to their
applications
Wikipedia
SignalR
35. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
https://bit.ly/pjgsignalr
Open Source
Supports Web Sockets,
Server-Sent Events,
Long Polling
Enables Bi-directional
Real-Time
communications
Created by David Fowler
and Damian Edwards
in 2011
SignalR
36. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Demo 3
Drive the Arm!
37. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Unity and VR
38. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Unity is a Cross-Platform Game
Engine
Unity gives users the ability to
create games and experiences
in both 2D and 3D
Wikipedia
Unity and VR
39. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
https://unity.com/
Scripting using
.NET Standard 2.0
or C# 8
Support for Virtual
and Mixed Reality
Cross Platform
Founded in 2002 by
Nicholas Francis,
Joachim Ante &
David Helgason
Adding NuGet
Packages can be
painful
Build and Deploy
Directly to the
Headset
Unity and VR
40. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Raspberry Pi Demo 4
VR Robots!
41. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Bonus Section!
42. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
.NET everywhere
43. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
.NET everywhere
44. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Links
GitHub and Workshop
https://bit.ly/dotnetrobotgithub
Installing Dot Net 9 on the Raspberry Pi
http://bit.ly/dotnet9pi
Dot Net GPIO Nuget Package
https://www.nuget.org/packages/System.Device.Gpio
Dot Net IoT Device Bindings Source Code
https://github.com/dotnet/iot/tree/master/src/devices
3D Printed Robot Arm From the presentation
https://www.thingiverse.com/thing:1015238
3D Printed Robot Arm - Workshop
http://bit.ly/pjgrobotarmparts
45. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Twitter
@pete_codes
Email:
pete@pjgcreations.co.uk
Personal Website:
https://www.petecodes.co.uk
Notts IoT:
https://www.nottsiot.co.uk
Dot Net Notts:
https://www.dotnetnotts.co
Notts Dev Workshop:
https://www.nottsdevworkshop.co.uk
LATi:
https://www.lati.org.uk
Agile Engineering Podcast:
https://agileengineeringpodcast.com/
Azureish Live:
https://www.twitch.tv/azureishlive
Contact Me
際際滷s: https://bit.ly/pjgndclondon2025
46. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Get in
Touch
Get .NET 9
To get your
questions answered
Private meetings
Download .NET 9 at
https://aka.ms/ndc/dotnet9
Stop by the Microsoft booth at space
19 on the 5th
floor
Fill out our form to request a private
meeting with a Microsoft speaker
We appreciate your time with us
47. Building a Robot Arm with Raspberry Pi, .NET 8, Blazor & SignalR Copyright Pete Gallagher 2025 @Pete_Codes
Pete
Code
s
{ }
Contact Me
Pete Gallagher
@pete_codes
www.PeteCodes.co.uk
Pete@PJGCreations.co.uk
際際滷s: https://bit.ly/pjgndclondon2025
Editor's Notes
#3: .NET Aspire Oppinionated Cloud Ready Stack for distrusted computing
#4: .NET Aspire Oppinionated Cloud Ready Stack for distrusted computing
#11: .NET Aspire Oppinionated Cloud Ready Stack for distrusted computing
#12: .NET Aspire Oppinionated Cloud Ready Stack for distrusted computing
#14: .NET is an entire software development platform that takes care of a lot of the heavy lifting for you when you want to build an application. Applications frameworks help you build the specific types of apps or workloads and enable you to literally build any app for any platform with any operating system. Each .NET workload shares a common infrastructure and .NET Standard library. This means not only are your .NET skills portable, but your actual code is portable no matter what youre building. This makes it easy to share reusable components (called libraries) across the breadth of applications people build.
Additionally, there are a broad set of development tools that makes it really productive to write, debug, build and manage code bases.
See: www.dot.net
#15: AI Building Blocks: ML.NET, Tensor, Tokenizers
Linq: CountBy AggregateBy
C#13: Params Collections, Partial properties, Lock Class
#24: .NET Aspire Oppinionated Cloud Ready Stack for distrusted computing
#29: Each PWM Channel is created passing in;
The Chip Number
The PWM Channel
The Frquency
Optionally, the Duty Cycle Percentage
We also then create twoServoMotorobjects, passing in;
The PWM Channel we'll be using
The Maximum Angle of the Servo - We're using a 180 degree Servo, so we pass in 180 here
The Minimum Pulse Width
The Maximum Pulse Width
#31: Blazor replaces javascript and runs C# on the client side directly in the browsers with no plugins needed.
Blazor Server Works as a web Server (Shipped)
Blazor Web Assembly (May 2020)
Blazor Renders HTML, but Blazor Native but can render to other things like Native Controls for Mobile.
#32: Blazor replaces javascript and runs C# on the client side directly in the browsers with no plugins needed.
Blazor Server Works as a web Server (Shipped)
Blazor Web Assembly (May 2020)
Blazor Renders HTML, but Blazor Native but can render to other things like Native Controls for Mobile.
Originally developed as a pet project bySteve Sandersonat Microsoft, Blazor is Web UI Framework which is based on C#, Razor and HTML. Blazor compiles down to WebAssembly, which makes it super (or blazingly) fast (Hence the Razor with a B).
Blazor allows developers to write client side .net You may say Oh, like Silverlight? Nope, no plugins needed Its just supported natively in most modern browsers.
#43: Blazor replaces javascript and runs C# on the client side directly in the browsers with no plugins needed.
Blazor Server Works as a web Server (Shipped)
Blazor Web Assembly (May 2020)
Blazor Renders HTML, but Blazor Native but can render to other things like Native Controls for Mobile.
Originally developed as a pet project bySteve Sandersonat Microsoft, Blazor is Web UI Framework which is based on C#, Razor and HTML. Blazor compiles down to WebAssembly, which makes it super (or blazingly) fast (Hence the Razor with a B).
Blazor allows developers to write client side .net You may say Oh, like Silverlight? Nope, no plugins needed Its just supported natively in most modern browsers.
#46: .NET is an entire software development platform that takes care of a lot of the heavy lifting for you when you want to build an application. Applications frameworks help you build the specific types of apps or workloads and enable you to literally build any app for any platform with any operating system. Each .NET workload shares a common infrastructure and .NET Standard library. This means not only are your .NET skills portable, but your actual code is portable no matter what youre building. This makes it easy to share reusable components (called libraries) across the breadth of applications people build.
Additionally, there are a broad set of development tools that makes it really productive to write, debug, build and manage code bases.
See: www.dot.net
#47: .NET is an entire software development platform that takes care of a lot of the heavy lifting for you when you want to build an application. Applications frameworks help you build the specific types of apps or workloads and enable you to literally build any app for any platform with any operating system. Each .NET workload shares a common infrastructure and .NET Standard library. This means not only are your .NET skills portable, but your actual code is portable no matter what youre building. This makes it easy to share reusable components (called libraries) across the breadth of applications people build.
Additionally, there are a broad set of development tools that makes it really productive to write, debug, build and manage code bases.
See: www.dot.net