Companion Robots and Maker Faire Season!

I’m super excited for Maker Faire Bay Area / Mare Island and Mini Maker Faire Rocklin.1  I’m not just excited to see everything, but to show all the things I’ve been working on for a while now.  It’s also time to pick up all the little dev boards I’ve somehow accumulated and see if I can make anything with them to show off.

  1. Project Boards
    1. Wemos D1 Mini.  A small insanely cheap (~$3?!) WiFi enabled dev board2 , which has 4MB onboard and can run Arduino.  I think it can also run MicroPython, but I haven’t tested this yet.
    2. Wemos 600 Pico.  An even smaller, even cheaper (~$2 when ordered from China) WiFi enabled dev board that runs… MicroPython?  I think??  I’m saying “I think” because I haven’t been able to get it to do anything yet.
      1. Since starting this blog post, I found a guide on installing MicroPython on Wemos boards that seems promising.
        1. Flashing MicroPython on an ESP8266
        2. https://github.com/espressif/esptool/tree/master
        3. Arguing with Python to let me use “esptool.py”
          1. esptool -p COM13 -c esp8266 flash_id
      2. As promising as that series of blog posts looked, I eventually scrapped the Wemos because it was just too much of a pain to get going with MicroPython.  I think I could have made it work, but for $7 I could also just use the Adafruit QtPy I already have.  The advantages of simply uploading code over a USB cable into a virtual drive just can’t be overstated.
    3. Other Boards
      1. I have a bad habit of picking up dev boards.  I’ve got several Adafruit QtPy’s, several Adafruit Trinkets, an Adafruit FX Sound Board, Raspberry Pi Pico (non-WiFi), various Digispark boards, a small handful of ATTiny85’s, and an even weirder assortment of VERY small programmable circuit boards (ISD1806B-COB) designed to go in greeting cards (just 6 seconds), etc.
  2. Companion Robot
    1. Background.
      1. I started this post at least a month ago when I only had a vague idea of what I wanted to make and even fewer skills.  After seeing my kid’s companion robot take shape, I wanted to get in on the action and make my own.  I decided to make a really small companion robot with just some LED’s, piezo, and small microcontroller unit.  I’d taken a stab at making a companion robot a few years ago, but set it aside for a variety of reasons and never went back.
      2. The idea for this new robot would be something a little less ambitious, make more use of NeoPixels than in prior projects3, with a little more interactivity, trying out some CircuitPython, and… let’s be real… more pizzazz!
    2. Idea:  Friendly Cloud/Vapor/Flame
      1. I still really like the copper-toned PLA I’ve been using since it has something of a steampunk flair to it.  I settled on repurposing a small plastic enclosure with a clear dome as the “body” for the robot.  I wanted it to look something like a small entrapped / captive / domesticated4 sentient cloud of vapor or perhaps flame held within a steampunk enclosure.
      2. As a very small, inexpensive board that could run either Arduino or CircuitPython, I decided on the Adafruit QtPy M0.  It could run NeoPixels, there were lots of cool guides on it, plenty of pinouts, and could definitely fit within the confines of my enclosure.
    3. Enclosure:
      1. I started the enclosure by trying to design and 3D print a part to mate with the clear plastic dome.  It took a few tries.

        This slideshow requires JavaScript.

      2. Once I had that, I extended the base so it could hold more electronics.  I could definitely have shoehorned everything into the dome, especially if I took up some of the space inside the dome, but even with an “elevated base” it was still plenty small and could use a battery pack rather than a rechargeable lipo.
      3. Once I had a good design for the enclosure, I tried to make it work with an existing 3xAAA battery pack.  In the process I yanked off the connector and ended up soldering the battery pack leads directly into the circuits.
    4. Internal Electronics
      1. I’m just not a great electrical engineer and am still copy/pasting from various guides, tinkering, changing bits of code, swapping out parts, and using “close enough” resistors.  Wiring up some LEDs or a piezo to a project isn’t very difficult – it’s some of the more fiddly bits.
      2. Piezo Element Speaker
        1. I wanted to use a piezo buzzer/speaker because they’re large and incredibly thin.  They’re not without their downsides.  The crystal wafer is also thin and a little fragile.  The piezo buzzer without additional electronics has the potential to act as a knock sensor and can generate a high voltage spike which can fry a board.  And, without additional electronics, the piezo just isn’t very loud.  There are some libraries for the Arduino that basically double the volume of a piezo by connecting it to two pins and then running each opposite of the other, doubling the voltage difference, but they only work for Arduino chips.5
        2. After searching for various ways to increase the sound of the piezo elements, I settled on trying to use the Adafruit piezo amp.  I bought two – and tried desoldering the terminal blocks.  This completely ruined one.  The other one worked great, but for the modest volume gain it was just too big in an already cramped enclosure.
        3. After searching around, I found some amplifier circuits using a small number of common parts.6
        4. Then I tried building an amplifier circuit using an NPN transistor.  After reviewing the datasheets for my NPN transistors (and PNP transistors), and breadboarding the circuit with resistors, I sketched it a few times, laid it down with copper tape, soldered it in place with SMD resistors, then pulled it off and placed it onto a piece of Kapton tape and put another piece on top – “laminating” it in place.
      3. Capacitive Touch
        1. Buttons are great and all, but with a capacitive touch pad, I could add metallic elements to my robot rather than a much bulkier button.  I bought a few brass upholstery tacks because they looked great – but they just would not accept molten solder.  I ended up cutting the prongs short with wire cutters, wrapping the stub with copper tape, then soldering the wires to the tape.  I’d also added a little piece of heat shrink tubing over the connection to help keep it together.  It’s been working well so far.
      4. LED Animations
        1. As we know from Phillip Burgess‘ incredible “power sipping NeoPixel” guide, we can conserve power and increase the impact of the LED’s by reducing the number of LED’s, keeping max brightness ~20% for a disproportionately large impact, running fewer LED’s at a time, and even running fewer colors at a time.  Between Phillip’s work, Todbot’s guide, and the specialized QtPy NeoPixel guide by Kattni Rembor, I was able to put together a few neat animations.
      5. Piezo Sounds
        1. I had a heck of time getting the piezo buzzer to do anything interesting.  Fortunately, with my kid helped convert the piano music for “Paint It Black” into tones for me.  I haven’t gotten all the note timings right, but I’m working on it!
  3. Future Modifications
    1. More Accessible Enclosure.  Right now the “lid” with a hole for the LED ring just sits on the enclosure with a light friction fit.  One idea is a hinged lid, either with a conventional hinge or perhaps a hidden swivel hinge.  The problem with that, of course, is it requires even more internal space.  Other ideas include a ring on top that screws down, holding the top down and in place.  I’m crap at designing screw threads, so I’ve avoided this.

      Hinged lid for enclosure

      Hinged lid for enclosure

    2. Piezo Knocks.  Perhaps the next version will include some kind of tap / double tap / knock sensors using one or more piezo elements.
    3. Knobs.  There’s not a ton of room inside the enclosure, but by including a gear within a gear, I might be able to rotate part of the case and have it manipulate a potentiometer.

      Offset gear within gear, manipulating an off-center internal potentiometer

      Offset gear within gear, manipulating an off-center internal potentiometer

    4. Motors.  A robot that just flashes lights and makes a few beeps can still be pretty interesting.  However, I have some neat potential features that could be added with just one or two motors.  There are some interesting limitations with the current incarnation of this robot and using a QtPy.  I’ve only got 10 pinouts7 , 1 for NeoPixels, 1 for the piezo, 6 in use for the capacitive touch sensors, leaving 2 for other potential tasks.8  However, space is already tight so one or two micro servos would be a big space commitment.  I’ve seen some really tiny micro servos that might work, but I have no idea where to source them.  One silly idea is a “weapons system” using a spring loaded projectile activated by a very small servo.

      A small spring loaded projectile launcher, actuated by a small servo

      A small spring loaded projectile launcher, actuated by a small servo

    5. Creating Tone Library.  The basic piezo tones are easy enough to play, but including the entire list of tones and the frequencies associated with them seems eat up the poor little QtPy’s memory.  I think compressing them into a library might be the way around this issue.
    6. Playing WAV files.  WAV files are bulky, but that’s the only sound file format a QtPy M0 can play.  However, with the extra 2MB from the SPI chip installed, this shouldn’t be a huge problem.  I used Audacity to mix the sound clip down to mono then to 22 KHz sample rate.  My preliminary tests worked – but it was incredibly quiet.  I haven’t run it through the audio amplifier yet, but I’m planning to.
    7. Sleep / Deep Sleep.  Ever since I swapped out the tiny LiPo for a 3xAAA battery pack, I’ve had a lot more battery life, so adding sleep / deep sleep functions haven’t been a priority.  However, this inclusion just couldn’t hurt.
  4. Other QtPy and CircuitPython Resources
    1. Adafruit’s QtPy CircuitPython PWM resource
    2. TodBot’s CircuitPython tricks
Companion Robots: Building Robot Friends
  1. Cephalopod Robot Friend, the story so far
  2. Cephalopod Robot Friend Progress
  3. CuttleBot Body and OpenSCAD Design Tips
  4. An Assembled CuttleBot Body
  5. Building the Monocle Top Hat Cat for #MicrobitVirtualConcert
  6. Companion Robots and Maker Faire Season!
  1. I just got a notice they’re no longer a “Mini”! []
  2. pinouts for my future reference []
  3. LED goggles and a Marvel Universe inspired set of “Infinity Knuckles” []
  4. OMG dome-sticated?! []
  5. This is just my very basic understanding of how it works.  I’m entirely positive this is far too simplified. []
  6. And one very long article about using a lot of parts []
  7. 12 if you want to count the onboard NeoPixel []
  8. Or 4… []

Maker Faire 2018 – 3D Printing for Home Improvement

If you’re here checking out my site after my presentation, you can check out all the slides from my presentation above. If you’d like more information about the individual things in the slides, I posted an update for most of them over on Hackaday. If you’ve still got some questions, feel free to leave a comment below, hit me up on twitter, email me directly.

How to Make Awesome Cardboard Paper Mache Anything

Awesome Paper Mache Hats

Awesome Paper Mache Hats

A few weeks ago a friend of mine had a “bad movie night” where he was showing the film1Sharknado.”  Inspired by the theme for the party, I decided I had to wear a shark hat for the event.  After making my hat, my daughter requested a monkey hat.  This was not a request I could refuse.

I took pictures of the process to show you how you can make your own.  I haven’t ever tried to make paper mache hats before, so this was not only a lot of fun – but a great learning experience.  While I own the really great paper mache monster books by Dan Reeder, I only used them for inspiration and tried out a few new things on my own.

Even though I used this process to make hats, the directions here could easily be adapted to making anything out of paper mache.

1. Step 1: Gather Materials and Tools

All the things you need to make your own awesome paper mache anything

All the things you need to make your own awesome paper mache anything

Here’s what you need to get started:

  1. Cardboard Boxes.  Cardboard forms the “skeleton” of the structure.  It’s cheap, ubiquitous, sturdy, and easy to cut and form.
  2. Masking Tape.  Once the cardboard has been cut, liberal use of masking tape will keep your creation together until it can be covered with paper mache.
  3. Scissors and Utility Knife.  Scissors can be very helpful in cutting cardboard or paper.  While scissors can be helpful, and appropriate for kids, I find a utility knife gets the job done faster.
  4. Measuring Tape.  If you’re not making a hat (or other apparel or armor) you won’t need this.  But it is helpful when making measurements.  ((In a pinch, you could just use a piece of yarn or string to mark lengths, and then put the yarn on the cardboard for reference.))
  5. Plastic Wrap.  Whether you’re working with gluey paper or paint, the process is messy.  I would recommend covering the work surface with plastic wrap.  I happened to have a really large plastic bag, which I taped directly to the table.
  6. Glue.  I just used a big bottle of Elmer’s white glue from the hardware store, but I’m pretty sure wood glue would have worked as well, if not better.  It’s also more versatile and sturdy.
  7. Plastic Tray.  The next time you get take-out or have a plastic liner from inside some packaging, save it.  It makes a great wide tray for mixing water and glue or when your project is dry, it is also great for mixing paints.
  8. Paper Grocery Bags.  The “twist” with this process is that I used torn up grocery bags, rather than the traditional newspaper.  It turned out this was a really good idea for a number of reasons.  Paper bags are a cheap and plentiful material.  When thoroughly wet strips of paper bags are easy to place, mold and shape. However, the most important features of paper bags is that they hold glue and water really well and then dry quickly into a sturdy hard shell.  In fact, they form such a sturdy surface that I only had to do a single layer of paper mache around the entire hat.  This means that you can quickly put down a single layer of paper bag strips all over your cardboard form, wait a few hours for it to dry, and then get to work finishing the project.
  9. Paper or Newspaper.  While grocery bags work really well to cover your cardboard form, they can leave some small gaps where they overlap.  When I found gaps in the project, I simply used a few thin strips of the newsprint style paper to cover the holes and smooth out spots on the rough paper bag layer.
  10. Cup of Water and Paintbrushes.  An old mug is best and pile of cheap dollar store brushes is probably fine.
  11. Paints.  I prefer acrylic paints.  They are cheap, can be diluted with water, easy to mix, they stay wet long enough for you to blend, but not so long that you have to wait days for it to dry.  They also clean up well with water.

2. Step 2: Create Cardboard Form

Process for creating awesome hat

Process for creating awesome hat

The process I used to create the cardboard forms for the hats was pretty quick and easy.  I measured the circumference of my daughter’s head and then the distance from her ears to the top of her head.  Using these measurements, I cut out a strip of cardboard as tall as the distance from her ears to the top of her head and as wide as the circumference of her head – with a little extra to allow for overlap.

This slideshow requires JavaScript.

In the pictures above you can see the strip of cardboard cut out and then taped into a cylinder with the masking tape.

This slideshow requires JavaScript.

Cut strips into the cardboard cylinder, fold them down, and add enough masking tape to mold it into a hat-shape.

3. Step 3: Add Embellishments

This slideshow requires JavaScript.

A paper mache hat is way more interesting with some kind of embellishment, like ears, shark fins, wings, or whatever else.  Here I cut ear shapes out of cardboard, curved them slightly, taped them to hold the curve, and then taped them to the hat.  When I made the shark hat, I cut a long slit into the hat through the tape and inserted the shark fin through the underside of the hat.  Don’t be afraid to use a lot of tape.

4. Step 4: Prepare the Work Surface, Paper Strips, and Glue Mixture

This slideshow requires JavaScript.

Cover the work surface with plastic sheeting.  I used a big plastic bag from a helium balloon order from my daughter’s birthday.  However, a big garbage bag or plastic wrap would also work well.  Paper bags from the grocery store work really well – but there are too thick in places.  Tear off the handles and pull the paper bag apart at the seams.  You’ll probably need to discard some of the sections where the the paper bag is too thick to use.

Add some glue (I used about a tablespoon) and warm water (about a half cup or so) to the plastic pan.  It should look like milk or heavy cream once you’ve mixed it up.

This slideshow requires JavaScript.

Completely soak the strips of paper bag in the glue mixture.  They should be completely soaked all the way through until they’re nearly translucent.  Unlike paper mache with thin pieces of newspaper, you won’t need to put layers and layers of paper on the form – just one layer where the pieces overlap a little should work fine.  The excess glue from the strips of paper will soak into the cardboard and help make the entire structure sturdy.

5. Step 5: Set Model to Dry, Patch Holes with Paper

This slideshow requires JavaScript.

Since the cardboard helps soak up the water, the entire structure should dry relatively quickly.  I put the shark hat outside in the sun for a few hours and it was ready for painting.  Once the hat is dry (or dry enough), you’ll probably notice some holes and gaps from the paper bag strips.  Tear up some newsprint paper, soak those in the gluey mixture, and cover and smooth out any defects.  Once these pieces dry, the project will be ready to paint!

6. Step 6: Paint to Suit

This slideshow requires JavaScript.

The great thing about acrylic paints is that they are so easy to work with.  They dry really quickly, so you can paint one side of the model, work on the other side, and then come back to the first side to add details.  In any case, just paint the project to suit and you’re done!

Each hat went together really quickly.  I put the cardboard form together in about 15 minutes, covered it with the gluey paper bag strips over maybe 30 minutes, let it dry for several hours, and then paint it over the course of maybe an hour.

If you make your own paper mache hat (or other sculpture), let me know in the comments!

  1. And I use the word “film” loosely here []

Ideas for improvements on the Open Source Disc Shooter

Here are some of the ideas I’ve been kicking around:

  • A magazine1 that you clip in the front of the shooter.  When you clip it in it should depress a spring, or more likely, tension a rubber band.  When you press the button clipping the magazine in, it could actually eject the empty magazine.  That would be sweet.
  • Lower profile.  In looking at insides of the Tracer Guns, it looks like the only reason for the bulky barrels over a long thin slot is so the toy looks more like an actual gun.  I’d rather have an optimal design that uses minimal plastic than something that looks like a gun.
  • A variety of discs for maximum aerodynamics.  In the designs uploaded to Thingiverse I included 18 variations on a disc.  Perhaps some will fly or spin better than others.
  • Rubber band powered mechanism.  Rubber bands are easier to find, cut to size, and replace than metal springs.  It could also lead to a more compact design.

I’m sure other ideas will come to me.  I just wanted to jot them all down before I forget them.

Now that I have my chess set complete, it would be pretty cool to have a working OSDS prototype before Botacon.

Default Series Title
  1. Hey, Dave, happy??? []

DIY laser cutting

Peter Jansen's reciprocating laser concept

Peter Jansen's reciprocating laser concept

Peter Jansen’s latest post about selective laser sintering (SLS) is nothing short of amazing.  Most of his posts on the RepRap Builders blog posts deal with his adventures and research into SLS fabrication – basically directing a laser over a bed of powder to fuse powder in successive layers into a 3D object.  Since the object is being created in a bed of powder and any new layer is supported by the powder above it, the powder print media becomes it’s own support material.

His latest post diverges from his adventures with SLS 3D printing and details his efforts at building a DIY laser cutter.  His idea is for a “reciprocating laser” which would change the focal length or the height of the laser above the material being cut.  Peter points out that commercial high power laser cutters essentially brute force burn through the entire depth of the material to be cut.  They’re so powerful that it doesn’t matter that the laser is out of focus and “cooler” at different depths.

He has demonstrated a proof of concept using much lower power laser to cut material by lowering a much lower power laser as it cuts material.  The downside is that the lower power laser requires a much longer time to burn through the material – having to hit the same area several times at different depths to cut all the way through.  His proof of concept setup was about the size of a CD/DVD drive – since CD/DVD drives, motors, and housing provided most of his building materials.  So far he’s been able to burn through most of two CD case backs – about 2mm together.  He’s hoping to push it to cut thicknesses up to 3.0mm to 4.5mm.

The incredibly small size of his setup means that it can only very small pieces of material.  However, this gave me two ideas:

  1. If the low power lasers are so cheap, why not install multiple lasers at different focal lengths?
  2. If the entire setup is that small, what about making the entire setup mobile? 1  Think hexapod CNC mill.  If a laser cutter wheeled or hexapod robot was as small as a CD drive, you could conceivably just take out a large sheet of acrylic or thin plywood, set the robot in the dead center, and let it go. 2
  1. This reminds me of one of my favorite sayings.  “If Mohammed won’t go to the mountain, the mountain must come to Mohammed.” []
  2. The robot could stay oriented in any number of ways.  You could draw a grid on the material, the material could have a thin paper coating with LeapFrog style micro-dots that told the robot it’s location, you could project a grid onto the material with light or guide it with another laser like a laser guided missile. []

Sonic Screwdriver – first draft

Sonic screwdriver, first draft

Sonic screwdriver, first draft

To the right is a first draft print of my latest designs for the sonic screwdriver.  It’s next to a USB cable for scale and perspective.  There are several things I need to fix:

  • It’s too small.  I was guesstimating the scale based upon the size of hand holding the sonic screwdriver in one of the photos I saw.
  • Too much warpage.  I need to build my heated build platform.  :)  I’ve got my SMT1 soldering Toolkit, now I just need a hotplate.
  • Better connectors.  The connectors I designed are adequate, but not that great.  They need to be much larger to ensure a proper grip between parts.
  • Fix a connector.  I have a hex connector on one piece and a 16-sided connector on another.  That’s not going to work.
  • Consider changing the fit.  Some parts have a 0.25mm clearance on all sides between the male and female connections.  Other parts have a 0.5mm clearance instead.  I tried both on different sections so I could test the fit.  The 0.25mm clearance on all sides is fine for some parts, but other parts could use a little more wiggle room.
  • Change the thickness.  My earlier draft was a whopping 0.5mm thick all around.  I printed these parts at varying thickness to test their durability, flexibility, conserve plastic, and maximize internal space for future electronics.  A 1mm thickness seems to be the most optimal mix.

I’ve posted my sonic screwdriver designs to Thingiverse for people to tinker with and, hopefully, improve.  I would sincerely appreciate any help anyone can provide when it comes to designing the upper half of the sonic screwdriver – especially the moving parts.

  1. surface mount technology []

Design-print fail

I’ve been slowly working on the design of a printable (and fully MakerBottable) sonic screwdriver.  This model of the sonic screwdriver is built up of a number of concentric cylinders, has several significant overhangs well in excess of 45 degrees, and is larger than the MakerBot’s built capacity.  In order to deal with these design problems, I modeled it in sections.

In order to make the overall result something I could just pop/snap/slide together I designed it making some sections which were split vertically and other sections which slide around those sections to keep them together.  In order to make the parts quickly printable I designed all the parts at around 0.5mm thickness.

About 40% of the way through the print one of the vertical sections wasn’t coming out properly – probably because it was too thin.  The parts were too thin and flexible and ended up tearing between layers and just being too flimsy.

I also noticed something odd – the extrusion was too thin on that side of the model.   I can’t be sure why this is happening – but I suspect it’s due to the extruder not getting a good enough grip.  Perhaps I need to floss the extruder pulley or install a new extruder idler wheel.  However, it doesn’t explain why the extrusion was too thin on just that one side and no other spots.

Suggestions?

3x2x1 Rubik’s Cube assembly pictures

The design should be pretty intuitive.  However, I went ahead and took some pictures of the assembly anyhow.

As I mentioned in an earlier post, I think this one came out really really well.  :)