Python and electronics
My experience in Python 
● First project – parsing RigasSatiksme data 
● Various optimisations, school projects 
● Webmin-...
Why Python? 
● Ease to use – get started in a matter of minutes 
● Ease to experiment - console&forgiveness 
● Just code, ...
My experience in electronics 
● Simple circuits 
● PC repairs 
● Microcontroller-enabled circuits 
● User-friendly electro...
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 
● 
● 
● 
● Spac...
Blending it together
20% Python, 80% electronics 
● LLL (low-level language) on MCU 
● Python on PC 
● PC and MCU communicate using serial or 
...
Low-level code on MCU + Python on PC 
Summary: 
● More capabilities, but harder to reach them 
● Fast 
Suitable projects: ...
50% Python, 50% electronics 
● Python + Arduino, using Firmata firmware for 
Arduino side and pyFirmata library on PC side...
Python + Firmata for Arduino
Python + Firmata for Arduino 
Summary: 
● Is fastest&cheapest base for simple projects 
● Might hit the limits when develo...
80% Python, 80% electronics 
● Raspberry Pi – ARM MCU with Linux 
● Has tons of processing power 
● Runs Python, as well a...
Raspberry Pi
Raspberry Pi
Some great advantages 
● All the advantages of Linux PC 
● USB, HDMI, RCA, Ethernet ports, audio output 
● A lot of RPi-de...
Raspberry Pi 
Summary 
● Universal and powerful 
● Is great for really advanced projects 
● Might be an expensive overkill...
What projects exactly? 
● Computers for education 
● Home media servers&HTPCs 
● Print/webcam/web/file/torrent/game server...
100% Python, 100% electronics 
● MicroPython project 
● Embeds Python interpreter on a MCU 
● Rewrite of CPython to be les...
MicroPython advantages 
● Is already usable and still in active development 
● Has a growing community 
● Completely open-...
MicroPython disadvantages 
● Has a limited set of modules implemented 
● Has some memory limitations 
● https://github.com...
What a beginner can do with 
MicroPython? 
● Start experimenting with electronics 
● Make your first simple project 
● Mak...
MicroPython 
Summary 
● Is pure Python 
● Good for beginners in electonics 
Suitable projects: 
● From simple to complicat...
OpenMV
Python-powered machine vision 
● Has MicroPython firmware, so all the 
advantages 
● Face/object detection 
● Object track...
Videos 
● http://youtu.be/To-KUylzmOM 
● http://youtu.be/T0ZxvSrkm58 
● http://youtu.be/9zFYHiPbdQI 
● http://youtu.be/AuM...
Docs 
● http://docs.micropython.org/en/latest/index.html
Upcoming SlideShare
Loading in …5
×

MicroPython&electronics prezentācija

375 views

Published on

MicroPython&electronics prezentācija 05.11.14 @TheMill

Published in: Engineering
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
375
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

MicroPython&electronics prezentācija

  1. 1. Python and electronics
  2. 2. My experience in Python ● First project – parsing RigasSatiksme data ● Various optimisations, school projects ● Webmin-like interface ● Some Linux utilities ● Electronics
  3. 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. 4. My experience in electronics ● Simple circuits ● PC repairs ● Microcontroller-enabled circuits ● User-friendly electronics
  5. 5. What electronics are about? ● Getting data from sensors ● Processing data ● Sending data to actuators
  6. 6. Why electronics Because it's cool!
  7. 7. What one could use electronics for? ● Assistance in everyday tasks ● Work optimization ● Entertainment ● ● ● ● Space exploration
  8. 8. Blending it together
  9. 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. 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. 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. 12. Python + Firmata for Arduino
  13. 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. 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/
  15. 15. Raspberry Pi
  16. 16. Raspberry Pi
  17. 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. 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. 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. 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. 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. 22. MicroPython disadvantages ● Has a limited set of modules implemented ● Has some memory limitations ● https://github.com/micropython/micropython/wiki/Differences
  23. 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. 24. MicroPython Summary ● Is pure Python ● Good for beginners in electonics Suitable projects: ● From simple to complicated projects
  25. 25. OpenMV
  26. 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. 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
  28. 28. Docs ● http://docs.micropython.org/en/latest/index.html

×