SlideShare a Scribd company logo
1 of 28
Python and electronics
My experience in Python 
● First project – parsing RigasSatiksme data 
● Various optimisations, school projects 
● Webmin-like interface 
● Some Linux utilities 
● Electronics
Why Python? 
● Ease to use – get started in a matter of minutes 
● Ease to experiment - console&forgiveness 
● Just code, don't care about low-level 
● When you need low-level, it's there for you 
● Great for prototyping 
● … It's dynamic – you learn how to debug
My experience in electronics 
● Simple circuits 
● PC repairs 
● Microcontroller-enabled circuits 
● User-friendly electronics
What electronics are about? 
● Getting data from sensors 
● Processing data 
● Sending data to actuators
Why electronics 
Because it's cool!
What one could use electronics for? 
● Assistance in everyday tasks 
● Work optimization 
● Entertainment 
● 
● 
● 
● Space exploration
Blending it together
20% Python, 80% electronics 
● LLL (low-level language) on MCU 
● Python on PC 
● PC and MCU communicate using serial or 
parallel ports 
● Most of the behaviour is controlled by LLL, PC 
sends commands to execute functions but has 
no access to MCU hardware 
● High entry level needed for MCU code
Low-level code on MCU + Python on PC 
Summary: 
● More capabilities, but harder to reach them 
● Fast 
Suitable projects: 
● Speed-related tasks 
● Projects requiring to work without PC
50% Python, 50% electronics 
● Python + Arduino, using Firmata firmware for 
Arduino side and pyFirmata library on PC side 
● All the behaviour is defined by script on PC side 
● LLL on MCU but you don't need to write any
Python + Firmata for Arduino
Python + Firmata for Arduino 
Summary: 
● Is fastest&cheapest base for simple projects 
● Might hit the limits when developing something more 
complicated 
Suitable projects: 
● Minimalistic projects 
● Cheap&fast projects, prototypes 
Find out more: http://slidesha.re/1zB1Rw4
80% Python, 80% electronics 
● Raspberry Pi – ARM MCU with Linux 
● Has tons of processing power 
● Runs Python, as well as a lot of other languages 
● Can easily interface with electronics 
● Has Linux layer between Python and electronics 
which annoys me sometimes 
● http://www.raspberrypi.org/
Raspberry Pi
Raspberry Pi
Some great advantages 
● All the advantages of Linux PC 
● USB, HDMI, RCA, Ethernet ports, audio output 
● A lot of RPi-dedicated hardware - “shields”, 
extending functionality 
● Huge user base
Raspberry Pi 
Summary 
● Universal and powerful 
● Is great for really advanced projects 
● Might be an expensive overkill for other 
Suitable projects: 
● All kinds of projects
What projects exactly? 
● Computers for education 
● Home media servers&HTPCs 
● Print/webcam/web/file/torrent/game servers 
● Robots&controllers&other awesome stuff 
● DIY smart house systems&security systems 
● Development-related projects 
● Wearable technology & car PCs 
● http://pingbin.com/2012/12/30-cool-ideas-raspberry-pi-project/
100% Python, 100% electronics 
● MicroPython project 
● Embeds Python interpreter on a MCU 
● Rewrite of CPython to be less memory-hungry 
● Not as powerful as Raspberry Pi, but more powerful 
than Arduino 
● Compatible with Arduino and some RPi shields 
● Awesome 
● https://www.kickstarter.com/projects/214379695/micro-python-
MicroPython advantages 
● Is already usable and still in active development 
● Has a growing community 
● Completely open-source 
● Assembler bindings for speed-related tasks 
● The interpreter runs on Unix
MicroPython disadvantages 
● Has a limited set of modules implemented 
● Has some memory limitations 
● https://github.com/micropython/micropython/wiki/Differences
What a beginner can do with 
MicroPython? 
● Start experimenting with electronics 
● Make your first simple project 
● Make your first useful project 
● Make your first usable project
MicroPython 
Summary 
● Is pure Python 
● Good for beginners in electonics 
Suitable projects: 
● From simple to complicated projects
OpenMV
Python-powered machine vision 
● Has MicroPython firmware, so all the 
advantages 
● Face/object detection 
● Object tracking 
● Thermal vision 
● http://hackaday.io/project/1313-openmv
Videos 
● http://youtu.be/To-KUylzmOM 
● http://youtu.be/T0ZxvSrkm58 
● http://youtu.be/9zFYHiPbdQI 
● http://youtu.be/AuMY1aiAN4k 
● http://youtu.be/s8KxrKeUsDU 
● http://youtu.be/AuMY1aiAN4k 
● http://youtu.be/Fk3Op-CsmFA
Docs 
● http://docs.micropython.org/en/latest/index.html

More Related Content

Similar to Getting Started with Python for Electronics Projects

Unit 6 - PART2.pptx
Unit 6 - PART2.pptxUnit 6 - PART2.pptx
Unit 6 - PART2.pptxBLACKSPAROW
 
Embedded Linux Systems Basics
Embedded Linux Systems BasicsEmbedded Linux Systems Basics
Embedded Linux Systems BasicsMax Henery
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsFrank Hunleth
 
Baking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef RobBaking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef RobRobert Tisma
 
Choose your dev platform
Choose your dev platformChoose your dev platform
Choose your dev platformMarian Marinov
 
Getting Started with Raspberry Pi
Getting Started with Raspberry PiGetting Started with Raspberry Pi
Getting Started with Raspberry Piyeokm1
 
Introduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlIntroduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlPradip Bhandari
 
Python in Industry
Python in IndustryPython in Industry
Python in IndustryDharmit Shah
 
Building SciPy kernels with Pythran
Building SciPy kernels with PythranBuilding SciPy kernels with Pythran
Building SciPy kernels with PythranRalf Gommers
 
TinyML: Machine Learning for Microcontrollers
TinyML: Machine Learning for MicrocontrollersTinyML: Machine Learning for Microcontrollers
TinyML: Machine Learning for MicrocontrollersRobert John
 
Basics of Embedded systems presentation - lynxbee.com
Basics of Embedded systems presentation - lynxbee.comBasics of Embedded systems presentation - lynxbee.com
Basics of Embedded systems presentation - lynxbee.comGreen Ecosystem
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
 
Automation using RaspberryPi and Arduino
Automation using RaspberryPi and ArduinoAutomation using RaspberryPi and Arduino
Automation using RaspberryPi and ArduinoCommit Software Sh.p.k.
 
Python and big data : a good match?
Python and big data : a good match?Python and big data : a good match?
Python and big data : a good match?PyDataParis
 

Similar to Getting Started with Python for Electronics Projects (20)

Unit 6 - PART2.pptx
Unit 6 - PART2.pptxUnit 6 - PART2.pptx
Unit 6 - PART2.pptx
 
Embedded Linux Systems Basics
Embedded Linux Systems BasicsEmbedded Linux Systems Basics
Embedded Linux Systems Basics
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBots
 
Baking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef RobBaking a Raspberry PI with Chef Rob
Baking a Raspberry PI with Chef Rob
 
Choose your dev platform
Choose your dev platformChoose your dev platform
Choose your dev platform
 
Getting Started with Raspberry Pi
Getting Started with Raspberry PiGetting Started with Raspberry Pi
Getting Started with Raspberry Pi
 
Introduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlIntroduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin Control
 
Micro-python
Micro-python Micro-python
Micro-python
 
Python in Industry
Python in IndustryPython in Industry
Python in Industry
 
IoT Session Thomas More
IoT Session Thomas MoreIoT Session Thomas More
IoT Session Thomas More
 
Cc internet of things @ Thomas More
Cc internet of things @ Thomas MoreCc internet of things @ Thomas More
Cc internet of things @ Thomas More
 
Building SciPy kernels with Pythran
Building SciPy kernels with PythranBuilding SciPy kernels with Pythran
Building SciPy kernels with Pythran
 
TinyML: Machine Learning for Microcontrollers
TinyML: Machine Learning for MicrocontrollersTinyML: Machine Learning for Microcontrollers
TinyML: Machine Learning for Microcontrollers
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 
Arduino Hands-on Workshop
Arduino Hands-on WorkshopArduino Hands-on Workshop
Arduino Hands-on Workshop
 
Basics of Embedded systems presentation - lynxbee.com
Basics of Embedded systems presentation - lynxbee.comBasics of Embedded systems presentation - lynxbee.com
Basics of Embedded systems presentation - lynxbee.com
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
Automation using RaspberryPi and Arduino
Automation using RaspberryPi and ArduinoAutomation using RaspberryPi and Arduino
Automation using RaspberryPi and Arduino
 
Python and big data : a good match?
Python and big data : a good match?Python and big data : a good match?
Python and big data : a good match?
 

Recently uploaded

home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxachiever3003
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentBharaniDharan195623
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 

Recently uploaded (20)

home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptx
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managament
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 

Getting Started with Python for Electronics Projects

  • 2. My experience in Python ● First project – parsing RigasSatiksme data ● Various optimisations, school projects ● Webmin-like interface ● Some Linux utilities ● Electronics
  • 3. Why Python? ● Ease to use – get started in a matter of minutes ● Ease to experiment - console&forgiveness ● Just code, don't care about low-level ● When you need low-level, it's there for you ● Great for prototyping ● … It's dynamic – you learn how to debug
  • 4. My experience in electronics ● Simple circuits ● PC repairs ● Microcontroller-enabled circuits ● User-friendly electronics
  • 5. What electronics are about? ● Getting data from sensors ● Processing data ● Sending data to actuators
  • 7. What one could use electronics for? ● Assistance in everyday tasks ● Work optimization ● Entertainment ● ● ● ● Space exploration
  • 9. 20% Python, 80% electronics ● LLL (low-level language) on MCU ● Python on PC ● PC and MCU communicate using serial or parallel ports ● Most of the behaviour is controlled by LLL, PC sends commands to execute functions but has no access to MCU hardware ● High entry level needed for MCU code
  • 10. Low-level code on MCU + Python on PC Summary: ● More capabilities, but harder to reach them ● Fast Suitable projects: ● Speed-related tasks ● Projects requiring to work without PC
  • 11. 50% Python, 50% electronics ● Python + Arduino, using Firmata firmware for Arduino side and pyFirmata library on PC side ● All the behaviour is defined by script on PC side ● LLL on MCU but you don't need to write any
  • 12. Python + Firmata for Arduino
  • 13. Python + Firmata for Arduino Summary: ● Is fastest&cheapest base for simple projects ● Might hit the limits when developing something more complicated Suitable projects: ● Minimalistic projects ● Cheap&fast projects, prototypes Find out more: http://slidesha.re/1zB1Rw4
  • 14. 80% Python, 80% electronics ● Raspberry Pi – ARM MCU with Linux ● Has tons of processing power ● Runs Python, as well as a lot of other languages ● Can easily interface with electronics ● Has Linux layer between Python and electronics which annoys me sometimes ● http://www.raspberrypi.org/
  • 17. Some great advantages ● All the advantages of Linux PC ● USB, HDMI, RCA, Ethernet ports, audio output ● A lot of RPi-dedicated hardware - “shields”, extending functionality ● Huge user base
  • 18. Raspberry Pi Summary ● Universal and powerful ● Is great for really advanced projects ● Might be an expensive overkill for other Suitable projects: ● All kinds of projects
  • 19. What projects exactly? ● Computers for education ● Home media servers&HTPCs ● Print/webcam/web/file/torrent/game servers ● Robots&controllers&other awesome stuff ● DIY smart house systems&security systems ● Development-related projects ● Wearable technology & car PCs ● http://pingbin.com/2012/12/30-cool-ideas-raspberry-pi-project/
  • 20. 100% Python, 100% electronics ● MicroPython project ● Embeds Python interpreter on a MCU ● Rewrite of CPython to be less memory-hungry ● Not as powerful as Raspberry Pi, but more powerful than Arduino ● Compatible with Arduino and some RPi shields ● Awesome ● https://www.kickstarter.com/projects/214379695/micro-python-
  • 21. MicroPython advantages ● Is already usable and still in active development ● Has a growing community ● Completely open-source ● Assembler bindings for speed-related tasks ● The interpreter runs on Unix
  • 22. MicroPython disadvantages ● Has a limited set of modules implemented ● Has some memory limitations ● https://github.com/micropython/micropython/wiki/Differences
  • 23. What a beginner can do with MicroPython? ● Start experimenting with electronics ● Make your first simple project ● Make your first useful project ● Make your first usable project
  • 24. MicroPython Summary ● Is pure Python ● Good for beginners in electonics Suitable projects: ● From simple to complicated projects
  • 26. Python-powered machine vision ● Has MicroPython firmware, so all the advantages ● Face/object detection ● Object tracking ● Thermal vision ● http://hackaday.io/project/1313-openmv
  • 27. Videos ● http://youtu.be/To-KUylzmOM ● http://youtu.be/T0ZxvSrkm58 ● http://youtu.be/9zFYHiPbdQI ● http://youtu.be/AuMY1aiAN4k ● http://youtu.be/s8KxrKeUsDU ● http://youtu.be/AuMY1aiAN4k ● http://youtu.be/Fk3Op-CsmFA