How to bring tech and making into any classroom! (1/4)

Turns out Ms. Frizzle from The Magic School Bus had it right all along! In the era of the Next Generation Science Standards, there is a great deal of evidence that experiential and project-based learning are effective approaches to education. As described in the Cambridge Handbook of Learning Sciences, project-based classrooms provide opportunities for students to “investigate questions, propose hypotheses and explanations, discuss their ideas, challenge the ideas of others, and try out new ideas.” All of this leads to higher test scores than in traditional classrooms.
While we educators may lack the magic necessary to shrink our bodies or travel through the solar system, technology can be an excellent, “magic-like” tool for teaching project-based learning across a wide variety of subjects. When implemented with care and intention, electronics and tech can enhance and expand the realm of possibilities, providing students with direct, hands-on experience of phenomena. A handful of carefully chosen equipment and materials provide an open-ended platform for endless variations of creativity, application, and exploration.
One of the major obstacles in getting started is figuring out what, and how much, to choose. The plethora of options can be daunting and it is not always obvious how to incorporate into a classroom. Here are four principles to help guide you as you make lesson and product choices:
1. Use what you have;
2. Let the students lead (peer-to-peer and even peer-to-teacher education);
3. Broken is better; and
4. Pass it on!
The remainder of this article will expand on the first principle: Use what you have. We will publish more in-depth articles on the remaining principles in the weeks to come, so stay tuned!
Principle 1: Use what you have.
Whether you are looking to teach history or robotics, there are many learning opportunities within everyday materials, particularly when paired with “smart” devices like computers, microcontrollers, or other Integrated Circuits (“ICs”).
Investing in an appropriate microcontroller* for your classroom gives your students more diverse options for projects and invites cross-disciplinary learning opportunities, a key foundation of NGSS. Microcontrollers can add coding to art, and art to coding. If you need some help choosing an effective microcontroller for your classroom, here’s an overview of some common, beginner-friendly microcontrollers.
Free or inexpensive components can be used in alternative ways: LEDs are also light sensors, motors generate electricity when spun, and speakers can be used as a microphone! Finding alternative uses for parts offers students a fun challenge and is a great way to explore connections across fundamental phenomena: Why is a motor also a generator? What does this tell us about how electricity and magnetism work together?
Encourage your students to ask deeper questions and look for connections.
Is there a closet full of old computers, telephones, printers, etc? Perfect! Old tech is often easier to understand because the pieces inside are larger and easier to see than in newer technology. Larger parts are also easier to harvest, or pull out for closer examination and/or use in other projects.
Guide the students in taking apart unused devices. If it’s broken, can the students figure out why? Is it possible to fix or hack it to do something different? If not, how could the students use the parts in new ways? What parts might the students harvest for other projects?
Here is a list of some parts that can be harvested without specialized tools and used in a wide variety of projects:
  • Motors
    • Motors can be used in a wide variety of projects including robotics, puppet shows, art projects, and creative music-making. This is a wonderful alternative to traditional robotics programs as it allows for a wider variety of ingenuity and a deep understanding of how motors function.
    • There are different types of motors that require different signals to turn on: DC motors, stepper motors, and servo motors are the most common. DC motors can be powered directly with a battery, while stepper motors will require a more finely tuned signal from a computer or microcontroller. Unsure what type of motor you discovered? Use three or four AA batteries or a 9V battery to touch the motor connections and explore how and when it moves.
  • Speakers
    • From special effects to science experiments, sound is exciting! Harvested speakers offer the opportunity to observe how sound waves are generated, how sound travel through different materials, and how waves move in general.
    • Connect a 9V battery to the speaker terminals to move and “beep” it, or use the speaker with a microcontroller and/or other amplifier circuit to create instruments, sound effects, and music. Speakers can also be used as an input when connected to an audio amplification circuit.
  • Electromechanical parts like switches, pushbuttons, relays, and connectors
    • Switches and buttons provide a way for us to interact with circuits and electronics. They can be used to explore analog and digital signals, build logic gates, create cause-and-effect machines, and design communication systems, as well as many other possibilities.
    • A relay is an electronic switch for two separate circuits that make a “click” sound when activated. Relays are one way to control motors with a lower-power circuit.
    • Electrical connectors come in an astounding variety of types, shapes, mechanical and electrical connection mechanisms. They help make the electronics sturdier and easier to store, transport, and modify. And of course, they can be used to add flair to projects sans electricity!
  • Sensors
    • Many electronics have infrared (IR) transmitters and/or receivers, which can be hacked to build remote controls for robots and other projects. Solar path lights and CD/DVD drives contain light sensors, security lights have passive IR sensors, and many printers have optical encoders!
  • Transistors
    • If you have tech that qualifies as antique, you may be able to find transistors that can be reused (in newer tech, they are so small that they are invisible to the human eye). Observing transistors in older tech is an excellent pathway through computer history, design, and hardware function.
    • If observation of transistors isn’t the educational opportunity you need, they can be used to add autonomy and logic to circuits, or can act as a controller for output devices like lights, speakers, or low-power motors.
  • Mechanical parts like springs, gears, drive shafts, etc.
    • One of the main challenges in doing engineering projects is having make functional gears. Avoid all of that by taking apart a printer and pulling out the mechanical components. Electronic toys that move are another good source for gears and mechanical mechanisms, and can be hacked or “mashed” together in combinations that span delightful and eerie.
A quick note on safety when doing take-aparts:
  • Unplug the electronics and leave unplugged for a minimum of two (2) weeks.
  • Avoid large appliances, microwaves, and ink-jet printers (or just take out the ink cartridges)
  • Always wash hands afterwards. Students should keep food and drink in closed containers and off the tables.
  • Do not force anything open or closed. The biggest hazard with take-apart activities are sharps caused by broken parts when someone tries to pull a case open without properly removing all the screws.
Even without harvesting parts, seeing the inside of electronics is an effective and memorable way to explore how these devices are made and how they function. Once students see the insides of a few different devices, they will quickly identify connections across all electronics and have a better understanding of the “magic” behind the tech.
Aside from electronics, there are tons of useful and versatile materials all around us! Cardboard, paper, plastic containers, pipe cleaners, brads, clothespins, and office supplies are incredibly versatile. Use these materials in conjunction with the tech you have available, or as stand-alone project-based lessons in science, math, history, and other subjects. How might your students explore various ways to build moving mechanisms with cardboard and paper brads? How might your students use colored paper to explore how light is absorbed and reflected? How might your students explore and visualize sound?
Often, the key to incorporating project-based learning is providing the appropriate challenge. The best challenges allow for a wide variety of creations, are accessible and relevant to the students’ lives, and are as fun to mess up as they are to achieve! Challenges do not need to be binary or only one goal or path-oriented. The most effective challenges are those with the most room for surprises and “broken” rules.
With all of that said (well, written), the only thing you really need to remember is that you can do a lot, including incorporating and meeting NGSS, with what you already have. Look around, look inside, and look for connections!
Please reach out if you have any questions about this principle or if you’re looking for ideas in getting started. Happy learning!
* Wait wait wait… what is a microcontroller? Excellent question! A microcontroller is a “simple computer” that runs one program at a time. Examples of microcontrollers are Internet routers, TV remotes, and video game controllers.

Student Project: Mini Robotic Table!

I am so proud of all of my students, especially when they tackle and conquer difficult projects, like one of my students did recently when she completed a prototype of her Mini Robotic Table.

… A Robotic Table?! Heck yes!! It is just as hilarious and awesome as you are imagining.

But like most projects, the build process was challenging and frustrating, but also delightful and oh-so-rewarding.

This young lady started this project at the age of 10 years old. Initially, she wanted to build a full-size table. After building a real table from scratch and adding wheels, together we discovered that adding remote control to this heavy object would be very challenging and expensive.

So, we revisited her concept and she decided to scale the table down to American Girl doll size. *swoon* SO CUTE.

For the next few months, my student took what she learned from building the large table, and created a miniature version that perfectly fits the height of her adorable American Girl dolls. She successfully built the table, added wheels, and build a remote control system to drive the table around.

I guided her throughout the process and assisted where necessary, but the concept and all of the build was done by her hands. Further proof that kids and young folks are capable of so much when we provide them with opportunities and just a lil’ bit of guidance. If you have children of your own, or if you are an educator, trust that they are so much more capable than we think! Challenge them, give them tools and supplies and let them freely create the things they want to — I promise, they will learn so much more than if we force them to learn the things, and in the ways, that we think we should, simply because “that is the way that we have learned.”

Remember Grace Hopper’s brilliant advice: The most dangerous phrase in the language is, “We’ve always done it this way.”

Check out the hard work of this young lady by reading our write-up here, and if you’re feeling inspired, build your own robotic table by following her instructions!

 

A Beginner’s Guide to Microcontrollers

What do remote controllers, routers, and robots all have in common? Microcontrollers! These days, beginner-friendly microcontrollers are easy to build with and program using just a laptop, a USB cable, and some (free) open-source software. The catch? There are like, 4324302* different microcontrollers and it can be daunting to get started, especially if you’re just getting into electronics. Where the heck do you start?!

Right here, bbies, I got chu. Whether you are looking to build some cool electronic projects, learn programming/tech, or wanting to teach others about electronics, this tutorial will help you figure out what microcontroller is right for your needs, goals, and budgets. Yay! Let’s get started!

Read Time: ~ 20 min

*Ok, ok, maybe not *that* many, but definitely a few dozen!

 

Wait…What is a microcontroller??

Maybe you’ve seen this word and were like “uhhh..?” but didn’t feel comfy enough to ask*. Totally fine, here’s a quick rundown:

A microcontroller is a “simple computer” that runs one program in a loop. They are designed to perform a single, specific task.

In this guide, we’ll be focusing on microcontrollers that have breakout boards, or a board that makes it easier to connect to and program the microcontroller.

On a breakout board, the microcontroller pins are soldered to a printed circuit board (“PCB”), headers or other connectors are added to the PCB, and some basic firmware, or permanent software, is loaded to prep the microcontroller to receive signals.

*Questions are always good even if they are “dumb” or “n00by”, just find a safe space — like this site or Instructables!

What’s the Difference Between the Raspberry Pi and a Microcontroller?

The Raspberry Pi is not only small and adorable, it is also a full-fledged computer! 😀

Computers have microprocessors AND microcontrollers that work together to perform many tasks at once.

The microprocessor is what does the “heavy lifting” in a computer. It performs the instructions and calculations that make the computer work. Microprocessors are much faster than microcontrollers, but they need external resources like RAM, Input/Output ports, etc., whereas a microcontroller is typically self-contained.

Computers (which are microprocessors) can run multiple programs at a time — you can surf the Internet, reminisce with old photos, write a paper, and have like 1000 tabs open all at the same time! Microcontrollers… not so much. You can do one of those things, but not all.

To learn more about the Raspberry Pi, check out the last section of this tutorial!

Arduino (Uno)

A robust, open-source microcontroller and programming environment designed for beginners with some knowledge of circuits.

Recommended Ages: 12+ (or kids comfy with programming and algebra)

Difficulty: Intermediate

Average Cost: ~$35

There are lots of different types of Arduino boards. This is the Arduino Uno, the best fit for beginners! There are boards that are larger, smaller, wearable, and for specialty use cases like robotics.

Being familiar with Arduino boards and programming maps well to projects and careers in computer science, engineering, and design.

Hardware Features

  • The Arduino Uno has 14 Digital Input & Output (“I/O”) pins, 6 Analog I/O pins, 2 Power Out pins (3.3V and 5V), and 3 Ground (GND) pins.
  • Power input can be anywhere from 5 to 12 VDC
  • The ICSP header (right side in both photos) allows you to connect a ton of different add-on boards called “shields”.
    • For example, you can add a WiFi shield to connect your Arduino to the ‘net!

Example Project: 

Robot Mini Golf Obstacles

Motion-Reactive Shake the Maze Game!

Purchase/Learn More: Arduino Website (www.Arduino.cc)

Micro:Bit

A friendly lil’ microcontroller handy for kids and folks just getting started with coding and hardware.

Recommended Ages: 8+ (or kids comfy with circuits and simple tools)

Difficulty: Beginner

Average Cost: ~$15

The Micro:Bit is a great tool to start learning how to code, teaching others, particularly elementary school students, how to code, and making simple and quick electronic prototypes.

The Micro:Bit is a collaboration between Microsoft and the BBC to bring educational computers into classrooms around the world.

Hardware Features:

  • The Micro:Bit has 3 Digital and Analog I/O pins, 1 Power Out pin (3.3V), and 1 Ground (GND) pin
  • Power input should be 3 – 5 VDC via micro USB cable or battery pack connector.
  • It also has lots of onboard inputs, outputs, and sensors!
    • 5×5 (25) LED matrix
    • Two (2) Pushbuttons (A, B)
    • Radio Transmitter and Receiver
    • Accelerometer
    • Compass
    • Light and Temperature Sensors
  • For more I/O pins, grab a Micro:Bit breakout!

Example Project: 

Text Messenger Puppet!

Purchase/Learn MoreMicro:Bit Website

Circuit Playground Express

A versatile microcontroller great for kids and folks just getting started with coding and hardware.

Note: There is also the Circuit Playground Classic — the hardware is nearly identical, but this board is programmed in the Arduino IDE.

Recommended Ages: 8+ (or kids comfy with circuits and simple tools)

Difficulty: Beginner

Average Cost: ~$25

The Circuit Playground Express, or CPX, is a helpful tool to learn how to code, teach others how to code, and make quick prototypes for beginners to experts alike.

The Circuit Playground Express is a powerful and versatile microcontroller created by Adafruit Industries.

Hardware Features

  • The CPX has 7 Digital/Analog Input & Output (“I/O”) rings that are also capacitive touch!
    • 1 “true” Analog I/O ring
    • 2 Power out ring (3.3V)
    • 3 Ground (GND) pins
  • Power input should be 3 – 5 VDC via micro USB cable or battery pack connector.
  • There are also tons of onboard inputs, outputs, and sensors!
    • 10 Mini Neopixels (can be all colors)
    • 2 Pushbuttons (A, B)
    • 1 Slide Switch
    • Infrared Transmitter and Receiver
      • Can receive/transmit remote control codes, send message between CPXs, and act as a distance sensor
    • Accelerometer
    • Sound sensor and mini speaker
    • Light and Temperature Sensors

Example Project:

 Minecraft Gesture Controller!

Purchase/Learn More: Adafruit Industries

Makey Makey

An interactive introductory microcontroller great for young kids and folks new to electronics and coding, especially for those who want to play with technology without having to build circuits and code.

Recommended Ages: 5+ (or kids comfy with simple tools)

Difficulty: Beginner

Average Cost: ~$50

The Makey Makey is a great first step into electronics and technology — no programming required! Connect alligator clips to the pads and then connect any somewhat conductive material, like hands, fruit, or metal objects, to trigger certain keyboard and mouse keys.

The Makey Makey is an Arduino-compatible board, meaning that you can also reprogram it using the Arduino Integrated Development Environment (“IDE”).

Hardware Features

  • The Makey Makey has six (6) capacitive touch pads on the front of the board:
    • Four control the keyboard arrow keys,
    • One controls the spacebar, and
    • One controls the left mouse click.
  • On the back of the board are header pins for more controls (also capacitive touch):
    • Six (6) pins that map to letters,
    • Four (4) pins that map to arrows,
    • Two (2) pins that map to mouse keys, and
    • One (1) pin that maps to the spacebar key.
    • There are also three (3) general I/O pins, a 5V power pin, and a ground pin.

Example Projects

Beginner: Floor Piano

Intermediate: Interactive Survey Game!

Purchase/Learn More: Makey Makey website

Other Common Boards

There are waaaay too many microcontrollers to cover in one tutorial. If you have a super specific specialty need, there is probably a microcontroller for that (just like apps!). To get a feel for some of the other boards not mentioned in this tutorial, peruse the inventories of SparkFun Electronics and Adafruit Industries and/or ask folks in the field!

Here are a few of my favs:

Particle Photon

Similar to the Arduino Nano, the Photon is a WiFi connected microcontroller that can be programmed wirelessly. The easiest setup uses a (free) smartphone app, but if can also be programmed directly via USB in almost the same language as Arduino*.

Recommended Ages: 12+ (or kids comfy w/ circuits and coding)

Difficulty: Intermediate

Cost: ~$20

For more info and to get the Photon setup, visit the Particle online store here.

Example Project

IoT Industrial Scale

*Wiring is the code framework, so most Arduino code will work without modifications. Can also write in C/C++ or ARM assembly

Adafruit HUZZAH ESP8266 Breakout

A super small, super cheap (and currently very popular in the IoT* community) WiFi microcontroller. You’ll need an FTDI or console cable. You can use the Arduino IDE to program this board or NodeMCU’s Lua Interpreter.

Recommended Ages: 14+ (or kids comfy w/ hardware & software)

Difficulty: Intermediate++

Cost: ~$10

For more info, visit the HUZZAH Adafruit product page.

(SparkFun also has a similar board, the “ESP8266 Thing”, which you can find here for ~$15.)

*IoT stands for “Internet of Things”, which is the term that refers to connecting and controlling various hardware devices, like sensors and household electronics, to the Internet.

Adafruit Trinket M0

A teeny tiny yet powerful microcontroller that blurs the lines between computer and microcontroller (it has an ATSAMD21E18 32-bit Cortex M0 processor). It can be programmed with Circuit Python or in the Arudino IDE.

Recommended Ages: 14+ (or kids comfy w/ hardware & software)

Difficulty: Intermediate

Cost: ~$9

For more info, visit the Adafruit product page for the Trinket M0.

There are a TON of other M0 boards, similar in scope to the Arduino Zero connectable microcontrollers. If this doesn’t suit your needs or your fancy, search around on the Adafruit and SparkFun websites!

Wearable Microcontrollers

There are also a handful of microcontrollers designed for wearable projects!

What makes these special is that they can be washed, so you don’t have to rip them out of the awesome project you made (but do remove the battery!).

Wearable microcontrollers also have special I/O pins that make it easier to sew into clothing and stitch circuits with conductive thread. Here are a few of my favs:

Adafruit FLORA

A circular sewable microcontroller with 14 inputs and outputs. Can be washed (but def remove the battery).

Recommended Ages: 12+ (or kids comfy w/ circuits and coding)

Difficulty: Intermediate

Cost: $15

For more information, visit the Adafruit FLORA product page.

Arduino Gemma

A lil’ tiny sewable microcontroller with 3 inputs and outputs. Perfect for hiding, connecting to small objects, and creating jewelry.

Recommended Ages: 12+

Difficulty: Intermediate

Cost: ~$5

For more information, visit the Arduino Gemma product page.

Arduino Lilypad

A circular sewable microcontroller with 14 available inputs and outputs.

Recommended Ages: 12+

Difficulty: Intermediate

Cost: ~$25

For more information, visit the SparkFun product page for the Lilypad.

 

Raspberry Pi 3

The Raspberry Pi, or Pi for short, is a credit-card sized computer* that runs a special version of Linux and can be programmed to control hardware.

Recommended Ages: 12+
Or kids comfy with coding and algebra

Difficulty: Intermediate (easy as a computer)

Average Cost: ~$35

The Raspberry Pi computer, or Pi for short, can be used as a “standard” computer or as a controller for all sorts of hardware projects. It is a great first computer for kids to use and learn to code on, and is widely used by hardware experts to build all sorts of electronic projects, from robots to 3D printers to home automation systems!

The Raspberry Pi has changed the way we build electronics! There are a few different versions, the most recent is the Raspberry Pi 3 and the Pi Zero, a miniature version of the Pi 3 for just $10.

Hardware Overview

  • The recommended Operating System (“OS”) is a special version of Linux called Raspbian.
  • The Pi has 40 General Purpose Input and Output (“GPIO”) pins.
    • 26 Digital I/O pins (no Analog I/O)
    • 4 Power Out pins (two 3.3V and two 5V)
    • 8 Ground (GND) pins
    • 2 Specialty Pins (I2C ID EEPROM, advanced use only)
  • The Pi also has most standard computer features:
    • 4 USB Ports
    • 1 Ethernet port
    • 1 HDMI port
    • 1 Audio Jack
    • 1 Camera Module Port

Example Projects

Local Cloud Server

IoT Pet Monitor! (Raspberry Pi Zero)

Impact Force Monitor

Purchase/More InfoRaspberry Pi Foundation

*The Pi can be used similar to a standard microcontroller AND can also control microcontrollers! Basically, the Pi is super awesome and I *have* to include it even tho it is technically a computer 🙂

Final Thoughts

If you are just getting started and want to build all sorts of projects, I’d recommend the Circuit Playground Express. It’s super easy to get up and running and has a ton of onboard gadgets.

If you are super interested in computer networking, AI, or connecting things to the Internet (e.g. making a “Smart Home”), I’d suggest the Raspberry Pi.

If you want a sturdy, stable, and reliable board to build a wide variety of projects, go with an Arduino.

If you still have no idea where to start and are totally intimidated, start with the Micro:Bit — it’s only $15 and has plenty of snazzy things on it to play with. Plus, if you get one for your friend, you can send lil’ messages back and forth 🙂

The best advice I can give you is to find a project you are passionate about and build it! There are tons of tutorials online so search around for someone who has built the same or similar project. Build off of their findings and adjust as you please!

And of course, leave any related questions in the comments and I’ll do my best to help!

Happy hacking!

Intro to the (Headless) Raspberry Pi!

Finally! Use your Raspberry Pi without spending what feels like forever connecting external peripherals and dealing w/ a cable monstrosity: Configure your Pi to be headless! (not the scary kind tho) This is particularly helpful for folks teaching workshops with the Raspberry Pi, since it can be cumbersome (and expensive) to provide monitors, keyboards, and mice for every student.

I’m assuming that y’all know a bit about the Pi, so this tutorial will not cover what the Pi is or it’s awesome capabilities (I’m lookin’ at you, GPIO pins!). To learn more about what the Pi can do, check out some of my other tutorials (see the last section in this tutorial) or leave a comment.

What is covered in this tutorial: Enabling and using SSH, a general overview of the Linux terminal window, and how to connect to the Pi’s GUI (Graphical User Interface, aka the Desktop view) via SSH.

Read Time: 15 min

Build Time: ~20 min

Cost: Free! (assuming you already have an RPi and Ethernet cable)

Materials

Computer with Ethernet port & SD Card slot

– Raspberry Pi 3

– SD Card (8GB or larger)

– MicroUSB to USB power cord

– Ethernet Cable

– RecommendedRaspberry Pi Case & GPIO cable

Software

For this project, you’ll need the following (free!) software programs:

 

Configure the SD Card

1. Download your favorite flavor of Raspbian! You can get the most recent version here.

2. Insert your SD card and open Etcher.

3. Select the Raspbian zip file, the driver for your SD card, and click “format”.

4. Enable SSH access

Open the file contents for the SD card. Add a new text file titled “SSH”. If the computer adds a file extension (e.g. “.txt”), delete it and ignore any warnings.

5. Eject the SD card and insert it into your Pi.

 

Let’s Get Connected!

1. Plug in the Ethernet cable between the Raspberry Pi & your computer.

2. Plug in the USB power cable.

Check that the red power light turns on and that the Ethernet port lights (yellow & green) are on and/or blinking.

3. Connect the RPi to the World Wide Web (aka the Internet).

Go to Settings -> Network & Internet -> Change Adapter Options (aka Network Connections).

Click on the Ethernet connection, hold down “CTRL”, and then click on your WiFi connection.* Right-click in the window and select “Bridge Connections” — this will bridge the connection between the Ethernet port to your WiFi port.

*If you select the WiFi connection first, it will bridge the connection from the WiFi to the Ethernet, which would allow you to log into the Pi but not connect to the Internet.

4. Open PuTTY and log in to the Pi using the “raspberrypi.local” IP address.

Default username: pi

Default password: raspberry

5. Change the default password by typing passwd and following the prompts.

 

Navigating the Linux Terminal Window (Shell)

The terminal window is the control panel for the system.

It typically shows a command prompt, which gives us information but is not part of the commands to the system. Most commonly the command prompt displays the user’s login name and the current working directory (represented by a twiddle: ~ ).

Inputting Commands

Commands are written after the prompt and inputted by pressing the Enter key.

Commands can be issued as-is or followed by one or more options. Options usually have a dash in front of them, like the following:

ls -a

You can view the options for a specific command by typing the command name followed by “–help” (will cover this more later).

 

 

 

 

 

 

 

 

Linux Hot Keys!

There are a handful of special key combinations that make navigating the terminal window easier and faster. Here are a some of the most common ones:

  • Ctrl+A – Move cursor to beginning of command line
  • Ctrl+E – Move cursor to end of command line
  • Ctrl+C – End running program
  • Ctrl+D – Logout of current session
  • Ctrl+R – Search command history
  • Ctrl+Z – Suspend a program

 

  • Left and Right arrow keys – Move cursor one place to the left or right on command line
  • Up and Down arrow keys – Browse command history
  • Shift+PageUp and Shift+PageDown – Browse terminal buffer (to see text that is off screen)
  • Tab – Command or filename completion
  • Tab Tab – Shows file or command completion options

Practice using these every time you are in the terminal window and you’ll quickly become a Linux wizard!

Getting Help in the Terminal

1. Manual and Information Pages

The manual pages are an exhaustive resource for all of the available commands in the Linux terminal window. To read the manual pages on a particular command, type the following:

man command

This will pull up the manual pages for the particular command that you are searching. Here’s the manual pages for the apropos command:

In the manual, the first line contains the name of the command you are reading about and the ID of the section that contains the manual page.

After the first line is a synopsis, which is a short description of the command that includes technical notation of all the options and/or arguments. Options are a way of executing the command, and an argument is what you execute it on. Optional arguments are put between square brackets.

After the synopsis is a longer description of the command, followed by a more in-depth overview of the available options, information about combining options, other related commands, and other information pertaining to the command.

Some commands have multiple man pages, like the “passwd” command. To see all pages about a command, use the “-a” option:

man -a passwd

The info pages contain more recent information and can be easier to use. Here’s what the menu of the info pages looks like:

To view the info pages on a command (replacing “command” with the actual name of the command you want to research, like “apropos”), type the following:

info command

To navigate the info pages, use the arrow keys to browse through text, the Enter key to read about a particular keyword, “P” and “N” keys to go to the previous or next subject, and the space bar to move one page further. Use “Q” to quit.

2. whatis and apropos commands

The whatis command gives brief information about a command and lists the first section in the man pages that contains a relevant page (in parenthesis after the command name).

If you’re entirely unsure where to start, the apropos command is a good way to search for keywords. For example, if you want to know how to start a browser, you can type apropos browser, which will pull up a list of all browser-related programs, including web browsers, file and FTP browsers, etc.

Here’s the apropos search results for “text”, which displays commands and programs that contain the phrase “text”:

 

3. Using the –help option

Most commands also have the option –help, which gives a short explanation of the command and a list of available options. When in doubt, this is a great way to get some quick and useful information on using a particular command and its possible extensions.

To use the –help option, type –help after a particular command, like the following example (also shown in the photo above):

apropos --help

The output looks like this:

 

Enough of the Terminal Window! Where’s the friggin’ Desktop??

Alright alright.. Remote Desktop Connection is an easy way to use the desktop view, also known as “Graphical User Interface,” or GUI for short.

1. Install Remote Desktop Connection on your Pi:

sudo apt-get install xrdp

2. Install Remote Desktop Connection on your PC (is already installed on Windows OS).

3. Open Remote Desktop Connection and log in using the “raspberrypi.local” IP (or find your Pi’s IP using command ifconfig). Ignore warning (click “yes”).

4. Log in with the Pi’s username and password.

If you haven’t changed your password yet, do so now. (Yes, I know I already told ya to do so but it is worth repeating since someone could actually hack into your Pi if you don’t change the default password.)

Now you can use the Pi’s GUI and do almost* everything via your PC!

*Sadly, we can’t play Minecraft in this mode as it uses too much data to be transferred via SSH. Using a VNC viewer is one option around this if you really want to play Minecraft remotely.

What is SSH, anyway?

SSH stands for “Secure SHell” — it is a “cryptographic network protocol for operating network services securely over an unsecured network.” – Wikipedia

… Uh, what?

In other words, SSH is a secure way to connect between one computer and another, even if the network through which you are connected is not secure.

For example, if you are on a shared network and you use SSH to remotely log into another computer, other folks on the shared network can’t see what you’re doing through the remote connection (although Snowden did release documents that showed the NSA can sometimes decrypt SSH).

Common uses of SSH include remote log in, like if you want to connect to a computer that lives a mile underground without having to, you know, actually go down there. (I used to work for a super cool dark matter experiment called DRIFT and this is how we would access the computers that controlled the detector because the computers lived in a mine about 3 miles underground.. too far to travel to update software!).

Here’s the full Wikipedia page on SSH — it’s super cool so check it out!

More to Explore!

Go forth and explore! Practice using the terminal window until you get comfortable and familiar with the basic commands.

Program the GPIO pins to do cool stuff! Need some ideas? Check out these tutorials:

1. Making a Soil Moisture Sensor

2. Building an Irrigation Controller (can be paried w/ Soil Moisture Sensor)

3. Bark Back: Install an IoT Pet Monitor

4. Expand on your Smart Home & add a Motion Triggered Music Player

Need parts?

Take apart old & broken electronics! Electronic toys are a great place to get motors and speakers. If you want better motors, take apart power tools.

Ask friends or find a repair shop for extra parts and wire, save power cables from old electronics and use them as power supplies or harvest them for wires and/or connectors, save old headphones and use them for audio projects.

Best piece of advice: think before you toss 🙂



			

Build & Play Robot Mini Golf!

Introduction

Create, build, and play an obstacle course for Brush Bots! This is an activity for all ages that teaches the basics of circuits and design thinking while encouraging and inspiring creativity, discovery, and collaboration. Most importantly, it’s super fun! (But seriously though, watch the video it’s adorbs and will make you smile)

This tutorial will show you how to build (and source parts for) a Brush Bot, how to design and build mini golf inspired obstacles, and how to use the design thinking process to create a Brush Bot that can accomplish each of the obstacles. Go forth and build your own Robot Mini Golf course!!

 

 

Tools & Materials

Tools

  • Scissors
  • Hot glue gun(s) + hot glue sticks
  • Wire cutters/strippers
  • Masking Tape

Materials

1. Electronics

2. Brush Bot Body & Feet

Since there are tons of ways to build the body, no list is absolute. Here are some suggestions (upcycling materials are highly encouraged & also cut down on cost!):

  • Toothbrush bristles
  • Styrofoam/plastic/paper cups
  • Paper plates
  • Cardboard
  • Tupperware
  • Toothpicks and/or wooden skewers
  • Popsicle sticks
  • Styrofoam pieces

3. Obstacles

  • Cardboard, cardboard, and more cardboard!
  • Art supplies
  • And maybe throw in some electronics in there also (see Step 4) 🙂

 

What the heck are Brush Bots??

Brush Bots, or Bristle Bots, are the simplest possible form of a robot: a motor with a counterweight and a battery attached to simple body. The counterweight causes the motor to shake, which, in turn, causes the body to shake.

The name “Brush Bot” comes from
a common design that uses toothbrush bristles as the “feet”. The term has been adapted to refer to any simple robot based on the counterweight motor design. Another super fun variation are Art Bots, which use markers or other materials to draw while they wobble around!

There are tons of ways to build a Brush Bot. A couple of approaches are shown in the photos. What other ways can you invent to build a Brush Bot?

 

Building the Obstacles

My obstacles were inspired by mini golf and through my experience in teaching Brush Bots and seeing various approaches from students and educators. I wanted obstacles that would be fun, accessible, and interesting for kids and adults, so I came up with four obstacles of varying difficulty.

Obstacle 1: Enter the Arena

Starting from 1 – 2 feet away, the Brush Bot must enter the opening to an arena. This can be made by marking an arena with tape, or by building a simple fence from cardboard.

Obstacle 2: Spiral Maze

The spiral maze is a crowd favorite and is a great obstacle for younger kids to tackle. Build the spiral maze by scoring a long piece of cardboard (~ 4 feet), then gluing it in a spiral pattern on a 2′ x 2′ cardboard square.

I decorated mine to look like a galaxy by spray painting the outside gold and the inside black, then gluing glow-in-the-dark stars on the inside.

Obstacle 3: Ramp

Although easy to make, this obstacle has proved to be the most challenging. I recommend using a low incline (less than 15 degrees) and adding a rough surface (e.g. sandpaper) on top of the cardboard.

Build the ramp by cutting out two identical triangles and then adhering a cardboard square on top.

 

 

 

Obstacle 4: Robot Head

By far the most fun, but a bit more complicated. I wrote a quick Arduino sketch to move a servo motor and added an IR breakbeam switch to trigger some LEDs when a Brush Bot goes into the mouth.

Recreate or modify this Robot Head or create your own whimsical obstacle!

Building the Brush Bot(s)!

1. Dismantle and gut an electric toothbrush! Your mission: find the motor.

For the Assure-brand “Soft Bristle Electric Toothbrushes” that you can get at the Dollar Store (just $1 woot woot!), twist off the bottom, pull out the battery holder, and pull out the motor. You may need to tap (or hit) the open toothbrush on the floor to get the motor out, or (gently) use pliers to pull it out.

2. Grab (or build!!) a battery box, and connect the positive side (red wire) to one of the motor leads*.

3. Connect the negative side of the battery box (black wire) to the other motor lead.

Orientation doesn’t matter — try switching them and see what happens!

4. Design and build a body for the lil ‘bot and give it a way to move. Iteration through different designs is recommended and encouraged!

Some common and easy ways to make the Brush Bot move are to use toothbrush bristles, toothpicks, or popsicle sticks to make legs/feet. Try different objects and object placements to see what happens.

*The motor leads are those gold tabs with holes by the white cap of the motor.

 

Conquering Obstacles W/ Design Thinking

Design Thinking is a problem-solving method. Traditionally, it’s applied for design of hardware and software products in various engineering disciplines, but this process can be applied to pretty much any aspect of life. The Design Thinking process comes in variety of flavors, here is a common breakdown:

1. Design: Who is your audience? What, or who, are you designing for? What are constraints for your product/project?

2. Ideate: How can you solve this problem? Come up with at least 3 – 5 different approaches — impossible solutions are totally acceptable in this phase.

3. Prototype: Choose one of your (possible) solutions and build it.

4. Test/Observe: Test your prototype and observe how it behaves. Does it solve your problem? If not, what’s wrong with it? If it does, can it be done in a simpler or easier way?

5. Adjust: Change your prototype based on your testing and observations.

Repeat steps 3 – 5 until you’ve arrived at a solution that solves your problem, satisfies your audience (or teacher), and meets any design constraints.

For Educators:

You can go through the design thinking process before, during, or after the workshop. One of the benefits of having obstacles to conquer is that it motivates students to naturally go through this process without having to sit and think about it.

 

Compete & Add Prizes

That’s it! You’re ready to tackle and challenge your students, friends, and/or family to a game of Robot Mini Golf!

A bonus feature would be to add prizes for anyone who successfully completes either one or all of the obstacles. My favorite method is to give out small prizes (e.g. stickers or buttons) to anyone who builds a Brush Bot that completes at least one of the obstacles, and a larger prize for anyone whose Brush Bot successfully completes all of the obstacles. This is a great way to adapt this into a workshop for folks of all ages — older kids and adults can try to conquer all of the obstacles while the younger kids still get to participate and have a blast! 😀

Please feel free to share your Robot Mini Golf stories in the comments! Would lovelovelove to hear anecdotes of how this activity went with students and/or to see photos of your unique Brush Bot(s) and obstacle course creations!

A Few of Our Favorite Brush Bots