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 (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!

Scientists discover a way to send low energy and long range wireless signals!

Whenever your phone rings or you get a text message, radio waves carry that information, whether in the form of a voice or letters, across vast distances. Different forms of wireless communication use different types of radio waves, which are differentiated by their wavelength and frequency. Cellphone radio waves can travel far, but eventually they lose energy. To make sure that you get that very important text message, cellphone service providers amplify the signal with radio towers. But, some radio waves can travel even farther, like “very low frequency”, or VLF radio signals can travel miles, through air, land, and even water! This method of sending wireless signals is a great way for aircraft and submarines to navigate and communicate.

The catch with these low frequency signals is that creating an energy-efficient signal requires an extremely large antenna, often more than a kilometer long! This requirement limits the uses and practicality of these low frequency signals.

That is all about to change (insert obligatory dun dun dunnnnnn!!!):

Mark Kemp of of the Standard Linear Accelerator (SLAC) and his collaborators have been trying to build a low-energy and long-range radio antenna. In other words, they are trying to have it all.

Kemp and collaborators successfully built a long-range antenna prototype (pictured right) by using a creative approach: rather than using metal as is traditional for antennas, this collaboration used a material that expands and contracts to generate a radio wave. This allows a much smaller antenna that is able to be portable and long range!

We are excited for the possibilities of improved low-energy and long-range communication, particularly in remote areas, as it improves connectivity, safety, and access to services.

To learn more, you can read a more detailed summary of the prototype here: https://physicstoday.scitation.org/do/10.1063/PT.6.1.20190530a/full/

Or read the original published paper in the journal Nature: https://www.nature.com/articles/s41467-019-09680-2

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!