
Episode 161
Resources and Advice for Building CircuitPython Projects
The Real Python Podcast · Real Python
June 23, 20231h 13m
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>Are you looking to advance your CircuitPython projects? Would you like a collection of resources and tools to help you along your path? This week on the show, Tod Kurt is here to discuss building projects with CircuitPython.</p>
<p>Tod has been working with embedded electronics for a long time and has been an active member of the Arduino community. He recently started to build projects using CircuitPython, and it has become his preferred prototype method. </p>
<p>He shares software resources, hardware tools, and advice about working with CircuitPython and embedded electronics. We discuss several of his music hardware projects and the libraries and modules that he uses for synthesis. He also shares a powerful online prototyping tool to plan your project before spending money or plugging in a soldering iron.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/python-reading-and-writing-files/">Python Basics: Reading and Writing Files</a></p>
<p>In this video course, you’ll learn how to move data back and forth between your Python programs and external software by reading and writing files. You’ll practice reading and writing data stored in the CSV file format, one of the most widely supported file formats for transferring tabular data.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:17 – Tod’s background and ThingM</li>
<li>00:06:37 – The Bootloader Podcast</li>
<li>00:09:58 – Why did you move from C to Python?</li>
<li>00:13:47 – Starting new projects with CircuitPython instead of Arduino</li>
<li>00:17:14 – Advantages of the Arduino language</li>
<li>00:21:07 – Modules that extend CircuitPython with C</li>
<li>00:25:23 – Synthesis and sample playback in CircuitPython</li>
<li>00:32:54 – Video Course Spotlight</li>
<li>00:34:13 – ulab for NumPy-like functionality in CircuitPython</li>
<li>00:39:20 – Raspberry Pi Pico as inexpensive project board</li>
<li>00:46:08 – STEMMA QT and breadboards</li>
<li>00:48:40 – Powering projects with a USB power bank</li>
<li>00:51:25 – Software tools - tio, circup, and discotool</li>
<li>00:56:55 – CircuitPython tricks GitHub repo</li>
<li>00:59:44 – Wokwi simulator for CircuitPython and Raspberry Pi Pico</li>
<li>01:01:25 – PCB board design resources</li>
<li>01:03:27 – todbot projects on Tindie</li>
<li>01:06:11 – Hardware tools for projects</li>
<li>01:08:21 – What are you excited about in the world of Python?</li>
<li>01:09:42 – What do you want to learn next?</li>
<li>01:11:30 – How can people follow your work online?</li>
<li>01:12:50 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://todbot.com/blog/">todbot blog – Random experiments, circuits, and code by Tod Kurt.</a></li>
<li><a href="https://www.youtube.com/@Todbot">todbot - YouTube</a></li>
<li><a href="https://thingm.com/">ThingM</a></li>
<li><a href="https://thebootloader.net/about/">The Bootloader Podcast</a></li>
<li><a href="https://www.circuitpythonshow.com/@circuitpythonshow">The CircuitPython Show Podcast</a></li>
<li><a href="https://circuitpython.org/">CircuitPython</a></li>
<li><a href="https://www.arduino.cc/">Arduino - Home</a></li>
<li><a href="https://learn.adafruit.com/extending-circuitpython">Extending CircuitPython: An Introduction - Adafruit Learning System</a></li>
<li><a href="https://www.adafruit.com/product/5710">Adafruit Feather RP2040 with DVI - HDMI Output</a></li>
<li><a href="https://realpython.com/podcasts/rpp/75/">Episode #75: Building With CircuitPython & Constraints of Python for Microcontrollers</a></li>
<li><a href="https://docs.circuitpython.org/en/latest/shared-bindings/displayio/">displayio – Native helpers for driving displays - CircuitPython</a></li>
<li><a href="https://sensorium.github.io/Mozzi/">Mozzi</a></li>
<li><a href="https://docs.circuitpython.org/en/latest/shared-bindings/synthio/index.html">synthio: Support for multi-channel audio synthesis - Adafruit</a></li>
<li><a href="https://learn.adafruit.com/ulab-crunch-numbers-fast-with-circuitpython">ulab: Crunch Numbers fast in CircuitPython - Adafruit Learning System</a></li>
<li><a href="https://www.adafruit.com/product/4864">Raspberry Pi Pico RP2040 - Adafruit</a></li>
<li><a href="https://learn.adafruit.com/introducing-adafruit-stemma-qt">What is STEMMA? - Adafruit STEMMA & STEMMA QT</a></li>
<li><a href="https://www.amazon.com/gp/product/B07JZCZSH9/">USB Power bank - Current Favorite - Amazon</a></li>
<li><a href="https://github.com/tio/tio">tio: A simple serial device I/O tool - GitHub</a></li>
<li><a href="https://github.com/adafruit/circup">circup: CircuitPython library updater - GitHub</a></li>
<li><a href="https://github.com/Neradoc/discotool">discotool: USB Arduino type boards discovery library and tool - GitHub</a></li>
<li><a href="https://github.com/todbot/circuitpython-tricks/">circuitpython-tricks: Some CircuitPython tricks, mostly reminders to myself - GitHub</a></li>
<li><a href="https://wokwi.com/projects/new/circuitpython-pi-pico">Wokwi Simulator - CircuitPython on Raspberry Pi Pico Project</a></li>
<li><a href="https://www.autodesk.com/products/eagle/overview?term=1-YEAR&tab=subscription">EAGLE - PCB Design And Electrical Schematic Software - Autodesk</a></li>
<li><a href="https://www.kicad.org/">KiCad EDA - Schematic Capture & PCB Design Software</a></li>
<li><a href="https://blog.thea.codes/introducing-kicanvas/">Introducing KiCanvas - Stargirl (Thea) Flowers</a></li>
<li><a href="https://www.tindie.com/products/todbot/picotouch-capsense-midi-keyboard-for-raspi-pico/">PicoTouch - Capsense MIDI keyboard - Tindie</a></li>
<li><a href="https://www.tindie.com/products/todbot/picostepseq-pcb/">PicoStepSeq PCB from todbot synth toys - Tindie</a></li>
<li><a href="https://www.amazon.com/gp/product/B08QMWFQ2H/">USB Voltage and Current Tester - Amazon</a></li>
<li><a href="https://www.amazon.com/gp/product/B00JX1ZS5O/">USB Hub with Individual Power Switches - Amazon</a></li>
<li><a href="https://realpython.com/cpython-internals-paperback/">CPython Internals Book – Real Python</a></li>
<li><a href="https://github.com/AllenDowney/ThinkDSP">ThinkDSP: Free Book on Digital Signal Processing in Python</a></li>
<li><a href="https://todbot.com/blog/">todbot blog – Random experiments, circuits, and code by Tod Kurt.</a></li>
<li><a href="https://mastodon.social/@todbot">Tod Kurt (todbot) (@[email protected]) - Mastodon</a></li>
<li><a href="https://discord.com/invite/adafruit">Adafruit Discord - @todbot</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/python-reading-and-writing-files/">Python Basics: Reading and Writing Files</a></li>
<li><a href="https://realpython.com/courses/getting-started-micropython/">Getting Started With MicroPython</a></li>
<li><a href="https://realpython.com/courses/python-basics-file-system-operations/">Python Basics: File System Operations</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>