PLAY PODCASTS
Building With CircuitPython & Constraints of Python for Microcontrollers
Episode 75

Building With CircuitPython & Constraints of Python for Microcontrollers

The Real Python Podcast · Real Python

August 27, 20211h 24m

Audio is streamed directly from the publisher (dts.podtrac.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

<p>Can you make a version of Python that fits within the memory constraints of a microcontroller and have it still feel like Python? That is the intention behind CircuitPython. This week on the show, we have Scott Shawcroft, who is the project lead for CircuitPython.</p> <p>We talk about all things CircuitPython. While working with the language on several projects I have developed many of my own questions to ask Scott. Scott answers my questions about boot loaders, packages, the bundle, and bluetooth low energy (BLE). </p> <p>He also talks about the struggle of fitting the language and board specific libraries within tiny memory constraints. We discuss projects and boards for beginners, and many resources to learn more.</p> <div class="alert alert-primary" role="alert"> <p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/getting-started-micropython/">Getting Started With MicroPython</a> </p> <p>Are you interested in the Internet of Things, home automation, and connected devices? If so, then you&rsquo;re in luck! In this course, you&rsquo;ll learn about MicroPython and the world of electronics hardware. You&rsquo;ll set up your board, write your code, and deploy a MicroPython project to your own device.</p> </div> <p>Topics:</p> <ul> <li>00:00:00 &ndash; Introduction</li> <li>00:01:56 &ndash; Background With CircuitPython</li> <li>00:07:22 &ndash; Lightning talk and CircuitPython as a subset of Python</li> <li>00:16:01 &ndash; Working with CircuitPython: Bootloaders and Packages</li> <li>00:27:20 &ndash; Specific libraries, adding modules, and pip </li> <li>00:37:21 &ndash; Sponsor: Rev.ai</li> <li>00:37:57 &ndash; How to program, text editor or IDE</li> <li>00:41:19 &ndash; Bluetooth Low Energy (BLE) and programming devices remotely</li> <li>00:50:02 &ndash; Video Course Spotlight</li> <li>00:51:06 &ndash; Do you consider yourself a Maker?</li> <li>00:54:58 &ndash; Bringing CircuitPython coding to the Raspberry Pi?</li> <li>00:59:56 &ndash; Suggestions for beginner hardware</li> <li>01:00:55 &ndash; Suggestions for add-on boards for audio or displays</li> <li>01:10:20 &ndash; Electronics Show and Tell Wednesdays</li> <li>01:11:51 &ndash; Events, video streams, and Discord server</li> <li>01:16:00 &ndash; What are you excited about in the world of Python?</li> <li>01:17:23 &ndash; What do you want to learn next?</li> <li>01:18:42 &ndash; Shoutouts and plugs </li> <li>01:22:40 &ndash; Social media info</li> <li>01:23:52 &ndash; Thanks and goodbye</li> </ul> <p>Show Links:</p> <ul> <li><a href="https://circuitpython.org/">CircuitPython: The easiest way to program microcontrollers</a></li> <li><a href="https://www.adafruit.com/">Adafruit</a></li> <li><a href="http://www.ladyada.net/">LadyAda.net</a></li> <li><a href="https://micropython.org/">MicroPython: Python for Microcontrollers</a></li> <li><a href="https://github.com/tannewt/presentations/tree/main/20210511-py-lang-summit">2021 Python Language Summit Lightning Talks Slides: tannewt GitHub</a></li> <li><a href="https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit_22.html">The 2021 Python Language Summit: Lightning Talks, Round 1</a></li> <li><a href="https://realpython.com/podcasts/rpp/69/">Episode 69: Planning a Faster Future at the Python Language Summit</a></li> <li><a href="https://realpython.com/podcasts/rpp/47/">Episode 47: Unraveling Python&rsquo;s Syntax to Its Core With Brett Cannon</a></li> <li><a href="https://snarky.ca/tag/syntactic-sugar/">Syntatic Sugar Series: Brett Cannon</a></li> <li><a href="https://webassembly.org/">WebAssembly - WASM</a></li> <li><a href="https://www.adafruit.com/product/5128">Adafruit MacroPad RP2040 Starter Kit</a></li> <li><a href="https://www.youtube.com/playlist?list=PLjF7R1fz_OOVvPjQU_KXsLPVB0pG_kdxW">John Park&rsquo;s Workshop: YouTube Playlist</a></li> <li><a href="https://codewith.mu/">Code With Mu: A simple Python editor for beginner programmers</a></li> <li><a href="https://en.wikipedia.org/wiki/Bluetooth_Low_Energy">BLE - Bluetooth Low Energy: Wikipedia</a></li> <li><a href="https://circuitpython.readthedocs.io/projects/circup/en/latest/index.html">CircUp: A tool to manage and update libraries (modules) on a CircuitPython device </a></li> <li><a href="https://circuitpython.org/blinka">Blinka: Brings CircuitPython APIs to single board computers</a></li> <li><a href="https://www.adafruit.com/product/4796">Raspberry Pi 400 Desktop - Full Computer Kit</a></li> <li><a href="https://www.youtube.com/playlist?list=PL7E1FAA9E63A32FDC">Electronics Show and Tell Wednesdays: YouTube playlist</a></li> <li><a href="https://learn.adafruit.com/">learn.adafruit.com</a></li> <li><a href="https://www.adafruit.com/adabox">AdaBox: Curated Adafruit products</a></li> <li><a href="https://github.com/tannewt">tannewt GitHub</a></li> <li><a href="http://adafru.it/discord">Adafruit Discord Server: Link to join</a></li> </ul> <p>Level up your Python skills with our expert-led courses:</p> <ul> <li><a href="https://realpython.com/courses/reading-writing-files-pandas/">Reading and Writing Files With pandas</a></li> <li><a href="https://realpython.com/courses/documenting-python-code/">Documenting Code in Python</a></li> <li><a href="https://realpython.com/courses/getting-started-micropython/">Getting Started With MicroPython</a></li> </ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast &amp; join our community of Pythonistas</a></p>