SlideShare a Scribd company logo
Simon Lees
sflees@suse.de
http://simotek.net
Lets make a Robot
openSUSE Style
About Me
• I have been working for SUSE for 1 year
• Previously worked for a Radio Comms company
• Maintainer of Enlightenment on openSUSE for 5+ years.
Its a Trap!!!
Run away now.
Why make a robot?
• Because I can
• The world needs more cool Robots
Why use Linux?
• Text to speach - speach to test
• Wifi
• Video streaming
• Easy to develop
Downside to Linux
• Doing “Real Time” operations and working with GPIO can be
annoying.
• Solution: Use an Arduino and talk via serial – Lifes simple
that way.
Hardware is hard
• I needed something off the
shelf
• I wanted tank something
with tank tracks – there
wasn’t anything under
$1000 that was good.
• Was going to use an RC
Car
Design
Electronics isn’t easy
1)Providing power
2)Controlling the motor
3)Converting 12v to 5v to run
the Processor
Choosing a Processor
• ODroid C1
‒ Not a great choice
• Get a Serial Cable
• Arduino
‒ Alamode
‒ Sits on GPIO
‒ Powered from ODroid/RPI
Staging the build
1) Get a processor and make it work
2) Have enough software to drive a motor
3) Get a chassis
4) Get a battery
5) TBD
a)Video streaming
b)GPS and Compass
c)Better UI
d)Skynet
Data Flow
Phone
ArduinoODroid C1
Wifi / Websockets
Laptop
Serial (40 pin GPIO)
H Bridge
Motor
Left
Motor
Right
0-12V DC
See next slide
Arduino to HBridge
Arduino H BridgeLeft
Right
Speed (PWM)
Speed (PWM)
Forward
Forward
Backward
Backward
Arduino Code
https://github.com/simotek/tanko-bot/blob/master/src/Arduino/RobotCtrl/RobotCtrl.ino
Wiring – Power
Battery Voltage
Regulator
H Bridge
(Motor
Control)
ODroid C1 /
Arduino
12 V
5 V
Modular Design
Data Flow
Phone
ArduinoODroid C1
Wifi / Websockets
Laptop
Serial (40 pin GPIO)
H Bridge
Motor
Left
Motor
Right
0-12V DC
See next slide
Creating an openSUSE powered Robot
Event Driven
Programming
# Main app event loop
while True:
uiServer.processMessages()
arduinoInterface.processMessages()
time.sleep(0.01)
Motor Queue
UI Queue
Main Thread
Motor Thread
UI Thread
Demo
Summary
Summary
• The joy of open source, by taking a bunch of things done by
different people and gluing them together you can make
something cool without much effort.
• Modular designs with common protocols are good.
• Use the right tools for the job (or close enough anyway)
• Build yourself a Robot, theres kits for just about any skill
level.
Thanks
• SUSE – Funding Travel
• Conference organisers
Join Us at www.opensuse.org
License
This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International
license.
It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and
any derivative work is distributed under the same license.
Details can be found at https://creativecommons.org/licenses/by-sa/4.0/
General Disclaimer
This document is not to be construed as a promise by any participating organisation to develop,
deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and
should not be relied upon in making purchasing decisions. openSUSE makes no representations or
warranties with respect to the contents of this document, and specifically disclaims any express or
implied warranties of merchantability or fitness for any particular purpose. The development, release,
and timing of features or functionality described for openSUSE products remains at the sole discretion
of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to
its content, at any time, without obligation to notify any person or entity of such revisions or changes.
All openSUSE marks referenced in this presentation are trademarks or registered trademarks of
SUSE LLC, in the United States and other countries. All third-party trademarks are the property of
their respective owners.
Credits
Template
Richard Brown
rbrown@opensuse.org
Design & Inspiration
openSUSE Design Team
http://opensuse.github.io/branding-
guidelines/
License
This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International
license.
It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and
any derivative work is distributed under the same license.
Details can be found at https://creativecommons.org/licenses/by-sa/4.0/
General Disclaimer
This document is not to be construed as a promise by any participating organisation to develop,
deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and
should not be relied upon in making purchasing decisions. openSUSE makes no representations or
warranties with respect to the contents of this document, and specifically disclaims any express or
implied warranties of merchantability or fitness for any particular purpose. The development, release,
and timing of features or functionality described for openSUSE products remains at the sole discretion
of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to
its content, at any time, without obligation to notify any person or entity of such revisions or changes.
All openSUSE marks referenced in this presentation are trademarks or registered trademarks of
SUSE LLC, in the United States and other countries. All third-party trademarks are the property of
their respective owners.
Credits
Template
Richard Brown
rbrown@opensuse.org
Design & Inspiration
openSUSE Design Team
http://opensuse.github.io/branding-
guidelines/

More Related Content

ODP
Enlightenment? What is it
PDF
Tambah Keren dengan openSUSE
PDF
Tambah Keren dengan openSUSE
ODP
Wordpress docker on openSUSE Leap
PDF
Using portainer at open suse leap 15.1
PPT
New media technologies
PDF
OpenSUSEconf2016
ODP
Enlightenment? What is it
Tambah Keren dengan openSUSE
Tambah Keren dengan openSUSE
Wordpress docker on openSUSE Leap
Using portainer at open suse leap 15.1
New media technologies
OpenSUSEconf2016

Similar to Creating an openSUSE powered Robot (20)

ODP
PDF
GUI Prototyping / Wireframing with Pencil
PDF
Keep up with openSUSE Packaging
ODP
openSUSE Infrastructure 2015
PDF
Getting Started on Packaging Apps with Open Build Service
PPT
Keynote openSUSE Asia Summit 2015
PDF
Reproducible Builds on openSUSE
ODP
Use build service API in your program
ODP
OpenFaaS - a Serveless Framework
PDF
Raspberry Pi, Arduino and the Maker Movement
PDF
oSSN19 - openSUSE on ARM
PDF
2020-06-26 Uyuni Communit Hours: Agenda and Uyuni 2020.06 news
PDF
Suse Studio: "How to create a live openSUSE image with OpenFOAM® and CFD tools"
PDF
Open Source Hardware and Libre Silicon
PDF
Open suse asia-summit-cfs
PDF
OpenStack: Past, Present, and Future
PDF
How to Make an Eight Bit Computer and Save the World!
PDF
The bright future of SUSE and openSUSE
ODP
openSUSE Conference 2017 - The Atom Presentation
ODP
Development of BlankOn packages whit OpenSUSE
GUI Prototyping / Wireframing with Pencil
Keep up with openSUSE Packaging
openSUSE Infrastructure 2015
Getting Started on Packaging Apps with Open Build Service
Keynote openSUSE Asia Summit 2015
Reproducible Builds on openSUSE
Use build service API in your program
OpenFaaS - a Serveless Framework
Raspberry Pi, Arduino and the Maker Movement
oSSN19 - openSUSE on ARM
2020-06-26 Uyuni Communit Hours: Agenda and Uyuni 2020.06 news
Suse Studio: "How to create a live openSUSE image with OpenFOAM® and CFD tools"
Open Source Hardware and Libre Silicon
Open suse asia-summit-cfs
OpenStack: Past, Present, and Future
How to Make an Eight Bit Computer and Save the World!
The bright future of SUSE and openSUSE
openSUSE Conference 2017 - The Atom Presentation
Development of BlankOn packages whit OpenSUSE
Ad

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Understanding_Digital_Forensics_Presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
sap open course for s4hana steps from ECC to s4
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
Mobile App Security Testing_ A Comprehensive Guide.pdf
Ad

Creating an openSUSE powered Robot

  • 2. About Me • I have been working for SUSE for 1 year • Previously worked for a Radio Comms company • Maintainer of Enlightenment on openSUSE for 5+ years.
  • 3. Its a Trap!!! Run away now.
  • 4. Why make a robot? • Because I can • The world needs more cool Robots
  • 5. Why use Linux? • Text to speach - speach to test • Wifi • Video streaming • Easy to develop
  • 6. Downside to Linux • Doing “Real Time” operations and working with GPIO can be annoying. • Solution: Use an Arduino and talk via serial – Lifes simple that way.
  • 7. Hardware is hard • I needed something off the shelf • I wanted tank something with tank tracks – there wasn’t anything under $1000 that was good. • Was going to use an RC Car
  • 9. Electronics isn’t easy 1)Providing power 2)Controlling the motor 3)Converting 12v to 5v to run the Processor
  • 10. Choosing a Processor • ODroid C1 ‒ Not a great choice • Get a Serial Cable • Arduino ‒ Alamode ‒ Sits on GPIO ‒ Powered from ODroid/RPI
  • 11. Staging the build 1) Get a processor and make it work 2) Have enough software to drive a motor 3) Get a chassis 4) Get a battery 5) TBD a)Video streaming b)GPS and Compass c)Better UI d)Skynet
  • 12. Data Flow Phone ArduinoODroid C1 Wifi / Websockets Laptop Serial (40 pin GPIO) H Bridge Motor Left Motor Right 0-12V DC See next slide
  • 13. Arduino to HBridge Arduino H BridgeLeft Right Speed (PWM) Speed (PWM) Forward Forward Backward Backward
  • 15. Wiring – Power Battery Voltage Regulator H Bridge (Motor Control) ODroid C1 / Arduino 12 V 5 V
  • 17. Data Flow Phone ArduinoODroid C1 Wifi / Websockets Laptop Serial (40 pin GPIO) H Bridge Motor Left Motor Right 0-12V DC See next slide
  • 20. # Main app event loop while True: uiServer.processMessages() arduinoInterface.processMessages() time.sleep(0.01) Motor Queue UI Queue Main Thread Motor Thread UI Thread
  • 21. Demo
  • 23. Summary • The joy of open source, by taking a bunch of things done by different people and gluing them together you can make something cool without much effort. • Modular designs with common protocols are good. • Use the right tools for the job (or close enough anyway) • Build yourself a Robot, theres kits for just about any skill level.
  • 24. Thanks • SUSE – Funding Travel • Conference organisers
  • 25. Join Us at www.opensuse.org
  • 26. License This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license. Details can be found at https://creativecommons.org/licenses/by-sa/4.0/ General Disclaimer This document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. openSUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All openSUSE marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners. Credits Template Richard Brown rbrown@opensuse.org Design & Inspiration openSUSE Design Team http://opensuse.github.io/branding- guidelines/
  • 27. License This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license. Details can be found at https://creativecommons.org/licenses/by-sa/4.0/ General Disclaimer This document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. openSUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All openSUSE marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners. Credits Template Richard Brown rbrown@opensuse.org Design & Inspiration openSUSE Design Team http://opensuse.github.io/branding- guidelines/