Mini Robotic Table

What’s better than a table with wheels? A table that you can drive around! This tutorial will teach you how to build your very own Mini Robotic Table, a project that was conceived and designed by one of my students (she was 10 when we started).

We built this table because, in the words of my student:

“I wanted to build something and I thought of a table and I thought of robotics and I smooshed them together. I like woodworking and I like robotics and I wanted to do something with the both of them.

We started w/ a full size table but that took a lot of time and money so we decided to make a tiny version, which is a prototype to the big one.”

We sized this mini table for American Girl Doll height (an American Girl doll is 18″ tall so we made the table to be 9″ tall), but you can adjust and modify depending on your needs. The most important thing to keep in mind is table weight, as a larger table requires larger motors and more battery power.

Difficulty level: Intermediate

Estimated build time: a few days to a week

Cost: ~ $75 – $100

Adult supervision required (lots of sharp and powerful tools involved)

 

Supplies

Materials

  • Wood
    • Table top: 8″ x 16″ (width x length)
    • Legs: 1.5″ x 1.5″ x 8″ (width x length x height)
    • Table Shelf: 8″ x 14″
  • Brackets (8)
  • Screws (28)
    • For brackets: 1.25″ screws
  • Axle, metal
    • We used the metal rod from an old (aka broken) french press
  • 4xAA Battery case and (4) AA batteries
  • Continuous rotation servos (2)
  • Small screws to hold wheels onto servo (2)
  • Radio controller and receiver
  • Servo Wheels (2)
  • Caster Wheels (3)
    • we used the same wheels as for the servo motors, but attached them to an axle instead of a servo.

Tools

  • Hot glue dispenser and glue sticks
  • Power Drill
  • Drill Bits
  • Screwdriver Bits
  • Saw
    • Or get pieces cut at your local hardware store
  • Sandpaper
  • Glue
  • Electrical Tape or heat shrink tube
  • Safety glasses
  • Dust mask
  • Scissors
  • Measuring tape
  • Level
  • Clamps
  • Optional:
    • Duct Tape
    • Velcro
    • Zip Ties

Tips, Tricks, & Extra Information (Please read before building!)

Before you build anything, read the full project instructions first!

Helpful info to have before you start this project:

1. Be prepared for drying time

2. How to use power tools and know safety rules.

Safety rules: put hair up, eye protection, roll up sleeves, no loose clothes, no jewelry that could get in the way, always have a second person in the room especially an adult if you are younger, dust mask.

3. Be prepared w/ the materials and tools you’ll need.

4. Document in a notebook as you work for reference later.

5. Find a radio controller that comes with a receiver. It is easier to put together the electronics if you get a controller and receiver together because it will take a lot more time to figure out which receiver will work with a particular controller, so get a controller that comes w/ the right receiver.

RC controllers can be very expensive, and other ones are super cheap and don’t work well. Read the entire description for the controller and receiver that you are interested in. The way we figured it out was by finding three options: one that was expensive, one that was in the middle, and one that was cheaper. We used our budget to help figure out the best option, and ended up selecting the option that was in the middle.

Build the Table!

Gather your woodworking tools, wood pieces, and brackets (see Supplies section for sizes). Remember to measure two or three times before drilling, gluing, and/or cutting 🙂

Step 1: Determine placement of legs and brackets and mark all bracket holes with a pencil. 

We used 2 brackets for each leg and 4 screws for each bracket, except for two brackets that overlap in between the legs.

It is helpful to use a tape measure to get placement as accurate as possible.

Step 2: Attach legs to the tabletop with brackets and screws.

A. Drill small holes in the tabletop and table legs to avoid cracking the wood. (See photo)

B. Attach two brackets to each leg.

C. Attach legs with brackets to table.

Step 3: Add the table shelf!

We cut ours to fit between the legs and attached with wood glue.

Tip: Add an object under the shelf while it is drying so the shelf does not move.

 

Step 4: Sand the table where needed.

Step 5: Measure the height of the wheels and include in the total table height.

Connect the Electronics!

1. Set up the radio controller and receiver.

Bind the receiver to the controller as shown in the instructions that come with the controller that you chose.

2. Connect the battery case to the radio receiver.

Connect the battery pack to the pins that say “B/VCC” (black wire goes on the outside of the receiver).

For this table size and weight, four AA batteries are enough to power the receiver and the two continuous servo motors. If you build a bigger table, you’ll need larger motors and more battery power.

3. Do a quick test to figure out which receiver input plugs work best for driving your table with the controller.

For the test, do the following:

If you are using the same radio controller and receiver, we recommend using receiver channels 2 and 3.

A. Connect one motor to the first channel on the receiver. Align the servo wires with the receiver channel as shown in the photo above.Then move the controls on the controller, observe when and how the motor moves, and record your findings.

B. Move the motor to the next receiver channel and repeat Step 2A. Do for all channels on the receiver.

C. Decide which channels work best to drive your robotic table!

Build the Drive Train and Attach Wheels!

The drive train is how we connect the motor and wheels to the table.

Step 1: Attach the wheels to the servos.

We attached the wheels with screws, but we had to find screws that fit and held the wheels on tight. We also had to drill out a bit of the wheel where the hole is so the screws could fit through. You may need to do a bit of testing to find the proper screws.

Step 2: Figure out placement of the servos and wheels. Use tape to hold in place while you test.

Use a level to make sure that when you attach the wheels the table is not all wonky. Measure how tall the servo with wheels are going to be before you attach them and before you drill into the wood. If you do not measure them, the table might be too tall and disproportionate.

Step 3: Attach the front castor* wheels to the table using the metal axle.

A. Measure and mark the location of the axle so that the castor wheels are even with the back wheels.

B. Drill holes into the front table legs and push the axle through, adding wheels as you go.

C. Secure the castor wheels in place by adding hot glue or grommets** on either side of the wheels, leaving about a 1/2″ (1cm) gap so that the wheels can rotate freely.

*The front wheels are called “castor” wheels because they are not connected to the motor.

** A grommet is circular rubber stopper, sort of like a rubber band, that prevents the wheels from sliding off.

Step 4: Secure the servo motors with epoxy or another strong adhesive.

Note: We recommend doing this step after testing the whole table as the servo motors will be stuck once the epoxy dries.

Test, Drive, & Decorate!

Power up the radio receiver and controller and test out your robo table! It might take a few practice trials to get a feel for driving the table.

Once you’re sure the table is working, add some hot glue (or epoxy) to hold wires in place and prevent the electronics from getting disconnected.

Decorate your table with markers, paint, stickers, fabric… whatever your creativity compels you to do!

If you want to see optional upgrades, check the next slide. Otherwise….

You’re done! Enjoy driving your robo table, maybe to give your pets a lil’ exercise or to deliver you or a friend food when you are watching a movie. Share your ideas and creations with us, we’d love to see!

Optional Upgrades

Battery holder!

We made a battery holder using wood, felt, ribbon, and wood glue. We measured the battery box and cut small pieces of wood to make a box without a top. We used the felt to cushion the battery box and keep it in place, and the ribbon to more easily pull the battery box out.

Wire Tubing

We purchased some wood-colored cord cover and cut it to fit the sides of the table legs to conceal the servo wires.

Brakes!

Design your own braking system, or stay tuned for separate tutorial on how we tackle this!

micro:bit magic wand (intermediate)

 

“Any sufficiently advanced technology is indistinguishable from magic.” (Arthur C. Clarke). Heck yes it is! What are we waiting for, let’s use technology to create our own kind of magic!!

This project uses two micro:bit microcontrollers, a household cooling fan, and a few small electronic parts to create our very own magical wand. I chose to use the Wingardium Leviosa gesture, but you can most certainly adapt this project to cast other spells!

Please note that this is an intermediate project because it involves high voltage and current. Use proper safety protocols and always have another adult nearby.

Difficulty: Intermediate

Read Time: 15 min

Build Time: ~ 1 hr

Cost: ~ $40

Materials

  • Wand!
    • You can purchase custom wands or get creative and make your own!
  • Feather (for floating!)
  • Glove (for hiding the micro:bit wand controller)
  • One (1) household cooling fan (4A or less)
    • We do not modify the cooling fan so grab one you have around the house or borrow one from a favorite human.
  • One (1) extension cord
    • We WILL modify the extension cord, so use an extra one you don’t need or buy a cheap one.
  • Two (2) micro:bits
  • Two (2) micro:bit battery packs and two (2) AAA batteries
    • If you get the micro:bit Go bundle, it comes with a battery pack and batteries 🙂
  • Two (2) microUSB cables
  • One (1) PCB
    • Mine is 2cm x 8cm, any similar or larger PCB will work (but definitely do NOT use a breadboard as it cannot handle the high current)
  • One (1) solid state relay (JZC-11F)
    • Rated for 5Vdc input and 220/250 Vac and 5A output. You can use a different relay as long as it can switch

Magic? What! How??

One of my favorite scenes from the first Harry Potter book was when Hermoine makes a feather float with the spell Wingardium Leviosa. This simple spell captures the essence of why we love magic: that literally at the flick of our wrist and a few choice words, we can instantly make surprising (and impressive) things happen.

Although we don’t have exactly that kind of magic, we do have technology that sometimes seems miraculous. So that sort of counts! To mimic my fav scene, I wanted to levitate a feather. How can we move feathers from afar in real life? With wind!!

After building a beginner version of this project, I wasn’t 100% satisfied. I wanted to reach Hermione-level wizard status! So I designed a second version that can switch power for a large household fan.

This version uses a solid state relay to switch AC power with a DC trigger. You can imitate my design or, better yet, create your own! There are TONS of variations for this project that you can make with this basic framework, find a spell that inspires you and bring it to life!

This tutorial will show you how to do the following:

1. Write a simple block-based code for a micro:bit wand controller

2. Build a circuit to switch power for a 12V, 4A hosuehold fan.

3. Write a simple block-based code for a magical receiver that is triggered with a radio signal (aka bluetooth)

Code it: Wand Controller!

Let’s start with our magic wand!
We are using block-based coding via the Make Code website, but if you have experience w/ coding you can also program the micro:bit using micropython or C++ in your fav coding environment (e.g. Idle, Visual Studio Code, etc.).

Step 1: In the On Start block, set the Radio Group number. We’ll use the same number for the magical receiver micro:bit.

Step 2: Decide how you want your wand to trigger action.

The micro:bit has a 3-axis accelerometer, we will use this to set a gesture trigger.

Quick solution: Use the “on shake” block!

 

More complex, gesture-based solution:

Explore how the accelerometer works by printing to the Serial port with the “Serial write value” blocks (under the Advanced section). Open the Arduino IDE Serial Monitor to observe the micro:bit output as you make gestures. Use your observations to set triggers. (Code No. 2)

The example in Code No. 2 is my attempt at a Wingardium Leviosa gesture: swish-and-flick! (down in the z-direction and left in the x-direction). Use as-is or as a starting point for your own fav magical gesture!

Helpful Tips:

(1) Since microcontrollers process information super quickly, the pause block gives us time to finish the first part of the gesture before the micro:bit checks for the second part. 

(2) I added axes labels on the micro:bit so I could more easily figure out how to get the right motion for Wingardium Leviosa spell — definitely recommend this!

Step 3: Use the gesture to send a radio number (or string, just be consistent).

The “radio send string” and “radio send number” blocks are found in the “radio” block set.

Step 4: Download and save the code onto the micro:bit!

Build it: Magical Receiver!

Grab your second micro:bit, your PCB, your soldering iron, and all of the electronic parts!

Quick overview: We are using the micro:bit 3.3V power out to trigger the DC side of the relay. The circuit is completed when the micro:bit P0 pin switches on the NPN transistor.

Step 1: Solder the relay and transistor to your PCB board.

Step 2: Solder the diode across the relay DC power pins to protect the micro:bit from stray voltage when the relay coils switch. The negative side of the diode (grey line) should connect to the relay DC positive power in pin.

Step 3: Solder one jumper wire to the relay DC positive power in pin. Connect an alligator clip between this wire and the micro:bit 3.3V output pad.

Step 4: Solder another jumper wire between relay DC power out (GND) pin and the transistor collector pin.

Step 5: Solder the third jumper wire to the transistor emitter pin. Connect an alligator clip between this wire and the micro:bit GND pad.

Step 6: Solder your resistor to the transistor base pin. Connect an alligator clip between the other end of the resistor and the micro:bit P0 pad.

Step 7: Remove 1/2″ (2 cm) of insulation from the 14 gauge wire on both sides. Solder one wire to the relay NO (normally open) pin and the other wire to the relay COM (or coil 2) pin.

Step 8: Cut the extension cord on one side only, and remove ~ 1/2″ (2cm) of insulation from side of the cut wire.

Step 9: Grab the 14 gauge wire and slide a piece of heat shrink tube onto each wire.

Step 10: Line up one end of the 14 gauge wire with one end of the extension cord wire, then twist the metal together. Secure the heat shrink tube with your fav. heat source (e.g. lighter, hair dryer, etc.). Repeat for the other wires and heat shrink tube.

Note: Orientation of the AC wires does not matter.

Code it: Magical Receiver!

Time to code our magical receiver!

Step 1: Set Radio Group to the same number as for the Wand Controller.

Step 2: Pull out a “on radio received” block and set it to “receivedNumber” (or “receivedString” if you used that for your Wand Controller).

Step 3: Drag a repeat block into the “on radio received” block and switch it to repeat 2 – 4 times.

Step 4: (Optional but recommended) Show an icon on the micro:bit to let you know if it received the string.

This is super duper helpful if/when you are debugging.

Step 5: Turn on Digital Pin 0! (aka “digital write pin P0” to 1)

This block is found under the “Pins” block under the Advanced tab.

Step 6: Pause for a few seconds.

I chose 2 seconds, you can keep this or adjust as desired.

Step 7: Turn off Digital Pin 0 (“digital write pin P0” to 0) and the micro:bit display.

Step 8: (Optional but recommended) Add a back-up trigger using micro:bit button A for testing and debugging purposes 🙂

Voila! Download the code onto your Magical Receiver micro:bit and we’re ready for the magical prop!

Test & Debug!

And now, for our favorite part: testing!!

Power up your micro:bits (via battery or microUSB), plug in the extension cord and plug the fan into the extension cord, then move your wand controller to check that the magical receiver turns on the fan.

When you are done testing, coat the magical receiver connections in hot glue to hold them in place. If you want an ultra-permanent solution, use epoxy (waterproof is a nice bonus feature). Recommended to avoid covering the micro:bit in glue so you can use it for future projects.

Not working as expected?

1. Power is the most common issue for makers of all experience levels. Double check that all the things are plugged in. Use the micro:bit controller quick trigger to test that the receiver shows the “got message” icon.

2. Fan not moving? When the relay switches, you will hear an audible click. Use the micro:bit controller quick trigger and listen for the sound.

I did notice that the micro:bit 2xAAA battery pack was insufficient power to trigger the relay. I ended up just using the microUSB cable but a 3xAAA battery pack should also do the trick.

3. Use a multimeter to check continuity of your solder joints and, if necessary, voltage across the relay DC coils.

Build your magical prop!

Now that you’ve tested and practiced your magical tech abilities, you’re ready to build your magical prop! Use gloves to hide the micro:bit wand controller + battery pack.

For the magical receiver: Where do you want to put the feather and how can you hide the fan?

For my demo, I just hid the fan off camera (shhhhh don’t tell!!), but if you are doing your magical performance in-person you can build an enclosure to hide the fan. I found that window screen mesh worked great to help hide the parts while still letting air flow through.

Want to do other kinds of magic? You can build different types of props! This same setup will work to turn on any low-power AC device like speakers or a screen! Just be sure that the maximum current draw is less than 5A.

Go forth and be magical!

Heck yes, wizard level: intermediate!! Practice your gesture so you can really impress all the people. And of course, teach others how to do this technological magic!

Leave a comment if you need some help, have any questions, or to show off your creations!

Happy making, friends!

micro:bit magic wand (Beginner)

 

While it is a bit tricky for us non-magical humans to levitate objects with our minds, words, or wands, we can use technology to do (basically) the same things!

This project uses two micro:bits, a few small electronic parts, and some everyday objects from around the house to create our very own magical wand.

I went for the Wingardium Leviosa spell, but you can most certainly adapt this project to cast other spells 🙂

Difficulty: Beginner+ (a lil’ bit of experience w/ coding and circuits is helpful)

Read Time: 10 min

Build Time: ~ 2 hrs

Cost: ~ $35

Materials

  • Wand!
    • You can purchase custom wands or make your own! Find a suitable stick and add some flair (or leave it bare!), or get creative and make one out of things you can find around the house!
  • Feather (for floating!)
  • Glove (for hiding the micro:bit wand controller)
  • Aluminum can
  • Small piece of cardboard (~ 2″ x 2″/5cm x 5cm)

What are we doing??

One of my favorite scenes from the first Harry Potter book was when, after all of the other students are struggling, Hermoine makes a feather float with the spell Wingardium Leviosa. This simple spell captures the essence of why we love magic: that literally at the flick of our wrist and a few choice words, we can instantly make surprising (and impressive) things happen.

Although we don’t have exactly that kind of magic, we do have technology that sometimes seems miraculous. So that sort of counts!

By now you’ve probably guessed: To mimic my fav scene, I wanted to levitate a feather. For that, we can use the power of wind! For this beginner-friendly tutorial, I chose to use a small 5V DC motor with fan blades made from an aluminum can. You can imitate my design or, better yet, create your own!

This tutorial will show you how to do the following:

1. Write a simple block-based code for a micro:bit wand controller

2. Build a circuit to control a small, 5V DC motor

3. Write a simple block-based code for a magical receiver that is triggered with a radio signal (aka bluetooth)

4. Build a setup to make our tech really look like magic!

 

Code it: Wand Controller!

Let’s start with our magic wand!

Since this is a beginner-friendly project, we are using block-based coding on the Make Code website. If you have more experience w/ coding you can also program the micro:bit using micropython or C++ in your fav coding environment (e.g. Idle, Visual Studio Code, etc.).

Alright, let’s get blockin’!

Step 1: In the On Start block, set the Radio Group number. 

Pick a number you love and will remember, since we’ll also need this for the receiver.

Step 2: Decide how you want your wand to trigger action.

The micro:bit has an accelerometer which measures changes in acceleration in our three spatial dimensions: up/down, left/right, and forwards/backwards.

Quick solution: Use the “on shake” block! (Code 1, above photo)

More complex, gesture-based solution: Explore how the accelerometer works and observe the output as you make gestures (open the Arduino IDE Serial Monitor to see the output, if you need help with this check out this tutorial). Use your observations to set triggers. (Code 2 in the above photo)

The example in Code 2 is my attempt at a Wingardium Leviosa gesture: swish-and-flick! (down and left) Use it as-is or as a starting point for your own fav magical gesture!

Helpful Tips:

(1) Since microcontrollers process information super quickly, the pause block gives us time to finish the first part of the gesture before the micro:bit checks for the second part.

(2) I added axes labels on the micro:bit so I could more easily figure out how to get the right motion for Wingardium Leviosa spell — definitely recommend this!

Step 3: Use the gesture to send a radio number.

The “radio send number” block is found in the “radio” block set. Any (rational, real, non-infinite) number will work!

Step 4: Download and save the code onto the micro:bit!

The micro:bit power lights will flash as this is happening, when they are done flashing the code is finished uploading.

Build it: Magical Receiver!

Grab your second micro:bit, your breadboard, and all the fun electronic parts and pieces!

Step 1: Insert your MOSFET transistor into the breadboard.

Recommended to have the black part of the transistor facing you so that pin references in these instructions are accurate 🙂

Step 2: Grab one of your pin-ended alligator clips and connect it from micro:bit pin P0 to an open row in the breadboard.

Step 3: Connect your resistor between the micro:bit P0 wire and the MOSFET Gate pin (leftmost pin).

Step 4: Connect a pin-ended alligator clip between micro:bit GND pin and the MOSFET source pin (rightmost pin).

Step 5: Using your two remaining pin-ended alligator clips, connect the motor leads to two open rows in the breadboard.

Step 6: Connect your jumper wire from one of the motor wires to the MOSFET drain pin (middle pin).

Step 7: Connect your diode across the motor terminals so that the negative side (w/ the stripe) connects to the remaining motor wire (yellow wire in photo).

Step 8: Connect the negative (black) battery lead to the MOSFET source pin (same row as micro:bit GND).

Step 9: Connect the positive (red) battery lead to the remaining motor wire (yellow wire).

Code it: Magical Receiver!

Step 1: Set Radio Group to be the same as for the Wand Controller.

Step 2: Pull out a “on radio received” block and set it to “receivedNumber”.

Step 3: Drag a repeat block into the “on radio received” block and switch it to repeat 2 – 3 times.

Step 4: (Optional but recommended) Show an icon on the micro:bit to let you know if it received the string.

This is super duper helpful for debugging.

Step 5: Turn on Digital Pin 0! (aka “digital write pin P0” to 1)

This block is found under the “Pins” block under the Advanced tab.

Step 6: Pause for a few seconds.

I chose 4 seconds, you can keep this or adjust as desired.

Step 7: Turn off Digital Pin 0 (“digital write pin P0” to 0) and the micro:bit display.

Step 8 (Optional but recommended): Add a back-up trigger using micro:bit button A for testing and debugging purposes 🙂

Voila! Download the code onto your Magical Receiver micro:bit and we’re ready for the magical prop!

Let’s make wind!

Let’s make a wind generator!! AKA a fan 🙂 Turn on a hot glue gun and grab your scissors, permanent marker, aluminum can, and some cardboard.

Step 1: Carefully cut out a rectangle of aluminum from an empty can and a small circle of cardboard about 1/2″ (1 cm) in diameter.

 

Step 2: Print out the paper fan template above at 50% to scale. Cut out one of the fan blades and trace it five (5) times onto the aluminum foil.

Step 3: Carefully cut out the aluminum fan blades and glue onto the cardboard circle at equal intervals.

Step 4: Glue the motor mount onto a piece of cardboard (I also added “legs’ made of wooden dowels to make it easier to connect the alligator clips).

Other options:

  • Use the motor drive shaft to spin objects or make some gears/levers to move things in different directions
  • If you connect micro:bit to speakers, it can also play sounds!
  • Start with something simple and play around to find something that makes you feel magical.

Test all the things!

And now, for our favorite part: testing!! Power up your micro:bits (and connect the battery) and move your wand controller (or use the quick button trigger) to test that our magical receiver moves the motor.

When you are done testing, coat the magical receiver connections in hot glue to hold them in place. If you want an ultra-permanent solution, use epoxy (waterproof is a nice bonus feature). Be careful to avoid getting glue (and especially epoxy) on your micro:bits so that you can still use them for future projects!

Note: When you first power everything up, the motor may start spinning without a signal. Trigger the wand controller and it should stop, then behave as expected.

Not working as expected?

Debugging is an almost inevitable part of building things, so congratulations! You are officially a maker! Here are some debugging tips:

1. Power is the most common issue for makers of all experience levels. Double check that the battery is properly connected and both the micro:bit power lights are on (those little yellow lights by the microUSB port).

2. Motor not moving? Be sure none of the wires or other objects are in the way.

3. Motor pulling the feather towards it rather than away? Swap the orientation of the motor leads. This will cause the motor to spin in the opposite direction and thus the air will be pushed in the opposite direction.

Make all the magic!

We’re basically wizards now! Use gloves to hide and hold the micro:bit wand controller and battery pack. Hide your magical receiver in a fantastical container to really impress all the people. I snagged a hollow book stack, cut a hole in the top, and glued my motor with the fan inside.

That’s it! Practice your spell and impress your friends with your new-found powers.

Questions, comments, creations? Leave a comment! Happy making, you magical beings!

DIY Custom Light Performance

The motivation for this project was to create a controller that allows users to “play” light like it is an instrument with gesture control, custom visuals, and brightness/speed dials.

Considering how pricey consumer light controllers can be (often $100 bucks or more- not including the lights!) we decided to make a cheaper, more customizable solution! One aspect of this project that we were particularly excited about was the low barrier to entry. Most users pick up the controller in 2-3 songs, unlike other light toys (gloving, poi, ect) that require a much larger practice investment.

Here is our approach, you are welcome to use as-is or modify the project for all of your wild and wonderful needs!

Build Time: 2-3 hours 

Estimated Cost: $80 of materials

Project Materials

Case/Mounting Board (I used a wood box from a craft store)
Seeed Grove Sound Sensor v1.6 (Optional- Not used in this version)
Addressable LED Strips (2-3)
Rotary Potentiometer (2)
Digilent Pmod KYPD
Ultrasonic Rangefinder
Arduino UNO

Project Tools

Dremel
Soldering Iron
Hot glue gun

Build Overview

Design Considerations

One of the challenges with a project like this is the number of buttons it needs. Even in my more conservative designs, I wanted to have around 8 buttons to manage the different visual sequences, color palettes, and other mode selection. Wiring up that many buttons can be tedious and adds more points of failure. Additionally, the Arduino Uno board has a limited number of digital inputs. Luckily, the Pmod KYPD solves both of these issues!

The Pmod KYPD’s small form-factor allows it to fit neatly onto any baseboard without taking up too much space. I am using a free wood sample I got from my local hardware store as my mounting panel.

Electrical Schematic

Build Process

1. Start by connecting the Pmod KYPD to the Arduino Uno digital pins as shown in the above Fritzing diagram.

2. Next, wire in your potentiometers to Analog Pins A5 (brightness) and A4 (speed).

3. Attach the LED Strips to Ground and 5V, then wire both signal pins into Digital Pin 11.

4. Wire up the sound sensor to power and ground, and the white wire to A1 and yellow wire to A0.

If you do not have the connecting cable as a reference, the yellow wire is the outside one, and more documentation on the sensor is here. For the Ping sensor/Ultrasonic rangefinder Trig is on Digital Pin 13 and Echo is on Digital Pin 12 (in addition to power and ground of course).

5. The PmodBTN is wired to Analog Pin 0-4, along with ground and power.

Code

1. Download the 2.0_Code.

2. Activate the  FastLED and Keypad library (both found in the Arduino IDE library manager).

Keypad is not listed first when you search for it, you will have to scroll down until you find the one by Mark Stanley and Alexander Brevig.

3. Copy and paste the code into the Arduino IDE and click upload. Now it is time to play around with the board!

Note: Buttons 3 and 4 are attached to the ping sensor so try putting your hand over the sensor when you activate those visualizers.

Read through the code and our comments to see where you can make changes or add in new features. Have fun and feel free to expand this project to add more visualizers, sensors, ect!

More information

We updated the code and added more functionality, download LEDController_2 if you want the additional features. This code also requires the FastLED and KeypadUpload libraries.

In the new code the visualizers are:

  1. Flow
  2. Waterfall
  3. DoubleBounce
  4. Hand Bounce
  5. Levels
  6. Center Levels
  7. Blob
  8. AmbientSpots
  9. Segments
  10. Pulse

The numbers correspond to the visualizers and the letter to color palettes.

For the PmodBTN module, the effects are the following:

  • Top Right: Strobe
  • Bottom Right: Bounce Out (Double Bounce Single Sequence)
  • Bottom Left: Pause
  • Top Left: Not Set

Effects are temporary animation sequences that interrupt the current visualizer. They perform a single loop, then the current animation resumes. The one exception is the pause button, which requires you to unpause or skip out of it using a different effect.

Mechanical Design:

For our final version, we took a hollow wooden box from a local craft store and placed/traced out each component on the box. Then we dremeled a hole under the spot for the wires and set the Arduino inside the box. Finally, we mounted each piece with hot glue (after running the wires) and clipped the box shut with the metal clasp that came on it.

That’s it! Please let us know if you have any questions or issues and definitely share your creations with us!

Happy making!

(Quick & Easy) Micro:Bit Magic 8 Ball Costume

90s kids unite! And build this super fun, easy, and interactive costume!

Ask a (yes/no) question, shake the Micro:Bit, and it displays a fortune (obviously accurate) to your deepest most pressing questions, like what is life, how do we solve climate change, and why are pineapples so difficult to cut open. Except you’ll do a better job with phrasing your questions as yes/no 🙂

Anyway….

Here we go!

Read Time: 7 min.

Build Time: < 30 min.

Project Cost: $15 – $20

Materials

  • Micro:Bit 
  • 2xAAA Battery Case
  • 2 AAA Batteries (plus some extras if you plan to wear the costume for more than 3 hours)

… Seriously, that’s it!

Oh, and to make it all aesthetically pleasing and on point:

  • Cardboard (like a 4″ x 4″ square)
  • Blue Paint

Step 1: Program the Micro:Bit!

Step 1: Go to www.MakeCode.org and open a new Micro:Bit project.

Step 2: Write a program to display randomly generated messages of your choosing!

Need more info? Here’s a more detailed overview 🙂

Go to Variables and create a unique variable for each message you want to send (e.g. msg1msg2, …msg42, etc).

Go to Inputs and drag out the On shake block. In On shake, add “set item to” from Variables, then go to the Math blocks and connect the “pick random 0 to..Change the random number range (i.e. the 2nd number) to reflect the total number of messages you are showing (e.g. if you have 5 messages, the random number range is 0 to 4 because there are 5 possible numbers: 0, 1, 2, 3, 4).

Almost done! Add an “If – Then” from Loops. In the first if, set the condition to: item = 0, then display the first message (“show string” block w/ the variable name for your first message (e.g. msg1)). Recommended to repeat the message at least once ’cause scrolling letters can be hard to read! Repeat the if statement condition for each random number and message, and viola, c’est fini! You can test the code in the simulation on the left side of the screen by clicking the Play button and then Shake (:

When you’re ready, download the code, plug in your Micro:Bit, and then drag the (.hex) file onto the Micro:Bit drive. The code is loaded when the power lights are done flashing!

Step 2: Optional Triangle Cover

Step 1: Make a cardboard triangle & paint it blue!

For most accurate imitation, go for an equilateral triangle (geometry for the win, woot woot!).

Step 2: Cut a 1 in. x 1 in. (2.5 cm x 2.5 cm) hole in the center for Micro:Bit LEDs.

Step 3: Attach Micro:Bit on back of triangle w/ glue or tape.

If using hot glue, avoid the battery and USB connector.

Step 4: Wear it & Share it, pretty bby!

Attach the Micro:Bit (& cardboard combo) to yourself or your clothes! You can use velcro, tape, or hot glue (although probably avoid using this one on your actual skin..) Or make straps w/ string, twine, fabric, etc!

Put on your favorite black outfit & you’re done! Quick & awesome & comfy Halloween costume for the winnnn 😀

Feel free to ask any questions in the comments section. If you build this or a variation, please share your creations, I’d love to see what you make!!

Make a Minecraft Gesture Controller!

Move your body to play Minecraft! What!! Yes. Check the video for a demo 🙂

This tutorial will show you how to make your very own gesture game controller for Minecraft (or your other fav. computer game). Move your hand(s) to walk/run/jump, look around, and attack* all the things!

Let’s get started! Grab yourself a Circuit Playground Expresssnag my program code, and get shakin’ to play Minecraft in (srsly) the most fun way ever! 😀

Read time: 20 min

Build Time: ~ 2 hours

Cost: ~$30

*It is a biiiiit tricky to attack moving things (like monsters), so be careful in survival mode! Or use this to challenge your skills 🙂

Materials

Tools

  • Sewing Needle
  • Scissors
  • and a lil’ patience.. 🙂

 

Build the Glove Controller!

You can make the gesture controller without the glove, but the glove controller makes it easier to play, keeps the CPX in the same orientation (very important), and means you can use your fingers as added controls!

1. Cut rectangles of conductive fabric for the finger pads (~ 0.5 in. x 1 in.).

2. Use regular thread to sew the conductive fabric pads onto each of the glove fingers.

Suggested to use a highlighter or other pen to avoid sewing the two sides of the glove together (learn from my mistakes bbies).

3. Attach CPX to the glove with velcro squares.

4. Use an alligator clip or insulated wire to connect the CPX ground (“GND”) to the thumb pad.

5. Stitch conductive thread from the CPX capacitive touch pads (A1, A2, A3 & A4) to each of the four fingers.

6. If you have a multimeter, check continuity between the CPX pins and the conductive thread pads.

Plan out your controller!

 

First! What do we need to do to control Minecraft (or another awesome game)?

This is a super helpful & fun lesson in Design Thinking, but you can skip this if you want to just use my controls. You can always come back here later if you want to make changes later 😀

1. Determine (crucial) game controls.

Note: Start simple! Figure out the most important controls for the game and start there. You can always add more later.

Here are the controls that I wanted to use while playing Minecraft.. in creative mode 🙂 (you can use the same ones or customize your own controller!):

Movement:

  • Walk forward: W key
  • Run: Ctrl + W
  • Jump: Space bar
  • Look Left & Right: Mouse rotate
  • Walk backward: S key

Actions:

  • Attack: Mouse Left Click
  • Place Block/Push/Open: Mouse Right Click
  • Inventory: E key
  • Escape: ESC key

2. Decide how you want to use gestures and/or the finger pads to trigger these controls. Recommended to sketch out your plan.

Here is my design thought process:

I’ve always wanted to feel like I was actually *in* a game, so I went the “cheap VR” route and used gestures to control basic movements. For walking, I went the “let’s move my arms like I’m walking” route, which easily transitioned into running and jumping by increasing the speed of motion.

To make it easy to place a block or exchange items, I decided to use an “awkward handshake” motion.

Turning was a bit of a challenge, but my goal was to be able to look around by moving my hands in the direction I wanted to look.

Attack became the pointer finger pad, inventory the middle finger pad (which I ended up removing), Escape the ring finger pad, and the pinky finger pad to let me to walk backwards.

Again, you can keep these same controls or design your own 😀

Let’s get programming: Set up the CPX!

1. If you’re using Windows, download the Adafruit Windows Drivers here.

2. Download & save the latest CPX Circuit Python UF2 file.

3. Plug in the CPX with a USB cable (make sure it has data transfer capabilities).

4. Double-click the reset button on the CPX.

The LEDs should turn green. If they are red, it means something is wrong with data transfer to the CPX — check the USB cable, try another USB port on your computer, or try the trusty “unplug and plug back in” method.

5. On your computer, you will see a new disk drive called “CPLAYBOOT”.

6. Drag the CPX Circuit Python UF2 file onto the disk drive.

7. The “CPLAYBOOT” drive will disappear and be replaced with “CIRCUITPY”.

 

Add all the libraries!

Libraries let us access all sorts of special functions for the CPX without having to do a ton of programming.. hooray for open-source! This install will download most of the standard Circuit Python libraries* so peruse them at your leisure to learn about more cool things you can do!

1. Download and save the Adafruit Circuit Python Library Bundle Release from here.

2. Unzip the folder, open the first folder, and copy the “lib” folder onto the “CIRCUITPY” drive.

*It is unlikely that you’ll run out of space since the CPX comes with at least 2MB of Flash storage. But, if you do end up needing more space, you can revisit the libraries and remove the ones you don’t need. If you mess ’em up, just copy and paste the lib folder again.

 

Writing the Controller Code

The CPX has an on-board compiler, which means you can program it in (pretty much) any language you want! I opted for MicroPython, a version of Python for microcontrollers, ’cause Python is awesome.

Read this step if you want to understand how the program works (definitely suggested) or if you want to modify the code.

Here’s the GitHub repository that has the full code.Download it, drag it to your CPX, and rename the file “Code.py” (here’s the raw code if you want to just copy & paste).

1. To do the things I mentioned in the last step in MicroPython, we need the following libraries:

  • LIS3DH accelerometer

    • This allows us to use motion to trigger various things.
  • Human Interface Device (“HID”) keyboard

    • This library allows us to control the keyboard!
  • HID mouse

    • This library means we can control the mouse!
  • CPX capacitive touch
    • This library lets us use the capacitive touch feature on the CPX, hooray!
  • A couple of other libraries to make our lives easier: timebusio, and board.

2. Configure and initialize the libraries.

Assign variables for the keyboard, mouse, and accelerometer objects. Select a range for the accelerometer.

3. Write short functions for each of the controls.

The motion controls can be tricky. Do some initial testing with the accelerometer by printing the values in a serial monitor (in the source code, go to the __main__ function and uncomment the two debugging lines). This will help you to determine thresholds for walking, running and jumping, looking left and right, and placing objects.

The touch pad triggers are much easier as you are only looking for a capacitive trigger (True/False).

Remember to release all of the keyboard and mouse keys at the end of each function!

Debugging: Seeing what’s up the CPX program

If you’re familiar with Arduino, you’re probably familiar with the Serial Monitor. The CPX has the same feature with a slightly different access point depending on what program you are using.

If you are using Mu it’s super easy: the serial console is built in and will automatically detect your board, yay!.

If you are using Idle or another program, follow these steps:

1. Download PuTTY* here.

2. Go to Windows Device Manager and check the serial port number for the CPX (e.g. COM18) — see Photo below.

If there are multiple serial ports listed, unplug the CPX and plug it back in to see which one disappears then reappears.

3. Open PuTTY and select “Serial”.

4. Enter the serial port number (e.g. COM18) under “Serial line” and the baud rate of 115200 under “Speed”.

5. Click Connect! 

*PuTTY is a free and open-source SSH and telnet connection program.

 

Test & Improve

Load the program onto the CPX by dragging and dropping the python file onto the CIRCUITPY drive, then rename the file as “Code.py”

Like pretty much every project, this one will likely be a little wonky when you first get it running. If the touch pads are acting strange, reset the CPX (this recalibrates the capacitive input pins).

Test 1:

– Open up the serial monitor with PuTTY and run the program (CTRL + D)

– Test each of the movement controls (you’ll see the mouse moving on the screen and make sure the program doesn’t crash as well as the touch pads (which should display relevant text on the serial monitor).

Test 2:

Deploy in Minecraft creative mode! Test the movement and action controls to see if anything breaks or doesn’t work as expected (plz keep in mind that this is a prototype)

Update the program based on your testing. Remember, it’s OK if it’s not perfect, there’s always time to make it better!

 

Have all the fun!!

You’re ready to run through Minecraft!! Just be wary of monsters, it might be a bit tricky to protect yourself..

Supplementing your gesture controller with a keyboard is a good idea if you want play for reals 🙂

Please like and/or leave a comment if you enjoyed the tutorial! And of course, let me know if you have any comments or questions!
Happy Building!

<3, jenfoxbot

Build an (easy) Floor Piano!

The household floor piano is a dream no more! The Makey Makey microcontroller makes it super easy (and affordable) to build your very own “foot-strument” out of common household materials.

Grab a Makey Makey kit, some cardboard, and your musician shoes and let’s get building!

  • Difficulty Level: Easy
  • Estimated Build Time: 60 minutes
  • Cost: $50 (for Makey Makey kit)

 

 

Materials & Tools

Materials

  • Makey Makey Kit
    • 16 Breadboard Jumper Wires
    • 4 Alligator Clips
  • Cardboard
  • Aluminum Foil
  • Plastic Trash Bag (stretchy is best)
  • Duct Tape

Tools

  • Scissors
  • Hot Glue Gun
  • Measuring Tape or Ruler

 

Build the Piano!

1. Build the piano base.

Cut a cardboard base for your keyboard, then divide it into 8 equally sized rectangles — these are the dimensions for your piano keys!

2. Make the piano keys!

Cut out 8 cardboard rectangles using the base dimensions and paint them white.

3. Build the key triggers for the piano.

Cut 16 cardboard rectangles of equal size or smaller than the cardboard piano keys.

Repeat the following for each pair of key triggers:

  • Cover both cardboard rectangles in aluminum foil.

  • Use copper tape to connect one wire to the aluminum foil on each of the key triggers, then cover the connection in duct tape to secure.

  • Cover one of the rectangles with a piece of the plastic trash bag so that the aluminum foil is completely covered. Secure with duct tape.
  • Sandwich the two key triggers together so that the trash bag is a barrier between the aluminum foil.

 

Connect to the Makey Makey!

1. Connect the wires to the Makey Makey – one of the wires goes to ground and the other goes to a keypad (doesn’t matter which wire).

2. Test that the Makey Makey is triggered when you put pressure on the cardboard.

3. Tape the key triggers to the bottom of the white cardboard piano keys. Secure them to the piano base with velcro or glue.

4. Connect one of the wires from each of the key trigger to the six header pins on the back of the Makey Makey board and to two of the arrow keys on the front.

5. Connect the other key trigger wires to the Makey Makey ground.

Recommended to connect the ground wires in two groups of 4, then use one alligator clip per each group of 4.

Write the Scratch Program!

We have 8 inputs, which means we can play an entire octave on our floor piano! (Yes, that was intentional).

Your job: Write a Scratch program that plays 8 successive keys starting at middle C (or wherever you prefer your piano octave to start) using the “play note” function. Or you can copy mine in the photo above 🙂

Aside from the program, just be mindful of what piano key is connected to what Makey Makey pin. It’s easy to get 8 wires a bit mixed up — consider labeling them to save yourself some time (& hair..).

Install & Play!

Consider coating the electrical connections in hot glue. Plug the Makey Makey into your computer, place your floor piano on, well, the floor, and have at it!

Enjoy making beautiful music by stomping on your custom creation.

Micro:Bit Puppet “Text Message” System

Intro

Nearly all of our wireless communication is done using radio waves*, including phone calls, text messages, and WiFi. With its built-in radio transmitters and receivers, the Micro:Bit microcontroller makes it super easy to build all sorts of projects with radio communication.

This particular project is a simple & quick way to send text messages between two Micro:Bit** microcontrollers – the sender writes a (short) message that is transmitted via radio to the receiving Micro:Bit, which shakes a lil’ puppet using a servo motor, and then displays the message on the Micro:Bit LED screen. Each Micro:Bit can be both a sender and receiver.

It’s sort of like a two-person Twitter.. if the tweet notified you via dancing cardboard robot puppet!

*Radio waves are long-wavelength light waves. Check out the electromagnetic spectrum here!

**A huge THANK YOU to Adafruit for donating the Micro:Bit microcontrollers used in this project for educational purposes! yayy thank you for supporting this educational endeavor!! 😀

Materials & Tools

Electronics

Puppet (or other Message Alert System) Materials

Tools

  • Hot Glue Gun
  • Scissors and/or utility knife (e.g. exacto knife)
  • Pencil
  • Ruler or other straightedge

Build the Incoming Message Alert Puppet!

Step 1: Build a cardboard puppet like the one shown in the photo or create your own! Use the paper fasteners to make joints.

Step 2: Build a mounting system to attach the puppet to the servo with skewers and cardboard.

I used a magnet to attach the puppet to the servo mounting system because magnets are awesome, but you can also use glue, tape, velcro, or a variety of other adhesives!

Step 3: Build a stand for the puppet.

  • On an approx. 6 in. x 12 in. cardboard sheet, measure, mark, and cut a hole for the servo body so that the arms of the servo rest against the front of the cardboard sheet.
  • Cut two triangles out of cardboard and glue them on the back of the stand so that the stand, well, stands upright!
  • Cut a hole for the Micro:Bit wires to thread through and add two pushpins on the front to hold the Micro:Bit.

 

 

 

 

 

 

 

Code the Two Micro:Bits!

To start, choose one Micro:Bit to be the sender and the other Micro:Bit to be the receiver. Once both are working as expected, add in the code for both roles.

Use the Make Code Micro:Bit website to program each Micro:Bit. As this is intended as a beginner project, the whole system can be built using the block-based programming language, although adaptations are encouraged and appreciated!

If there is more than one pair of Micro:Bits in the room (i.e. in a classroom setting), remember to set different radio group numbers for each pair.

The sender sends a (short) text based on user inputs over radio, like the example above. Pretty simple!

The receiver moves the servo when an incoming text is received, then scrolls the message text on the LED screen, like in the example below.

Press the reset button to stop sending/receiving the incoming message.

 

Connect the Servo!

Connect the servo red wire to the Micro:Bit 3V power pin, the servo black wire to Micro:Bit ground pin, and the servo white (or yellow) wire to the Micro:Bit input pin P0.

Send all the Messages!

Program both Micro:Bits to be both a sender and a receiver so you can communicate back and forth. Then switch power from the laptop to the battery pack and test out your wireless communication system! When the sender sends a message, the puppet will notify you to check the LED screen so that you can see the incoming message.

How far of a range can you get? Test it out!

There are tons of other extensions to this introductory project, here are some possibilities:

  • Add more message options by adding more inputs or changing how those inputs are read;
  • Instead of a table-top alert system, build a wearable alert system;
  • Send voice messages and/or other sounds.

Happy building!

Anti-Facial Recognition Wearable No. 1

Every time we leave our homes, we are photographed and videotaped in public and private spaces. Facial recognition software identifies our unique facial features and can be used to tag us in photos that are taken with or without our consent. This tutorial is about exerting our right to control our personal privacy. It is our choice and our right to decide if we want to be identified by cameras that photograph us in public and private spaces.

There are many approaches to anti-facial recognition makeup/wearables. This is my first approach based on some background research, chatting with fashion-minded friends, and my own personal artistic and electronic interests.

The purpose of this project is to make it more normal (& fun!) to wear privacy enhancing fashion so that if/when it is needed, folks who are using it for legitimate protection are not targets.

Follow along or use this as inspiration for your own anti-facial recognition wearables! If you design your own, pleasepleaseplease share it in the comments so other folks can learn from and be inspired by you!

Difficulty: Easy

Build Time: 1 – 2 hours (+2 hours for glove controller)

Cost: < $15

Quick Overview of Facial Recognition Software

Computer Vision, or “CV” for short, is a software method that breaks down images into a series of black and white pixels, and then attempts to extract meaning from patterns in the pixels. Since human faces have the same characteristics (two eyes, nose, mouth, & chin), these characteristics can be broken down into patterns that a software program can look for.

For example, pupillary distance, or the distance between the pupils of each eye, varies from about 54 to 68 mm for adults – a CV program would look for black pixels separated by that distance range and log those as one layer. There are tons of patterns that a CV program can search for and locate, then go back and analyze the layers together to ensure they match up. All of these values are stored as variables that can be used for comparison with other images.

The more images a CV program analyzes, the better it gets. By comparing CV-found patterns to patterns in existing photos tagged on social media, CV programs may also tag an individual regardless of where that photo was obtained. CV programs are incredibly accurate, can select a face from multiple angles and backgrounds, and can identify a person’s emotions.

Check out CV Dazzle to learn more about anti-facial recognition makeup and other styles!

 

Materials & Tools

Materials

Optional glove controller:

Tools

  • Liquid Latex
  • Scissors
  • Wire Strippers
  • Soldering Iron (recommended for glove controller)
  • Hot glue gun (or other fabric-safe glue)

 

Step 1: Attaching the Flowers

Use the flowers to cover up distinguishing facial features. Eyes, eyebrows, and nose bridge are three primary regions of the face that are used by facial recognition software to identify and tag a face.

1. Cut flower stems off (unless you want ’em on for aesthetic purposes).

2. Pour a small amount of liquid latex into a container.

3. Figure out where you want to put the flower, then dab the base of the flower into the liquid latex. Let it dry for a few seconds, until it feels sticky and less liquid.

Be sparring with this stuff, it can be kinda painful to peel off, especially after 30 flowers.

4. Attach the flower to your skin. BUT FOR REAL THOUGH avoid your hair!! It is a huuuge pain (literally) to get out.

5. Repeat 2 & 3 until your face is adequately covered.

You can check your progress using a Snapchat or Instagram filter: If the filter can’t find your face or looks wonky (like sunglasses on your forehead instead of your eyes) then you’re all set!

 

Step 2: Adding LEDs!

To add freestanding LEDs, grab a coin cell, and push the two LED legs over the coin cell battery sides (longer LED leg on the positive battery side). Dip one side in the liquid latex, let dry for a few seconds, and then smoosh onto your skin just like with the flowers (again, avoiding precious and sensitive hair).

If you’re using the glove controller (see next step), run the LED wires up your arm to behind your ear, holding them in place with rubber bands or hair bands. Arrange how you want the LEDs to point, then pin the wires in place with bobby pins. That should be sufficient to hold them, if not add some liquid latex to the ends of the LEDs.

The LED + coin cell combo should last ~ 12 hrs.

 

Step 3 (Optional): Make a Glove Controller

This is a good option if you want to save battery life or to be able to turn on/off the LEDs. The thumb is the battery case, with conductive thread on the top as the positive connection. The fingers are the positive connections for the LEDs.

This takes ~ 2 – 3 hours to build.

1. Attach wires to the LED(s).

Measure out two (2) wires per LED to span from your head, down your neck, and to your wrist. Add 3″ to this measurement to allow for movement. Cut wires and strip both ends.

Mark the positive side of the LED with a pen, then twist one end of each wire around the LED leads. Solder the LED leads to the wire. Use a red wire, or mark the positive wire with a pen.

If available, use heat shrink tube to make a poke-less connection. Or just coat it in epoxy or hot glue or some other liquid adhesive.

Repeat for each LED you want to add to the glove.

2. Using conductive thread, make the negative side of the circuit: a negative connection for the coin cell and a “ground bar” for the LEDs.

Put on the glove, and mark where the center of the battery will go. Sew about 10 layers of conductive thread over your mark — this is the ground connection for the coin cell battery.

With the thread still attached, sew down to the base of the glove and stitch back and forth until there are a few layers of conductive thread in a line — this is the negative connection for the LED connections.

3. Make a coin cell battery case on the thumb of the glove.

Cut out 1 square of regular fabric, and 1 square of conductive fabric.

Cut a small hole in the regular fabric and then stitch the conductive fabric square over the hole (with regular thread). Run over this a few times since the conductive fabric tends to fray.

Using normal thread, sew 3 of the 4 sides of the regular fabric over the negative connection for the battery, so that it makes a lil’ pouch for the coin cell. (You might want to sew down the 4th side a bit to hold in the battery, or use a safety pin).

4. Attach the positive side of one LED to a glove finger and make a conductive pad.

Sew the positive LED wire onto the glove (regular thread)

Still using regular thread, sew a square of conductive fabric over the stripped end of the wire.

5. Attach the negative side of the LED to the glove ground pad.

Wrap the stripped end of the wire to the conductive thread ground pad and/or use conductive thread to secure it.

6. Repeat 4 & 5 for all LEDs.. or until you run out of fingers.

7. Epoxy or use fabric glue to adhere all of the connections.

 

Step 5: Test & Deploy!

Test your privacy enhancing getup by opening Snapchat or another filter app and check that it can’t identify that there is a face in the image. At the very least, if it does identify a face, be sure that the filter it adds is hilariously broken.

If you want to get real serious, you can download the OpenCV library and test it against your wearable — this is my long-term goal, but for now I’m happy with sticking flowers and LEDs on my face for V1.0.

Stay tuned for more of these anti-facial recognition wearables and please share your awesome creations!

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