Build different components of larger systems using class sets of micro:bits with Python in a truly collaborative way. First you’ll explore ways to harness the capabilities of the humble micro:bit and learn to creatively overcome some of its limitations; learning practical text-based programming along the way. We’ll then move on to building projects that allow multiple micro:bits, and other microcontroller boards and parts like the Raspberry Pi, to communicate with one another, and coordinate their operations to build larger systems.Rather than just being a guide to learning these skills, this book will include tips and stories about implementing the these ideas in classrooms, Code Clubs, and Maker environments. Practical logistics for preparation and easy set-up, as well as, acceptance criteria and accountability for students and participants is included. These ideas were gained over years of running a Code Club and running Maker workshops and events.
You’ll learn about programming collaborative solutions and design logic. Then you’ll scale that logic up to more complex projects. By the end, you’ll have added additional electronic and physical components to projects that interact with the world. You’ll create fun inventions together, using hardware, coding, electronics, physical objects, and e-textiles.What You'll Learn
- Solve problems and create art by modelling solutions and ideas with a combination of Python coding, electronic systems engineering, and creative design.
- Navigate the logistical and unique challenges that come with running your own Code Club, Makerspace, or feeding these activities into STEAM design and technology curriculums.
- Take new Makers from simply copying and duplicating through to debugging and understanding.
Who This Book Is For
Makers and instructors interested in starting group projects while learning to code and gain other Maker skills along the way. Essential information is provided in a form that enables beginners and intermediate Makers to get hands-on quickly, but with enough depth to keep building on these projects and pushing the boundaries.
Author(s): Martin Tan
Edition: 1
Publisher: Apress
Year: 2023
Language: English
Pages: 369
City: Berkeley, CA
Tags: STEAM; Coding; micro:bit; Python; MicroPython; CircuitPython; Microcontrollers; Code Club
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Getting Started
A Quick Tale: Several Years of Mistakes – Numbers, Passwords, Computers, Accountability, and More
What Is Your Baseline – Where Are You Starting From?
Tasks for Establishing a Baseline
Identify Some Prewritten Content to Start With
Sit Down with Other Teachers and Volunteers to Discuss What You All Want to Achieve
Work Out How Many Kids Your Team of Volunteers Can Comfortably Handle
Resist the Temptation to Accept Too Many Kids at First
Discuss How to Manage the Expectations of the Kids and Their Guardians
Health and Discipline Issues
Work Out What You Want the Code Club or Maker Group to Be
Work Out Your Initial Scope: What Are Your First Milestones?
Equipment and Initial Setup
Computers/Laptops
Optimizing Your Environment
Onboarding at the Start of Each Year
Computers and IT Support
Login and Password Basics
Another Alternative – Make Your Space Portable
The Tech Stuff: Learn by Applying
Two Examples of Problems and Solutions
Troubleshooting and Debugging
Strategies for Volunteer Collaboration
Graphical vs. Text-Based Programming
Summary
Chapter 1: Cheat Sheet
Sources for Free Content and Support
Short-Term Goal/Milestone Examples
Long-Term Goal Examples
Questions to Ask When Helping Kids Troubleshoot Their Code
Other Useful Tips for Troubleshooting
Checklist for Volunteer Onboarding
Checklist for Participants and Guardians
Chapter 2: Getting Our Hands Dirty with MicroPython
A Quick Tale: Jumping In with Our Code Club
Tracking Progress
What Can We Do in One Hour?
Introducing the BBC micro:bit
Setting Up an Editor
Scaling Up: Adding Challenges
Challenge Discussion and Solution
Ideas for Even More Features
Going Further: Adding External Components
Adding an amplified speaker
Summary
Chapter 2: Cheat Sheet
Introduction to the micro:bit
Editors/Integrated Development Environments (IDEs)
Completing Initial Learning Projects
Creating New Projects
Add Features with Challenges
Terminology
Chapter 3: General Python Programming
A Quick Tale: Answers to Common Questions – Weaning Off Blocks and Tablets
Python Program Structure
A Friendly Python Environment on Your Computer
Thonny
Mu Editor
Test Our Environment
Installing Python Libraries in Thonny
Python Script Structure
Going Further: Internet and Other Devices
On Your Private Network
Using Your Mobile Device
The Internet
Summary
Chapter 3: Cheat Sheet
Chapter 4: Getting Tactile with Python
A Quick Tale: Keeping It Simple to Build Bigger
E-textiles: Building Circuits on Fabric and Cardboard
Starting with a Simple Circuit
Considerations for E-textile Projects
Washability
Tools
Threading Your Needle
What Type of Stitches Are Best?
Fixing Sewing Mistakes
Knots and Attaching Components
Summary
Chapter 4: Cheat Sheet
Chapter 5: Freestyling with Python: Going Off Map and Applying Skills
A Quick Tale: When Progress Levels Diverge
Finding Your Own Project – From Start to Finish
Beginning with Diagrams: The Self-Watering Plant Project
Scaling Up Our Project: Understanding How Things Work and Adding One Thing at a Time
Pros and Cons of Simplifying Projects
Cost
Perception of Difficulty
Reducing Challenges Can Limit What We Learn
Continuity
Scaling Even Further
Code Club Alumni
Adapting Our Skills: An API Project in Python with Trinket.io
Summary
Chapter 5: Cheat Sheet
Chapter 6: Collaboration: Working with Others
A Quick Tale: Devs and Testers
What Is Open Source Software?
Working Online: Collaborating with Online Tools
Code Collaboration Tools
Code Collaboration Terminology
Other Collaborative Tools
Using Programming Terminology to Communicate When Collaborating
Testing Yourself: Creating Your Own Game Writing Workshops with What You’ve Learned
Communications
Security and Privacy When Working Online
Separate Your Things
Use Layered Defenses
Be Careful with What Software You Use
Be Careful What You Trust
Chapter 6: Cheat Sheet
Devs and Testers Activity (2 x 1-Hour Blocks)
Open Source Software
Collaborating with Online Tools
Security and Privacy When Working Online
Code Collaboration Terminology
Creating Your Own Workshops
Chapter 7: Electronics: Basic Skills and Tools
A Quick Tale: Getting the Burn for Electronic Projects
Basic Electronic Component Primer
Electronic Schematics and Datasheets
Breadboards and Circuit Boards
Through-Hole vs. Surface-Mount Components
Resistors
Ohm’s Law
Symbol for Resistors
Transistors
Symbols for Transistors
Capacitors
Symbol for Capacitor
Diodes
Symbol for Diode
Light-Emitting Diodes (LEDs)
Symbol for LED
Integrated Circuit (IC) Chips
Soldering!
Tools You Will Need for Soldering
Soldering Iron/Station
Solder
Tip Cleaner
Helping Hands/Mini Vise
Cutters/Side Cutters
Wire Strippers
Heat-Proof Mat
Solder Sucker/Desoldering Braid
Other Useful Things to Have
How to Solder
Teaching Kids to Solder
Handy Software Tools
TinkerCAD
Embedded Programming
Some Useful Concepts to Understand
Microcontroller Breakout Board
Common Communication Protocols
Approaching a New Microcontroller Electronic Project (Digital)
Software and Hardware Support for Proposed Components
Support for Languages We Are Proficient In
Availability of Parts to Scale Things Up
Draw a Diagram, Create a Schematic
Breadboard Prototype
Going Further
Introducing the Raspberry Pi Pico
Next Steps
Summary
Chapter 7: Cheat Sheet
Electronic Components
Concepts
Components
Soldering Tools
Soldering
Software Tools
Other Useful Concepts
Approaching a New Electronic Project (Digital)
Badge Project
Next Steps
Chapter 8: Putting It All Together
Planning a Year of a School Maker Space/Code Club with Python
Deciding on Communication Channels
Communicating with Parents/Guardians
Communicating with Volunteers/Teachers
Communicating with IT Staff
Setting Expectations
Expectations for Participating Kids
Accounts Required
Display of Projects, Photos, Blog Posts
Expectations of Behavior and Conditions of Attendance
Setting Expectations for Volunteers
A Note About Qualifying/Filtering Volunteers
Get a Benchmark of Skills Across the Group for Kids and Volunteers
Build Some Basic Skills to Equip Kids to Go the Distance
Group Activities
Develop and Deliver Workshops with Scalable Projects
Club Excursions/Events, Community/School Events
Demos
Contribute Back
Encouraging Alumni to Volunteer
Learning from Mistakes and Learning More
Keeping Yourself Motivated and Kids Engaged
Preparation
Scaling Things Up
My Experience Highlights
It’s Up to You, Now!
Chapter 8: Cheat Sheet
Communications
Expectations
Setup
Skill Building
Interim Group Projects for Those Ahead
Workshops
Events
Start Making Your Own Projects
Contribute to Community Projects
Encourage Alumni to Come Back As Volunteers
Appendix A: Traffic Light Workshops
Index