Use Intro to Robotics as a STEM Elective for Your Homeschooled Middle School or High School Student
The Intro to Robotics course was designed to be used by people with no previous experience in electronics, programming, or robotics. Lessons start at the very beginning building foundational skills that increase in complexity over time.
Level A teaches students to build circuits with common electrical components, use a Raspberry Pi, and write code in Python to control the circuits they build with the code they write line-by-line. The program then moves on in Levels B and C to more complex electrical components and advanced programming while they learn complementary skills such as reading electrical schematics, troubleshooting, and building an Apache web server. In the final level of the program, students will take all the electronics and programming skills they have learned to build a fully programmable mobile robot from scratch.
Click here to see sample lessons and a detailed scope and sequence for each level of the program.
Our goal is for students to build strong base of electronics and programming skills that will enable them to go on in the future and tackle new projects learning new niche skills along the way.
Level A: Building Circuits and Beginning Programming
- Learn how electricity and electrical equipment work
- Learn to properly use common electrical components that make up circuits including breadboards, batteries, LEDs, resistors, jumper wires, and switches
- Build both series and parallel circuits and understand how to use Ohm's Law when designing circuits
- Practice systematic troubleshooting techniques including half-splitting
- Learn to read schematic drawings
- Learn to use a Raspberry Pi (a mini computer) including connecting it to peripherals (keyboard, mouse, etc.) as well as downloading files and software updates
- Learn to use several included software packages including Raspbian OS, Nano, and Thonny
- Learn to to create basic Python programs including comments, merging strings, user input, mathematical functions, lists, if/else statements, and loops to control electrical circuits and create games
- Learn to identify and correct errors in Python computer programs
- Gain the skills to independently tackle advanced projects found online
- Learn troubleshooting skills for both electrical circuits and computer programs
Level B: Using Sensors and Intermediate-Level Programming
- Work administratively with files, folders, and directories
- Continue to expand coding knowledge to include functions, advanced list commands, logical operators, while true loops, advanced string techniques, try/except/finally, and multithreaded operations
- Understand pulse width modulation
- Learn to work with new types of switches, a matrix-style keypad, potentiometers, phototransistors, infrared sensors, RFID readers, temperature sensors, an I2C display, and ultrasonic range sensors
- Learn to use Github and adjust for various versions of Python
- Work with an analog-to-digital converter integrated circuit
Level C: Working with Audio-Visual and Advanced-Level Programming
- Expand project flexibility with networking and remote access
- Write Bash scripts and using Bash programming
- Use microphones, speakers, audio amplifiers, and audio software
- Work with servo motors to add movement to project
- Multiple methods for gathering data from internet feeds and databases including API data access as well as how to use data in projects
- Work with accelerometers and gyros to allow for multi-axis measurements in projects
- Use relays to control high-powered devices
- Create your own Graphical User Interface (GUI) using the popular module Tkinter to create a user-friendly interface for programs and display data
- Build a web server using popular server softwares like Bottle and Apache to add web page control to projects
- Use a camera to gather data and see real-time events
Level D: Building a Mobile Robot
- Learn to protect and recover operating files and project data
- Use a digital multimeter (included in kit)
- Construct the robot chassis including wheels, motor mounts, and motors
- Control the robot remotely via VNC
- Add and configure various sensors, an audio amplifier, and speaker on the robot
- Use a camera to collect information and see the world from the robot's point of view
- Set up the mobile power system including gaining understanding of benefits and drawbacks of various battery power options
- Learn to drive and troubleshoot motors through code including coordinating multiple motors
- Set up keyboard control of robot while accounting for focus, keypress, and repeat rate issues
- Build a webpage and use CGI scripts to control the robot remotely
- Use a web page to view video generated by the robot and trigger the robot to play audio files
- Gain the skills to systematically plan large projects including identifying needed functionality, part compatibility, and keep appropriate documentation
- Continue to improve troubleshooting skills for both electrical circuits and computer programs
- Continue to gain the skills to independently tackle advanced projects found online
Yes, Intro to Robotics Levels A-D is designed to be an online, self-paced program that teaches directly to the student.
The lessons assume neither the parent or student have previous experience working with electronics, writing Python code, using a Raspberry Pi, or constructing a robot from scratch. We strive to provide a low-stress option for homeschooling families needing a high school STEM elective with easy-to-follow lesson videos, step-by-step activity instructions (complete with very detailed photos), and standardized equipment kits.
Mature and motivated high school students should be able to complete the course with a reasonable level of independence. Less mature or younger students will benefit from a parent close by or working along side them (for more information, please see the age range FAQ below)
The program was originally designed at a high school level. This applies particularly to the complexity of the concepts taught and the student's attention to detail.
Working with electronics and code requires precision. A small error in the placement of an electrical component in a circuit or even a single incorrect or missing character in the code will cause the circuit or code not to work. While this presents wonderful learning opportunities to improve careful reading and attention to detail, the precision requirement can simply be too frustrating for some students and we encourage parents to use discretion when deciding whether to use this program.
If you are considering using the program with a middle school student or a younger high school student, we recommend the following:
- Wait to start the program until their reading comprehension and concept comprehension skills have reached a high school level
- Evaluate whether your student has demonstrated an ability to work with precision and pay attention to small details
- Be available to support your student; you don't necessarily need to work through the program with them, but be close by to help them reread a section or double check that they've accurately duplicated the circuit or code laid out in the lesson. 95% of issues students run into when working through the program are results of a tiny error in the electronic component placement or code and almost all of these can be located with a parent's fresh set of eyes.
Please note, due to the complexity of the material we do not generally recommend Levels C+D for middle school students unless a parent or older sibling will be working alongside them. We would instead encourage your middle school student to focus on learning the concepts in Levels A and B well (including plenty of practice time built in to experiment and design novel projects) and wait until high school to tackle Levels C+D.
While we would always encourage students to complete all four levels of the Intro to Robotics program, we recognize that may not meet the goals of every family. Here are some general guidelines:
- If your goal is for your student to receive basic exposure to how electronics circuits work, common electronics components, and learning common Python code commands, plan to have your student complete Level A
- If your goal is for your student to work through a one-semester (or leisurely year) electronics and coding course that will cover intermediate-level concepts and code, plan to have your student complete Levels A+B
- If your goal is for your student to spend a year working on a very solid electronics and coding course including advanced-level electronics components and Python code, plan to have your student complete Levels A+B+C
- If your goal is for your student to work through an entire robotics course including advanced-level electronic components, Python code, and building and programming a mobile robot from scratch, plan to have your student complete Levels A+B+C+D
Each level of the course contains 18 lessons. For high school students and adults we typically recommend allocating the following amounts of time per level:
- Level A: 45-60 minutes per lesson
- Level B: 60-90 minutes per lesson
- Level C: 90-120 minutes per lesson
- Level D: 90-120 minutes per lesson
Generally speaking if your high school student is planning to complete Levels A+B+C+D in a single academic year, we would recommend planning 4-5 hours week with the goal of completing Levels A+B during the fall semester and Levels C+D during the spring semester.
For a middle school student, plan to add 25%-50% additional time for completion of each level.
Additional Pacing Information:
Each level of the program contains 18 lessons. The concepts in Level A are foundational and therefore tend to be simpler than the concepts taught in Levels B, C, and D. Therefore we would recommend focusing on completing Levels A+B during fall semester and Levels C+D during spring semester (assuming 4-5 hours a week spent on the program) using the pacing schedule below:
- Level A: 3-5 lessons per week
- Level B: 2 lessons per week taking time in between lessons to practice working with both electronics and coding skills
- Level C: 2 lessons per week taking time in between lessons to experiment with creating novel circuits and code
- Level D: 2 lessons per week (please note, the feedback we receive from homeschooling parents is that during Level D, students have to be drug away from the program to work on other school subjects--building a robot might be more fun than math or writing. But never fear, if your student completes Level D more quickly than planned, keep in mind the wide variety of electronics and coding skills they will have amassed means they can spend many weeks or months customizing their robot or tackling other novel projects.
Click here to access samples of course videos, activity instructions, and a scope and sequence for each level of the course. We'd also encourage you to watch the "Welcome to the Online Classroom" video listed right above the Level A sample links to get a better feel for the logistics of the course and the online classroom environment.
While the Intro to Robotics course contains hundreds of videos and hundreds of activities, we would recommend focusing your evaluation of their work on the activities and projects.
Assuming a student has required minimal amount of help from a parent or our support team, properly working projects in Levels B and C and the robot in Level D require a fairly sophisticated understanding of the material. Simply put, if their projects and the robot work as anticipated, your student has demonstrated significant understanding and retention of the material and should be graded appropriately.
The Raspberry Pi used in the Intro to Robotics course (and included in the equipment kits) is essentially a very small, stand-alone computer. To use the Raspberry Pi and complete the levels of the course, please see the lists below for additional equipment needed. The equipment listed is specific to each kit you plan to use (i.e. if you purchase multiple sets of equipment for multiple family members, each set will require a separate monitor, keyboard, etc.) Please note, all levels of the Intro to Robotics program build on previous levels. So each subsequent level requires all skills and equipment used in previous levels.
Levels A and B:
- Internet access and an Electronic Device to Use to Access the Online Classroom (course lessons, including videos, are provided via the online classroom so high speed internet access is needed; we do not recommend attempting to use the online classroom with a phone due to the small screen size)
- Computer Monitor with HDMI input port (a television can also be used provided it has HDMI inputs, please note, a laptop computer or Chromebook will not work for this purpose as only very high-end laptops have an HDMI input port)
- HDMI cable (likely attached to your computer monitor)
- AA Batteries x2 (these are used in Lessons A-1 to A-9 to power circuits prior to learning to use the Raspberry Pi)
- Keyboard and Mouse (please use a wired keyboard and mouse if possible. Wireless models do not work reliably with the Raspberry Pi. Visit the Level A Resource List for a list of inexpensive keyboard and mouse options)
- A Desktop Computer, Laptop, or Chromebook (this can be the same device the student is using to access the online classroom; in Level C this is used in networking lessons)
- Anti-Static Mat (highly recommended to prevent damage to more sensitive equipment such as the Raspberry Pi camera; click here to find one at a bargain price; this is particularly needed in Level C)
- AA Batteries x6 (these are used to power the robot in Level D; we recommend rechargeable batteries, click here to learn more)
- 9v Battery
- USB Drive (minimum 4 gb)
- Electrical Tape (used in Level D to build a track on the floor for the robot to follow; use black electrical tape if you have light colored flooring, use white electrical tape if you have dark colored flooring)
- USB to SD Card Adapter (optional; Lesson D-1 activity shows students how to back up their SD card to their computer, click here to see links to adapters)
If you do not have a family desktop computer monitor, keyboard, and mouse available to borrow to use with the Raspberry Pi, we generally recommend checking thrift stores and pawn shops for inexpensive monitors, keyboards, and mice.
Within 24 hours of purchase, you should receive an email inviting you to join the Intro to Robotics online classroom (be sure to check your email's promotions and spam folders). If you do not receive that email within 24 hours, please feel free to contact us and we will send you a personalized link to join the online classroom.
Licensing is available for group, school, or co-op use. Please contact us for details on group licensing.
We do not offer access to the online classroom separately from the kits. We are 100% committed to troubleshooting any bumps you or your students may face on the road to learning. Unfortunately component connections can be configured differently or may not be compatible depending on the specific component or manufacturer, even though they may look almost identical. That means you'd likely to run into incompatibility issues and makes it really difficult (and potentially impossible) for us to troubleshoot effectively. Our goal is for our program to be open-and-go and low-stress for homeschooling families. Ensuring students are working with a standardized kit of parts helps make that happen. If you do already have extra components (and even an extra Raspberry Pi), those items will come in handy later on when your student decides to have several custom projects going at once.
Yes! If you need extra equipment kits for any level, you can find those here. We often see families with multiple students (or a parent and student) working through the program and building robots together.
Please note, if you have two students working together and they are good about sharing equipment, there is no need to purchase an additional equipment kit.
With proper (gentle) use and storage, the components in the kits should last a long time through many projects. However, with repeated use, some small parts such as resistors and LEDs may wear out and need to be replaced. But rest assured those parts are very inexpensive to replace.
However, whenever kids are involved, there's a potential for things to be misplaced, treated poorly, etc. We do offer replacement parts here on our website in the event you need them.
We are happy to help you as your students work through the course! Contact us via email and we will help you get back on the right track. While we also provide support via phone, we strongly recommend using email as it's easier to send pictures or copy of your code back and forth--this can help us troubleshoot far more efficiently.
Please note, if your student has a problem with their circuit or their code, we strongly recommend a parent compare what they built or wrote with the detailed activity in the book prior to contacting us. 95% of the support requests we receive turn out to be a slightly misplaced electronic component or a tiny error in the code (every character counts!) While we usually return emails within 4-5 hours during weekday business hours (EST) we also know it's frustrating for students to wait to hear back. Taking a few moments as a parent to double check their work with a fresh set of eyes, will almost always find the problem and get your student back on track more quickly.
Also, please head on over to Facebook and join the 42 Electronics User Group. It's a great place for current or perspective users to ask questions, get project ideas, and connect with others using the Intro to Robotics program.
Yes! The Raspberry Pi operating system tends to change fairly regularly. Sometimes the changes are minor, such as moving a menu item, and sometimes the changes are major, such as process changes. As we learn of changes to the Raspberry Pi OS, modules, repository libraries or any other resources used in the course, we will update the online classroom ASAP. When accessing the materials through the online classroom, you will always have access to the most up-to-date version of the lesson materials.
We are an approved vendor with a number of charter schools. Please click here to learn more about ordering the program via your charter school funds.
If we are not currently approved with your charter school, please contact your charter school directly and ask we be added to their list (the approval process tends to move much more quickly if it's initiated by a parent rather than our office).
Please note, we are unable to apply free shipping, discounts, and special offers of any kind to orders placed via purchase order from a charter school.