Category Archives: projects

Arduino Robot Class preview

I’m teaching an Arduino Robot class June 29 from 6-8pm at YouDoitElectronics in Needham, Ma. The cost is $99 and you get to take home the robot you build. I’ll show you how to use an Arduino to control DC motors, and read sensors to react to the environment. The robot we’re building will have a sonar sensor for distance, and two line detectors for following a line.
To register email your name phone number and number of participants to events@youdoitelectronics.com. Please include Arduino Robot Workshop in the subject line. You will receive a call back within 1-2 business days. Fee is required at time of registration prior to the start of the workshop. Once registration and payment are complete a reservation confirmation number will secure your spot.

Interactive Wall at the Duxbury Free Library

I was Maker in Residence at the Duxbury Free Library in August, where I worked with Teens and some adults to create an Interactive wall for display at the Library.

I met Teen Librarian Ellen Snoeyenobs at the first Make a Makerspace conference at the Artisan’s asylum several years ago, and we’ve been collaborating on bringing more maker activities to her library over the last 2 years. She has an excellent blog reflecting on their successes, failures, and tips : http://librarymakerspace.blogspot.com/

She has her own excellent video here:

Lessons learned

  • Something for everyone. There are art activities for those who won’t go near tech stuff, and plenty of wiring and coding for the techies. Girls, boys, adults alike found something to do.
  • Drawing on skills learned in the past helps to get things done. We did one session on Arduino at the beginning, but in the end, those who already had Arduino experience ending up contributing most in that area.
  • Include a variety of activities. Kids who liked 3D printing and design did various bits to glue on, and use, including a spider that goes up and down. The 3Doodler was used a lot to add decorative elements, as well as enhance some of the 3D prints. And of course, Arduino brought it all to life.
  • Think Off the Wall. Ellen was originally inspired by an interactive wall she saw at MIT. The library, however, wasn’t too keen to be hacking into their existing walls. Ellen came up with the idea of a portable partition, and I helped select one (made of poly-carbonate) that we could drill. It had the additional advantage of being semi transparent, so we could mount our fireflies (addressable LEDs,) behind the wall.
  • Surprise learning. There were all sorts of bonus learnings, including how to scale a drawing up using a grid!

Technology

  • The library had previously received a grant that enabled them to buy a bunch of Spark Fun Inventors kits. We used velcro to attach the Redboards and their attached breadboards to the back of the wall.
  • We used a PIR motion sensor to trigger the bird moving, and cheap Chinese HC-SR04 ultrasound distance sensor to light up the peacock’s tail as you waked closer.
  • WS-2812 LED strips provided bling for both the peacock’s tail and the fireflies.
  • Birdsong was provided by a Sparkfun MP3 Shield
  • Movement was done with micro servos, and one continuous rotation servo from parallax.
  • The shifty eyed fox was implemented by a great design from Dampboot on Thingiverse

Come see it!

Our Grand Reveal of the Arduino Interactive Garden Wall will take place on
Thursday, September 10th at 4 p.m. on the Upper Level of the Duxbury Free Library.

We’re hoping some of the Teens as well as adults who had a hand in making it will talk about the experience.

1-Macguyver Vs 5C

MacGuyver Copter Part 3: Success!

If you have been following along, in Part 1 and Part 2, I was trying to build a simple, cheap and easy quadcopter from spare parts. Well, the simplest methods failed, time to get out the laser!. Acrylic isn’t the best material for a quadcopter frame. It’s relatively heavy, and fairly brittle. but it’s  easy to cut in a laser cutter, which I happen to have, courtesy of Wyolum.com.

20150721_215248

Did it work? Well, it didn’t flip over, but started spinning a bit in place.  When I picked it up with the props going, some of the air was blowing up! I somehow got the ordering and placement of the motors wrong. I cracked open my original X5C (wow, that’s a lot of screws!)

I fixed the wiring, and then it flew! About 6 inches off the ground! I noticed that the props were rotating about 1/4 of a rotation over the body which means a lot of backwash, but the main problem is revealed when I weighed it.

The original Syma x5C with camera and battery weighsin at 97 g.

Version L1 of the MacGuyver Copter: 122g. Flew about 6 inches above the ground.

I created a new version with more or less rounded rectangle arms, and a circular central platform. I was worried because acrylic is rather brittle, and I wanted it to be strong.

20150722_174826-001

Version L2 of the MacGuyver copter weighed in at  106g. Flew relatively well, but inertia was killer on flips(lots of altitude loss), and battery runs down very quickly. After about 5 minutes, it was again hovering at 6 inches.

Although we think of plastic as light, acrylic is fairly heavy so I tried some plywood. All I had on hand was some 1/4 inch cheapo birch plywood from home depot.

20150722_180330

 

I forgot to record the wieght of this one (I think it was between 100 and 110 grams), but it worked quite well. The only problems were that my cutouts came a little close to the edge, and between the cheap plywood (voids) and those thin areas, one of the arms broke in a crash.

The final design simplified the cutout to be a triangle and weighs in at 84g, compared to the x5, without the camera or battery door at 88G. There are probably lighter, equally stiff materials, but this is pretty easy to do.

1-MacGuyverV3

Flys fantastic, at least to my feel It seems better than the stock version without the camera. Even though it’s less “aerodynamic, I think it handles better in a light breeze than the original, probably due to less surface area.

Here’s a (pretty bad) video of it’s flight. Trust me, it’s fun!

I also cut a frame out of 1/8 inch acrylic, but it was way too bendy, and wouldn’t take off. I think the props tended to thrust up, and bend it toward the middle, and the IMU (Inertial Management unit) couldn’t figure out a way to get enough power out to get it in the air.

 

droobot-active

Droobots: 3D printed Bristlebots

3D printing Bristlebots gives you lots of creative options, and here’s a new way to create the bristles, or legs of the bots. More details follows the video, and the source code is at: https://github.com/osbock/droobots

Mark Peeters, came up with a clever idea for making lacy  fibrous flowers with a 3D printer, by taking advantage of FDM’s greatest weakness: the need to support overhanging structures.

drooloop-group1 kopieTurning them over in my hand, I had the insight that they could be perfect bristles! I fired up OpenSCAD and started designing a simple bot:

The trick is that you have to let them droop down, so you have to have something in the center to hold it up, and have the legs be unsupported. I designed in support material for the body.

droobot-scad

It’s tricky if you make the support walls to thin, the slicer may ignore them. Too thick and it’s harder to remove. This version works fairly well, but is a little too heavy for my taste.

 

I use Cura, and I was thinking about how to use it’s native support which is very thin and easy to remove. There is an option for printing support material only when there is an overhang  on the baseplate. I put thin (.4mm) rectangles under the legs, but not under the body:

droobot-needs-supportThis works out quite nicely, and gives a speedier print.

cura-suportThe other thing that’s helpful is to turn off the fan during the leg creation. You can either use the “Tweak at Z” plugin, if you use Cura, or edit the Gcode.  I located the layer where the legs started and  inserted an M107 (stop fan) command, and then when it was on a layer above, add M106 S255 (fan full on)

After printing, I use a hot air gun to soften the legs to press them down more to a right angle. This give a more energetic movement than the splayed legs right off the printer.

You can also experiment with trimming them with scissors.

Last but not least, I imported the basic STL into tinkercad, and added a head and tail for a little more pizzazz!

tinkered-droobpt

 

 

 

syma-parts

MacGuyver Copter Part 1

You see a ton of projects on the web where they stick some motors on some sticks, and viola! a quadcopter. Thing is, those motors and full featured flight controllers are expensive. I wanted to try to scratch build a quadcopter from super cheap spare parts from the Syma X5c.

New Version Syma X5C 2.4G 6 Axis GYRO HD Camera RC Quadcopter RTF RC Helicopter with 2.0MP Camera By E-Trade Deal
Syma X5 X5c Quadcopter Full Part Set 4*motors Propellers Landing Skid Protectors Motor Base

 

Instant Party for Arduino Day!

You Do It Electronics in Needham asked me to help out with their Arduino Day celebration on Saturday March 29, and I wanted to make a nice Arduino demo that uses parts that they sell, relatively simple, and Fun! You Do It also sells DJ and disco equipment, so I thought what would be better than Arduino controlled Disco lights and Music?

Here are the Parts I chose:
Sparkfun Motion sensor (to trigger the Instant Party)
Sparkfun MP3 Shield
Arduino
Sparkfun proto-screw Shield (to make it easy to hook up.)
Power Switch Tail – turn on the disco lights

You’ll also need a micro-sd card and some music. I chose some Creative Commons Techno from Soundcloud:

https://soundcloud.com/captain-karacho/city-17
https://soundcloud.com/captain-karacho/brainwreck

First, we need to find out what pins are in use in the MP3 Shield so we can figure out where to hook up the motion sensor and power switch tail.
The easiest way to do that is by looking at the schematic, or this page at Sparkfun: https://learn.sparkfun.com/tutorials/mp3-player-shield-hookup/hardware-overview
MP3 Shield hookup

Digital Pins 5 and 10, and Analog Pins A0-5 are all free.

I used the analog lines because they are close to the power and ground pins for both the power switch tail and the PIR motion sensor.

Because the PIR output is open collector, I use the internal pullups on the Arduino.

Git the code here: https://github.com/osbock/InstantParty

 

EL Wire workshop

I did a couple of EL wire workshops at the Newton Free Library yesterday. It was a great time, and I think everyone left quite happy. Here’s how I prepared, and what we learned during the workshop.

If you aren’t familiar with EL-Wire, or Electro Luminescent Wire, it’s a plastic coated wire that lights up when fed a fairly high voltage (~100V) high frequency AC signal of about 1000hz. (There’s a little more to it, check the wikipedia entry for a nice diagram of the internals…)

I ordered 55 Units that each had 3M of elwire, prewired, and a control unit that runs off of two AA batteries. I got them from an ebay seller (Sure Electronics) in order to get a good price. You can also buy them from domestic sellers like Sparkfun, but they end up being about 2x the cost. It’s good if you can talk to the Seller, as Sure told me that they sold two types, a less expensive one that was dimmer and a more expensive one that is brighter. I’m not entirely sure which one I got! The different colors were definitely different brightnessEL-Tie, with Greenish yellow being the brightest, and red/pink being quite dim in roomlight.

I wanted to create an example, so I sewed a segment onto a tie.

A couple of pointers here:

  1. Figure out where you want the battery pack to go.
  2. Start your layout from the battery end. It’s easy to cut off the other end (and safe) but it’s hard (but not impossible) to reconnect wires to the driver end.
  3. Scissors aren’t really strong enough to cut the el-wire, you should have some wire cutters on hand
  4. You can either attach as you go. or tape down your design. Most people felt that this created a more fluid design, but may make it difficult to properly lay out a complex design.

Methods of attachment:

  1. Tape. One kid used a type of very sticky first aid tape to tape his design (the Pi sign in the gallery below) to the back of his shirt. It made a really conforming design with a flat background. This wouldn’t look very good on the front of the shirt.
  2. Hot Glue. Be careful here, but it’s good, especially on things it’s hard to poke a needle through. Lower temp glue sets more quickly, but high temp is useful for attaching to some surfaces. If you are sloppy, it shows, but you can unglue the wire (still leaving a blob) by using a heat gun or hair dryer
  3. Sewing. This is the most invisible and elegant, but also the slowest and most work. If you use transparent thread, it’s even more invisible, but you’ll need to know your fisherman’s knots.
  4. Cable Ties: This is useful for attaching to, say a bike frame, or other tubular structure.

EL-Party time!

Last, make sure you turn off the lights at the end! We also had a dark closet available to test before we turned off the lights!

Here are some examples of the creations the kids made.

Simple 3D printing design activity

 

A lot of  libraries and schools are getting 3D printers, and also, if you personally have one and want to show it off, it’s hard to have people do things in a reasonable amount of time. 3D printers are just inherently slow.

One activity I came up with that allows you to do personalized 3D printing, is to, well, do 2D printing!

We’ll learn how to take some characters, make them into a flat 3D object that can be printed quickly.

This little logo printed in about 2 minutes on my Printrbot Plus.

We’ll be using inkcape (a vector drawing program) from http://inkscape.org, and OpenSCAD (a 3D drawing language) from http://openscad.org. Download and install (they are both free and open source!)

Here’s a video walk through, but details are also written below.

Step by Step:

Open a new document in inkcsape. I like to change the document properties to use a real measuring unit, so I  can tell how big things are. Change the default units from px to mm, and the size in mm units to your print bed size. In my case 200×200.

Document Properties

Using the Text tool, type your name. I use 72 pt (about an inch or 25.4mm tall) and a font that is fairly blocky. If you want to print larger, you can use more filigreed fonts, but for this exercise, the point is speed, so we need something that will print well small.

 

Select the name using the arrow tool, and then path/object to path:

object_to_path

 

Next click on the second icon down (below the arrow) that is edit path by nodes.

We’re not quite there yet, as we have a path, and we need polygons. Paths include things like splines and other curves. If you grab one of the handles you can see we don’t have straight lines.

It can be a little frustrating working with some of these tools, but there’s a secret OpenSCAD only understands polygons in a DXF file. If you have any splines or arcs, it just ignores them, sometimes giving a warning, sometimes not.

splines-bad

 

Shift select all of the letters while in path editing mode.

The key to converting any 2D vector drawing is to make sure to select all the segments and click the convert to lines button. Curvy letters like the lower case E in my name will reduce to angular uglies, so , you can add points by clicking the add points button a couple of times.

Next, click on make selected segments lines (make sure all the nodes are selected. If they are grey, they are not selected.)

Next, it’s a little tricky. Click on the second letter in path edit mode, switch to select/move mode (the arrow) and move the letter to touch the first one. Repeat. For the i, I moved it down so the dot was also touching.

At this point we have a bunch of polygons, and OpenSCAD may or may not be able to render it. You can make sure by selecting all the paths, and then perform a Path/Union menu function to simplify the shape.

It’s best to move the whole thing down to 0,0. You can do this with the mouse, or just type in the x,y box.

Next, save it as a DXF file (not the default SVG), in the same directory where you’ll store your openSCAD file.

Then it’s a simple matter of linear_extrude(height=2)import(“kevin.dxf”);

The dxf file has to be in the same directory as the scad file, so you have to save the scad file first before you run it.

It’s probably best to select print quality settings that don’t take too long, but still look ok. You can also influence the print time by extruding at a shorter height, but I think one mm is about the minimum for something you can remove without breaking