Focused on learning Python, using hardware: Adafruit Circuit Playground, Raspberry Pi, Jetson Nano, & other Python-based Microcontrollers & Microprocessors to build Rovers & Robots
Author: Jim Burnham - TopClown@STEAMClown.org. License: Distributed as Open Source.
In this course, you will learn primarily Python, some Linux, work some hardware labs using Adafruit Circuit Playground, Raspberry Pi's and other Python-based Microcontrollers & Microprocessors. You will understand how to use Python to interact with Sensors, Motors, and the network and web pages. You will have some lessons and labs focused on the Internet of Things (IoT).
A Cap Stone project will be updating a Robot Rover to run with a Raspberry Pi as it's primary controller. The goal is to be able to control the Rover over the Internet with IoT, and eventually run AI training to let the Rover Autonomously navigate
You'll work on developing programs and implementing them using both a browser interface as well as the Raspberry Pi console-based integrated development environment (IDE), and a graphical user interface (GUI) based interfaces. You'll work primarily with Python, but some other languages and interfaces will also be used.
You will also spend some time learning about and gaining experience in the best practices of software development, such as top-down design, object-oriented design, code debug, code validation, corner case testing, and technical/end-user documentation.
I'm a huge supporter of Open Source and Creative Commons resources. This is another way of saying Free, Equitable and Accessible resources... 📽️ 🎧 📰 📖 📝🛠️ 🖼️ - Want to Support Me on this endeavor?
Let's get started... Its going to be a wild, fun, awesome ride...
This page has links to Python and other programming resources. Links to class text books and other resources are found here. Please let topClown@steamclown.org know if there are any broken links or errors... or improvement suggestions.
Web Site: WWW.STEAMCLOWN.ORG | Contact: TopClown@STEAMClown.org | LinkedIn: Jim Burnham | You Tube: jimTheSTEAMClown | TikTok: STEAM Clown
Consider Supporting my Open Source STEAM Curriculum Development -- Check Out My How To Help Page - Patreon, PayPal, Venmo, My Amazon Wishlist
Note From Mr. Burnham AKA "jim The STEAM Clown":
Why another Python class? - I think the main reason for another Python class, is that you can never find just the right site, with just the right examples... or structured just the way you want it. Some are too hot and some are too cold... for me, I'm hoping this class is just right. :-)
I'm am targeting this class to Engineering High School students, and I want to run my class a certain way, with lessons that are a specific length and complexity... While there are some AWESOME programming sites out there, I wanted a class I could point my students to, that was organized around my Mechatronics Engineering Python Units.
Believe me, I'm going to beg, borrow and "steal" any good code and point to sites that help me teach my students Python.
So, Sorry for another site and class for learning Python, Linux & Adafruit Circuit Playground, Raspberry Pi, Jetson Nano or other Python capable devices. Not Sorry...
Note: TEACHERS!!!! If you are going to use any of these lessons or labs, please let me know. I would really like to understand how you are using this material. I want to know what works, what does not work, what would you like me to add, and how I can make it better. If you changed something, let me know, because it's probably a good idea and you should share it with me, so I can add it and share with everyone else.
This Module or lesson is how I teach in my class. Many of the lessons might be specific to my class, but you could probably adjust them for your class. I'll try to make them a neutral as I can, so they can be used in any Mathematics, Physics, Computer Science, or any other Engineering / Technology class. Let me know how I can make that better. I'll try to keep this unit current and relevant. Please let me know if any resource links are broken or not accessible.
Send me email at TopClown@STEAMClown.org You can also Join the STEAM Clown's Mailing List. If you want to Unsubscribe, click my Unsubscribe From Mailing List link
I would like to thank <Your Company or Organization Here> for their generous support of my classroom and curriculum development. <Your Company or Organization Here> has <Your value proposition, call to action, & related content and message>
(If you would like to sponsor this, or other Modules or presentation, please contact TopClown@STEAMClown.org or check out my "How To Help Page"
If you would like to sponsor other Curriculum Development, check out my "How To Help Page" or contact TopClown@STEAMClown.org
Primer: "Aaron, I can imagine no way in which this thing could be considered anywhere remotely close to safe. All I know is I spent six hours in there and I'm still alive... You still want to do it?"
As with any activity, please make sure you are using appropriate safety equipment. If you are coding, writing, reading, or working a lab, make sure you stand up and stretch every hour or so, Please consider any safety issues connecting to a Raspberry Pi, Arduino, computers and other electronic equipment.
How does learning Python on a Raspberry Pi, or other Python based hardware, help you understand real-world embedded systems used in engineering applications?
In what ways does programming in Python teach you to think critically about hardware-software integration?
Why is Python a powerful language for engineering problem-solving, especially when working with Linux based devices like a Raspberry Pi or Jetson Nano?
Algorithm - A step-by-step procedure for solving a problem or performing a task. Both Python programming and hardware control rely on algorithms to define system behavior.
Interpreted - Python is a programming language that is executed line-by-line by an interpreter rather than being compiled into machine code ahead of time. In an interpreted language, the program is read, translated, and executed on the fly. There is no separate “build” or “compile” step that produces an executable file.
Variable - A named storage location that holds a value in a program. Variables allow data to be changed, read, and reused in Python scripts and hardware applications.
Conditional Statement - A programming structure (e.g., if, elif, else) that allows decision-making based on logical tests. Used heavily in sensor-based Raspberry Pi projects.
Iteration (Looping) - The process of repeating a block of code using for or while loops. Crucial for hardware tasks such as continually reading sensors.
Input/Output (I/O) - Refers to communication between the program/hardware and the outside world, such as reading sensors or controlling LEDs and motors.
GPIO (General-Purpose Input/Output) - The pins on a Raspberry Pi that can be programmed to read inputs or send outputs. A foundational hardware concept.
Function - A reusable block of code that performs a specific task. Functions support modular programming and are vital for structured robotics and electronics code.
Debugging - The process of identifying and fixing errors in code or hardware setups. Critical for both Python logic and troubleshooting wiring or signals on a Raspberry Pi.
Syntax - The set of rules defining how Python code must be written to run correctly. Understanding syntax is a core academic skill in programming.
Runtime Environment - The system where programs execute, such as the Raspberry Pi OS, terminal, or Python interpreter. Students must understand how code interacts with the hardware environment.
Calling Out a great resources & giving credit: Much of my Python coding material is primarily derived from an Awesome class by Charles R. Severance, and his collateral can be found on the https://www.py4e.com/ site. He has a Copyright - Charles R. Severance (www.dr-chuck.com) of the University of Michigan School of Information and has, like me, made his material available under a Creative Commons Attribution License. Also, I'm referencing and using the text book, "Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners" by Al Sweigart. If you use mine and/or their collateral, please maintain your collateral with the attribution requirements for our licenses.
This is a text book you will be using in class. Many of the lectures and Lessons will contain material from this book. You will be assigned reading and coding assignments pulled from this resource.
On its own, this book won’t turn you into a professional software developer any more than a few guitar lessons will turn you into a rock star. But if you’re an office worker, administrator, academic, or anyone else who uses a computer for work or fun, you will learn the basics of programming so that you can automate simple tasks
This is an open sources Python Text book by Allen B. Downey, and you will be using it in class. Some of the lectures and Lessons will contain material from this book. You will be assigned reading and coding assignments pulled from this resource.
The Author, Allen, had some specific goals when he wrote this book:
Keep it short. It is better for students to read 10 pages than not read 50 pages.
Be careful with vocabulary. I tried to minimize jargon and define each term at first use.
Build gradually. To avoid trap doors, I took the most difficult topics and split them into a series of small steps.
Focus on programming, not the programming language. I included the minimum useful subset of Python and left out the rest.
PDF Version - Think Python: How to Think Like a Computer Scientist (PDF)
HTML Version - Think Python: How to Think Like a Computer Scientist (HTML)
This is an open sources Python College class taught by Dr Severance from the University of Michigan, and you will be using it in class. Some of the lectures and Lessons will contain material from this class. You will be assigned reading and coding assignments pulled from this resource.
Python 4 Every one - Open Source University level Python class - Dr Charles Severance
Introduction by Dr Severance - 📽️ 🎧
Class Lessons & Videos - https://www.py4e.com/lessons - 📽️ 🎧 📰 📖 📝🛠️
Text Book - Python 4 Everybody (HTML) - 📝🛠️
Browser-based Python Shell - https://www.python.org/shell/ - one command at a time
Browser-based Python interpreter - replit.com - 🛠️ LAB Activity - Signup for free account (They have monetized this to be un-useful)
Browser-based Python interpreter - trinket.io - 🛠️ LAB Activity - Signup for free account (Can't save projects)
Python Tutor - Interactive Code Visualization site - See code execute, see memory allocations, etc
Python Interpreter - Online GDB
W3School Python Tutorials - Comprehensive Python Tutorial and Reference Examples with options to try out code
Python Tutorial & Reference Guide - From Tutorials Point - Good Easy Learning - Reference & Examples
Python 2.7 On-Line Python Interpreter - Tutorials Point
Python Reference from Valley Of Code - Python Online Reference, that is really good.
CodeCademy - Python 3 - You can sign up. They want you to get a 7-day trial, but then they revert to a free option. Don't enter any Credit Card info, just register for the free options.
Python Code In An Hour - This is an Hour-long Webinar (if the link is broken check here on YouTube for a crappy recording)
(NEW) - exercism.org - Colding exercises. Solve coding exercises and get mentored to gain true fluency in your chosen programming languages. Exercism is open-source and not-for-profit. Not just Python, but lots of languages.
Ziro Studio - Tutorial and coding in a fun 3D world. It has examples of some complex code, which you can modify and "see" what happens.
CodingBat Python Exercises - Challenges you can practice coding. Check your code and even check for an implementation.
Programming - Python - Robots & Rovers - 🤖🚙- Python, Linux, Internet of Things (IoT), & AI Introduction - 📰 Slide Presentation
Programming - Python - Robots & Rovers - 🤖🚙 - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Register For Real Python Newsletters and Updates ✍️ Sign Up / ✨ Resources - ⛏️
Use Your Personal Email (Not School)
Online Python Training & Expert Community: Tutorials, Video Courses, Books, Quizzes...and More! Join 3,000,000 Monthly Readers at realpython.com (Lot's Of FREE Content)
At Real Python you'll learn all things Python from the ground up. Our tutorials, books, and video courses are created, curated, and vetted by a community of expert Pythonistas. With new content published weekly, custom Python learning paths, and interactive code challenges, you'll always find something to boost your skills. Join our 3,000,000+ monthly readers and take your Python skills to the next level!
Sign Up For Raspberry Tips Newsletter - ✍️ Sign Up / ✨ Resources - ⛏️
Use Your Personal Email (Not School)
Want more of Raspberry Tips? Get Your Weekly Update on Pi & Linux!
Get weekly insights, tips, and exclusive content right in your inbox.
Sign Up For Python Coder's Weekly Newsletter - ✍️ Sign Up / ✨ Resources - ⛏️
Use Your Personal Email (Not School)
Want more Python Coding content? Get Your Weekly Update on Python & Linux! - Get weekly insights, tips, and exclusive content right in your inbox.
Sign Up For Flavio Newsletter & Tutorials -✍️ Sign Up / ✨ Resources - ⛏️
Use Your Personal Email (Not School)
Flavio says "Every day I write a new tutorial about Python, JavaScript, or other programming development here, on my blog. It might be React, Vue, Node, vanilla JS, or other topics. Sometimes it’s a long tutorial, sometimes it’s a little trick I just learned. Sometimes I also write about personal development as a developer, how to get better at your craft, how to be more productive, and how to improve yourself. To stay up to date, subscribe to my weekly email newsletter. I’ll send you all the new tutorials I write and news about my books and courses. My goal is to help you grow and thrive at your craft!"
Take 10 min, to explore this Resource page:
Check out the Text Books - Which is your favorite? - ✨ Resources / 🖼️ Tutorials / 📟 Coding / 🛠️ LAB Activity
Which IDE do you like best?
Python Shell - 🛠️ LAB Activity - one command at a time
Python Tutor - Interactive Code Visualization site - See code execute, see memory allocations, etc
Python Interpreter - Online GDB
Did you check out W3Schools?
Do You Have Other Good Python Resource, Tutorial, or Learning Sites? Send me an Email for extra Credit: Jim Burnham - TopClown@STEAMClown.org
Introduction to Python, it's history, creators and creating your first program.
8.1.0.1.1 - Python/IoT - History & Introduction - 📰 Slide Presentation
Browser based Python Shell - https://www.python.org/shell/ - 🛠️ LAB Activity - one command at a time
Introduction to Python, it's history, creators and creating your first program.
8.1.0.1.1 - Python/IoT - History & Introduction - 📰 Slide Presentation
8.1.0.1 - Python - History & Introduction - STEAM Clown - 📖 Lesson Tutorial (Coming Soon)
8.1.0.3 - Python/IoT - Sign Up For replit.com - 📰 Slide Presentation
Browser based Python Shell - https://www.python.org/shell/ - 🛠️ LAB Activity - one command at a time
Browser based Python interpreter - replit.com - 🛠️ LAB Activity - Signup for free account
Note From Mr. Burnham - In my Mechatronics Engineering class, I'm going to target a few different Python based hardware platforms. One of the first is going to be the Adafruit Circuit Playground BLE board. The Circuit Playground is a great starter platform, because it has a bunch of built-in sensors and features, but these labs probably can be implemented on any Python based hardware. I have seen great labs built for the Micro:Bit or the Raspberry Pi Pico. These platforms are great, they just don't have a lot of integrated features. Later after some basic Python coding language topics have been mastered, I'm going to jump to a Raspberry Pi 3,4 or 5. The Raspberry Pi will be used as the control for a Rover based Robot, and more IoT and AI projects will be implemented.
So, with that said, you will now see some Pythion hardware specific lessons, lectures & labs. Just know, they should be adaptable to any Python based hardware platforms.
Introduction to Circuit Playground CPX & Blue Getting Started & Introduction.
8.3.1.1.0 - Circuit Playground CPX & Blue Getting Started & Introduction - 📰 Slide Presentation
8.3.1.1.1 - Circuit Playground CPX & Blue - Circuit Python - 📰 Slide Presentation
8.3.1.1.2 - Access Browser IDE - IDE & My First Program - Blink - 📰 Slide Presentation
8.3.1.1.4 - Install Thonny - IDE - 📰 Slide Presentation
8.3.1.1.2 - Install CircuitPython Libraries - 📰 Slide Presentation
8.3.1.1.5 - My First Program... Again - Blink - 📰 Slide Presentation
Introduction to Circuit Playground CPX & Blue Getting Started & Introduction.
8.3.1.1 - Circuit Playground CPX & Blue Getting Started & Introduction - 📰 Slide Presentation
8.3.1.2 - Circuit Playground CPX & Blue - Circuit Python - 📰 Slide Presentation
8.3.1.3 - Install Thonny - IDE - 📰 Slide Presentation
8.3.1.3.1 - Circuit Playground Projects - Teams Pick Something Fun!!! - 📰 Slide Presentation
8.3.1.3.1.1 - Circuit Playground Projects - Teams Pick Something Fun!!! - 📖 Lesson Tutorial
Links To Projects
While there may be code provided, my recommendation is that you try to write the code yourself, before you copy someone else code... because the whole point is to learn to write Python programs.
Tech With Mike - 🛠️ LAB Activity - https://www.mrmichaelsclass.com/other/circuit-playground/circuit-playground-projects - This site has a few fun projects for teams to pick. I think the ball maze would be fun.
Circuit Playground CPX & Blue - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Learning Python to control robots and rovers gives you a powerful way to turn ideas into real-world action. Python is easy to read and write, allowing you to focus on how a robot thinks and behaves instead of struggling with complex syntax. It is widely used in robotics, engineering, and industry, making it a practical and transferable skill. With Python, you can read sensor data, make decisions, and control motors using the same programming concepts used by professionals. Most importantly, Python lets you quickly see the results of your code in physical movement, helping you connect abstract programming ideas to real, hands-on outcomes.
Every rover, no matter how advanced, makes decisions based on data. Distance sensors measure how far away an obstacle is. Encoders report how fast the wheels are turning. Batteries provide voltage readings that determine how long the rover can operate. To control a rover using Python, we must be able to store this variable data collected from the sensors, work with it, and use expressions to compute results from it.
This chapter introduces the three fundamental building blocks that make all Python programs possible:
Variables — how Python stores and names values for later use
Data Types — how Python understands and categorizes information
Expressions — how Python performs calculations and evaluations
These concepts form the foundation of every robotics program. Whether you are calculating how far a rover can move forward, deciding when to stop to avoid an obstacle, or simply collecting and reporting a sensor reading to an output device, like an LCD screen, console monitor, or some other display device, you are using expressions, data types, and variables.
By the end of this chapter, you will be able to write simple but meaningful Python programs that model real rover behavior, even before you begin controlling physical hardware.
Chapter Roadmap: In this chapter, you will learn how to:
Create and name variables correctly
Identify and use common Python data types
Write and evaluate Python expressions
Combine variables and expressions to model rover behavior
Write Python code relevant to rover sensors, movement values, and robot state
These foundational skills will prepare you for upcoming chapters, where you will control program flow, respond to sensor input, and begin writing complete rover control programs.
8.1.0.2.2 - Chapter 2 - Python - Flow Control - Understanding Errors - 📰 Slide Presentation
8.1.0.2.2 - Chapter 2 - Python - Flow Control - Understanding Errors - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / 🎧 Video/Podcast (TBD)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
8.1.0.2.2 - Chapter 2 - Python - Flow Control - IF/ELIF/ELSE - 📰 Slide Presentation
8.1.0.2.2 - Chapter 2 - Python - Flow Control - IF/ELIF/ELSE - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / 🎧 Video/Podcast (TBD)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
8.1.0.2.3 - Chapter 2 - Python - Flow Control - TRY/EXCEPT - 📰 Slide Presentation
8.1.0.2.3 - Chapter 2 - Python - Flow Control - TRY/EXCEPT - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / 🎧 Video/Podcast (TBD)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
8.1.2.4 - Chapter 2 - Python - Flow Control - While Loops - 📰 Slide Presentation
8.1.2.4 - Chapter 2 - Python - Flow Control - While Loops - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / 🎧 Video/Podcast (TBD)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
8.3.2.5 - Chapter 2 - Python - Flow Control - For Loops - 📰 Slide Presentation
8.3.2.5 - Chapter 2 - Python - Flow Control - For Loops - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / 🎧 Video/Podcast (TBD)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
8.3.C.N - Chapter N - Python - Topic - Sub Topic - 📰 Slide Presentation
8.3.C.N - Chapter N - Python - Topic - Sub Topic - 📖 Lesson Tutorial
Mechatronics - <topic> - 📽️ Video / 🎧 Video/Podcast (TBD)
Mechatronics - <topic> - LAB #1 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
Mechatronics - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
In this additional Lesson, Lectures & Labs where you will learn some more Python and focus your programs to run on the Python capable hardware board, Circuit Playground CPX and Circuit Playground Blue
You'll work on developing programs and implementing them using Circuit Python and probably the Thonny IDE.
While you learn about and use the Circuit Playground Hardware, you will also spend some time learning about and gaining experience in the best practices in software development, such as top-down design, object-oriented design, code debug, code validation, corner case testing, and technical/end-user documentation.
In this additional Lesson, Lectures & Labs where you will learn some more Python and focus your programs to run on the Python capable hardware board, Circuit Playground CPX and Circuit Playground Blue
You'll work on developing programs and implementing them using Circuit Python and probably the Thonny IDE.
While you learn about and use the Circuit Playground Hardware, you will also spend some time learning about and gaining experience in the best practices in software development, such as top-down design, object-oriented design, code debug, code validation, corner case testing, and technical/end-user documentation.
In this additional Lesson, Lectures & Labs where you will learn some more Python and focus your programs to run on the Python capable hardware board, Raspberry Pi PICO and PICO-W (With WiFi)
You'll work on developing programs and implementing them using Micro Python or Circuit Python and probably the Thonny IDE.
While you learn about and use the Raspberry Pi Pico Hardware, you will also spend some time learning about and gaining experience in the best practices in software development, such as top-down design, object-oriented design, code debug, code validation, corner case testing, and technical/end-user documentation.
Introduction to Raspberry Pi Pico & Pico-W - Hardware Features
8.3.2.2.1 - Raspberry Pi Pico & Pico-W - Hardware Features - 📰 Slide Presentation
8.3.2.3.1 - Raspberry Pi Pico & Pico-W - Projects - Teams Pick Something Fun!!! - 📰 Slide Presentation
8.3.1.3.1.1 - Raspberry Pi Pico & Pico-W - Projects - Teams Pick Something Fun!!! - 📖 Lesson Tutorial
Links To Projects
While there may be code provided, my recommendation is that you try to write the code yourself, before you copy someone else code... because the whole point is to learn to write Python programs.
In this additional Lesson, Lectures & Labs where you will learn some more Python and focus your programs to run on the Python capable hardware board, Raspberry Pi 3B / 4 / 5
You'll work on developing programs and implementing them using a Raspberry Pi and probably the Thonny IDE.
While you learn about and use the Raspberry Pi Hardware, you will also spend some time learning about and gaining experience in the best practices in software development, such as top-down design, object-oriented design, code debug, code validation, corner case testing, and technical/end-user documentation.
Top Python Libraries for Raspberry Pi GPIO
The main Python libraries are:
GPIO Zero - Officially recommended by Raspberry Pi Foundation
RPi.GPIO - The original, widely-used library (now deprecated)
pigpio - Excellent for timing-critical applications
gpiod (libgpiod Python bindings) - Modern Linux GPIO interface
lgpio - Newer backend library
For a New Project: Use GPIO Zero
GPIO Zero is your best choice for starting a new project today. Here's why:
Officially recommended by the Raspberry Pi Foundation
Pre-installed on Raspberry Pi OS (both Desktop and Lite)
Works with all Raspberry Pi models including the Pi 5
Beginner-friendly with clean, intuitive API
Well-maintained and actively developed
Comprehensive documentation at gpiozero.readthedocs.io
High-level abstractions for common components (LEDs, buttons, sensors, motors)
Introduction to Raspberry Pi - Getting Started & Introduction.
8.3.4.1 - Raspberry Pi - Introduction (Story Time, No Power) - 📰 Slide Presentation
Introduction to Raspberry Pi - Getting Started
8.3.4.2 - Raspberry Pi - Getting Started - 📰 Slide Presentation
Introduction to Raspberry Pi - Getting Started
8.3.4.2 - Raspberry Pi - Getting Started - 📰 Slide Presentation
8.3.4.1.1 - Raspberry Pi - Getting Started & Introduction - 📰 Slide Presentation
8.3.4.1.2 - Access Browser IDE - IDE & My First Raspberry Pi Program - Blink - 📰 Slide Presentation
8.3.4.1.4 - Install Thonny - IDE - 📰 Slide Presentation
8.3.4.1.2 - Install Raspberry Pi Libraries - 📰 Slide Presentation
8.3.4.1.5 - My First Program... Again - Blink - 📰 Slide Presentation
Introduction to Raspberry Pi - Getting Started & Introduction.
8.3.4.1 - Raspberry Pi - Getting Started & Introduction - 📰 Slide Presentation
8.3.1.2 - Raspberry Pi Projects - Python - 📰 Slide Presentation
8.3.1.3 - Install Thonny - IDE - 📰 Slide Presentation
8.3.1.3.1 - Raspberry Pi - Teams Pick Something Fun!!! - 📰 Slide Presentation
8.3.1.3.1.1 - Raspberry Pi Projects - Teams Pick Something Fun!!! - 📖 Lesson Tutorial
Links To Projects
While there may be code provided, my recommendation is that you try to write the code yourself, before you copy someone else code... because the whole point is to learn to write Python programs.
Tech With Mike - 🛠️ LAB Activity - <projects> - This site has a few fun projects for teams to pick. I think the ball maze would be fun.
Instructables - Raspberry Pi - Python
Raspberry Pi - <topic> - LAB #2 - 🛠️ LAB Activity (Coming Soon... Really, I'm working on it...)
This Module & Lesson is found on the STEAM Clown Makey Bot page. This is a hands on lab, where you will 3D print or laser cut a small flat Robot designed in your CAD program of choice, Solder 3 LEDs, 2 RGB LEDs and connect a Servo. You will work through a set of labs to write the code to control the LEDs and Servo. This code will include test code to test passing arguments to functions of the Makey Bot "features" using dictionaries. Then you will ask the "User" to populate these dictionaries. Finally , you will implement some IoT code to pull Makey Bot commands from the web.
Lesson 1 - Raspberry Pi - Introduction - Programming The Raspberry Pi - Getting Started With Python-SimonMonk
This is the start of the Raspberry Pi and Python Module. This Lesson is an introduction to the physical Raspberry Pi and the Python language. As part of class, you will receive a Raspberry Pi and will be introduced to the “textbook” we will be using, Programming the Raspberry Pi – Getting Started with Python by Simon Monk and Think Python: How to Think Like a Computer Scientist (HTML) by Allen B. Downey (other text are fine, and some are referenced in lesson and the resources section). This lesson will include the following activities: Research on what you can do with a Raspberry Pi, Instruction Lecture, where the textbook is introduced, where you can read chapter 1 and take a quiz; Then you will get a Raspberry Pi checked out to you for the semester and you will be lead through the process of setting up your Raspberry Pi, and then maybe even having time to play Minecraft...
This lesson focused on the Raspberry Pi Desktop menus and the Linux Bash Shell in the Command Line Terminal . You learn and will understand how to navigate the desktop menus, use get-apt to update tools and applications, have experience using and learning about some basic command line commands on their Raspberry Pi’s.
Lesson 3 - What Is The Shell - More Command Line (update lesson link)
Lesson 4 - Raspberry Pi - Introduction to the Raspberry Pi IDLE3 (update lesson link)
Lesson 5 - Python - Introduction (update lesson link)
Lesson 6 - Python - Shell - Runtime Interpreter (update lesson link)
Lesson 7 - Python - My First Python Program (update lesson link)
Lesson 8 - Python - Conditional (update lesson link)
Lesson 9 - Python - Functions (update lesson link)
Lesson 10 - Python - Loops & Iterations (update presentation - py4e - lessons)
Lesson 11 - Python - Top Down Design (update lesson link)
Lesson 12 - Python - Strings (update presentation - py4e - lessons)
Lesson-13 - Python - Files (update lesson link)
Lesson 14 - Python - Lists (update presentation - py4e - lessons)
Lesson 15 - Python - Dictionaries (update presentation - py4e - lessons)
Lesson 16 - Python - Tuples (update presentation - py4e - lessons)
Lesson 17 - Python - Regular Expressions (update presentation - py4e - lessons)
Lesson 18 - Python - HTTP (update presentation - py4e - lessons)
Lesson 19 - Python - Web Services (update presentation - py4e - lessons)
Lesson 20 - Python - Objects (update presentation - py4e - lessons)
Lesson 21 - Python - Databases (update presentation - py4e - lessons)
Lesson 22 - Python - Data Visualization (update presentation - py4e - lessons)
Lesson 23- Python - Whats Next?
How To Raspberry Pi - Site has lots of tutorials like Instructables...
Raspberry Pi Resources on Kerry Bruce's Google drive
Cheat sheet - https://programmingwithmosh.com/python/python-3-cheat-sheet/
good tutorial series - Introduction and Parts - Raspberry Pi and Python tutorials p.1 - maybe assign this as home work when we take our Raspberry Pi's home
Element 14 - Getting Started With The Raspberry Pi 3
How To Log Into Python Learning Sites
TryPython - Fun Interactive Class (you have to pay now)
CodeCademy - Learn Python
Python Introduction - Some python and some cygwin command line
Lesson 1 - Running The Python Interpreter
Lesson 2 - Getting Ready to Write a Program
Lesson 3 - Writing and Running a Program
jim.the.STEAM.Clown's Github - https://github.com/jimTheSTEAMClown/Python-Code
Adafruit Raspberry PI & Python Project Tutorials <-- lots of Python specific projects
ideone - https://ideone.com/
codepad - http://codepad.org/
The Python Tutorial - Good place to Start
Official Pi Project Book - magiPi link to Raspberry Pi projects
Full Stack Python - Some useful Full Stack Videos too...
Introduction Slide Deck for Python - Mr Ganesh Bhosale
Random Resource Links - Stuff to review and sort...
This is where my Raspberry Pi Resource will go... they will show up in about 2 weeks (Jan 7 2019)... in the mean time you can see my Python Resource page from last year 2017-2018 <-- this will go away as soon as I have made this organizational update
If you are a teacher and want to connect and teach this Lesson or Module, discuss how I teach it, give me feedback, please contact me at TopClown@STEAMClown.org
To access this Lesson Plan and the Teacher collaboration area, you will have needed to connect with me so I can Share the content with you. Please go to the Teachers & Partner Page, check out my Licensing and fill out my Collaboration and Curriculum Request Form. I'll review and then grant you access to the requested areas and lesson plans if they exist.
If you have questions or feedback on how I can make a presentation, lesson, lab better please give use my Feedback Form.
I’ll work on getting these in, but it’s the last thing I want to work on :-) When I have them updated, I’ll move to the top of the Lesson Plan.
NGSS: <list standard numbers>
California CTE Standards: <list standard numbers>
Related Instructional Objectives (SWBAT): <list standard numbers>
CCSS: nnn, RSIT: nnn, RLST: nnn, WS: nnn, WHSST: nnn, A-CED: nnn, ETS: nnn <list standard numbers>
Main Standard:
Priority standards:
National Standards:
Reference Text Book - Links
Reference Sites -
add to resources:
Pi My Life - https://pimylifeup.com/
Pi My Life Up - Pi My Life Up - Raspberry Pi Project Resources - STEAM Clown Library
Pi My Life Up - Pi My Life Up - Arduino Project Resources - STEAM Clown Library
move or delete
Key: 📰 Slides / Audio 🎧 / 📽️▶️ Video/YouTube / 🎧▶️📽️ Audio/Video / ✨ Resources / 🖼️ Tutorial / 📖 Reading Activity / 📝 Writing Activity / 📖 📝 Reading/Writing / 📟 Coding / 🛠️ LAB Activity / 🚀 Quiz / 🔎 Review / ✔️ Mastery Check / ✍️ Sign Up /🍕 Extra Credit / 🕸️ Web Links / 👩🏽🎓🧑🏽🎓🧑🏿🎓👩🏫 Class / 🏵️📜📃 Certificate / 🗂️ 📈 Collecting Survey Data
/🧟 Review / 🦾 Practice / 🆙Level Up /
🎚️🦑📤🎯 🚧
- 🦑 Special Project -
Assignment Type: ⚓ Establishing (Minimum Standard) / ⛏️ Developing (Digging Deeper) / 💎 Aspiring (Putting It Together)
This is an ⚓ Establishing Assignment (Minimum Standard) - "Everyone Do" Assignment
This is an ⛏️ Developing (Digging Deeper) - "Everyone Should Do, To Stretch" Assignment
This is an 💎 Aspiring (Putting It Together) - "When you have done the ⚓ Establishing and⛏️ Developing" Assignment
🚀 Formative Quiz - 🔎 Review
🚀 Quiz -🔀 Mastery Path
🚀 Summative Quiz -✔️ Skills Mastery Check
Quiz - verify that they are all listed as a "Formative", "Mastery Path", or "Summative"
🚀 Formative Quiz - These are quizzes that the students can take a few times. I have them either set for unlimited times, or 3-5 times, where the final score is their average. The idea is that these Formative Quizzes are designed for students to learn and master a skill. while I want them to ger 100%, and when it's set to unlimited tries, the student should get 100% eventually. When the quiz is set to 3-5 tries with an average, then they should be prepared and should take the quiz seriously. I set the quiz to not show the right answer, but I do let them see their wrong answer. I also put the explanation of the right and wrong answer in the right and wrong answer prompt for each question. That way they can see why they got the answer wrong and learn from that experience.
8.1.0.3.2.4 - Python - Ch 3 - Functions - Quiz #2 -Built-In Functions - 🚀 Formative Quiz
🚀 Quiz -🔀 Mastery Path - These Mastery path quizzes are to be presented after the student has had a chance to do some labs and some Formative quizzes. The goal is to let students have 2 chances to take this quiz, and take the average of the 2 attempts. Based on the average, they will be presented with a Canvas Mastery Path, where they will have an option for take additional quiz and assignments to help with remediation. This will get them ready to take the Summative Quizzes.
8.1.0.3.3.1 - Python - Ch 3 - Functions - Mastery Quiz #1 - 🚀 Quiz -🔀 Mastery Path
🚀 Summative Quiz -✔️ Skills Mastery Check - These Mastery path quizzes are to be presented after the student has had a chance to do some labs and some Formative quizzes. The goal is to let students have 2 chances to take this quiz, and take the average of the 2 attempts. That will be their final module/subject topic grade.
8.1.0.3.3.1 - Python - Ch 3 - Functions - Skills Mastery Check Quiz #1 - 🚀 Summative Quiz -✔️ Skills Mastery Check