Category Archives: hacking

First Flight

3DR Solo of my very own!

If you’ve followed this blog, you know I’ve played with toy quadcopters and built one from parts. I’ve also built an FPV racing drone that I’ve only successfully flown twice.

For a long time I’ve lusted after a GPS drone capable of autopilot, especially after a demo by a neighborhood friend of his DJI Phantom 3. I think the DJI drones are pretty cool, but I hate that they are not open, and being both an Open Hardware guy, and never satisfied with factory settings, I really wanted open source.

3D Robotics, founded by former Wired editor Chris Anderson has been making open source autopilot drones for quite a while now, but they’ve been quite pricey, and don’t include a camera. I just couldn’t justify it.

My friend Michael Castor at  http://www.mcmelectronics.com/ clued me in to a sale at Bestbuy and I scooped up a Solo, extra battery, gimbal, extra propellers, and a backpack for $399 (plus tax). SCORE!

Note, last time I checked, the price just went up to $599, but you can still get the Solo for $399

Free 2 day shipping said it would be here Thursday, but the Solo came on Wednesday, and the rest on Thursday.

solo box

It was well packed, comes with battery, two extra propellers, transmitter,  and chargers for the transmitter and the battery. It comes with an eggcrate material carrying case that would probably do for a while, but I hate to think what would happen when it rains.

The backpack, which came later (and I may cover in a future post) is terrific."carrying case"

DJI, by the way also gives you “carrying case” packing, but in their case close cell foam, which would probably hold up longer.

Solo unboxing

Setting it up was pretty easy, download the app to my phone, power everything up. There’s a required firmware update before flying, and while it crashed my phone a couple times (I am suspicious because I have CyanogenMod) it took only about 2 minutes.

I don’t have a camera yet (I’m waiting for a new model of “fauxpro” from mcm electronics.) but It was amazing that I actually managed to work all week without flying. A quick stop at the FAA site to register, print a label for my Solo, then I did get out on Saturday, and I’m hooked!

Kevin flying his new Solo

Photo by Will Caldico0tt

Auto take off and landing are the bomb! The orbit mode was pretty easy to use, once I figured out how to set the center on my tiny phone screen. I ordered an acer tablet from ebay (about $70) and hope that will be better.

3DR recommends initial flights in a wide open area, and I concur. While it’s really easy to fly, it’s also hard to judge depth at distance when it’s flying near trees etc. The next day, I did manage to crash it, breaking 2 propellers, and chipping a third. The Solo was fine though, and shut itself down with the remote talking to me “Crash detected”.

Hacking potential

I wouldn’t have even spent $400 (and will likely spend even more) if it wasn’t easy to add my own hardware and software mods. 3DR makes this really easy, with a well thought out Dev kit python API, and well documented hardware expansion. Check it all out at: https://dev.3dr.com/index.html

What makes this really exciting, is the Solo (in spite of the name) actually has Two processors, a pixhawk flight controller, and a linux based computer. You can actually ssh to the drone, and store scripts for execution during flight.

I’m excited that you can even use OpenCV on the video stream from the camera.

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.

Photo by Melissa Roy

Arduino Workshop and Arduino Resources page

youdoit-arduino class

Had a full house at an Intro to Arduino Workshop at YouDoIt Electronics in Needham last night. Getting ready for this prompted me to start up an Arduino Resources page and update my Intro to Arduino Presentation (which, unfortunately I didn’t get to use due to technical difficulties…)

YouDoIt Electronics is a terrific local resource, carrying tons of Sparkfun and Adafruit products (as well as tons of mechanical and electrical parts, educational toys, AV equipment, you name it!) Thanks Melissa and John for sponsoring me!

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.

20150716_115519

MacGuyver Copter Part 2: Total Ghetto, Total Fail

Spoiler alert: in part 3, we finally succeed!

If you read the first post  you know that I was inspired by all the cheap replacement parts for the Syma X5. Also the motor mounts have all sorts of interesting attachment points, including a tube that fits a 3mm (who knew they were a standard size?) bamboo barbeque skewer. I’ve seen people bodge together quadcopters with “real” controllers but with crappy wooden frames, so I thought why not.

First I cut some skewers so the props were centered where they were in the original Syma X5. They were 9 inches center to center.

20150715_174605

I taped it all together, with the controller in the middle. I didn’t have much hope, as  you can see the fit on the motor mounts isn’t tight, and I was afraid they would twist. I taped them the best I could but as you can see in the video it was a total fail.20150715_223808

One problem I noticed, was that I had mounted the controller board upside down. Doh! The purpose of the controller is to keep it upright!

20150716_115519

Next I designed a 3D printed hub for the middle, secured with hot glue. I found some tiny screws (scavanged from many tear aparts!) and drove those through holes in the arms and through the bamboo skewers. This time it worked better but spun. I concluded that the bamboo was twisting with the motor torque. Probably true, but later I also discovered that I had the motors mounted in the wrong place.

Conclusions: I need a sturdier frame, but still need to keep the weight light (how light, well, I find out in part 3…)

From Blink to Bot: Introduction

JoebotJoe McDermot (leader of the Boston Robotics Meetup) discovered many members of the Boston Robotics Meetup had never scratch built a robot, so he sourced some cheap components from China and led a group build session. Joe did a fantastic job, keeping the price to $60, for a robot with 4 motors, Arduino clone controller,  3 ping sensors and IR control. (Joe’s a modest guy, but I call it Joebot)

After building it, a lot of the members had trouble with the programming, trouble I’ve seen when people attempt to do slightly more complex projects on the Arduino, after doing the basic Blink, and other examples.

In this series of posts, I will attempt to show how to coordinate several activities in an Arduino program. While the robot is an excellent challenge, the lessons here can be applied to any project where you have to “simultaneously” read sensors, control actuators, etc.

Bot-BOM:

  • 4 DC gear motors with Wheels
  • Acrylic base
  • L9110s  BLUE motor control board (2 channel, 2 wire control per motor)
  • IR receiver
  • 2 – Ping type distance sensors
  • Arduino Nano V3 Clone
  • Breadboards, wires, etc.

One note of caution here, many of the Nano clones used counterfeit FTDI chips, and were bricked by the new windows driver. DCCDuino, is actually not an out and out copy and uses a different USB-Serial chip, and works well.

JoeBotLabledNext post we’ll work out how to handle motor control.

 

Free and Open Source Data Service from Sparkfun

datasparkfun

Sparkfun launched a free cloud data service for your devices. It’s limited (rolling last 50MB) but also open source so if you want to roll your own you can do as much as you want!
This is an example of how doing a service and open source can benefit you. As they say

Our hope is that you buy a SparkFun widget to connect your next beehive.

It looks easy to use, and besides making it easy to put your own sensor data up, data from all other users is public, making it available to data scientists and hobbyists.

I’m looking forward to trying it out, and if I do I’ll share here!

 

 

NovaBooth – Improving the Open Source Photobooth

NoVa SnapAs you may have read here previously, we (the Wyolum Gang) created a photobooth for the Open Hardware Summit, for the purpose of customizing the e-paper badges we made for the conference attendees. This processed the pictures into a small black and white image for the e-paper badge, and saved it onto the badge’s micro-sd card.

I was headed to help out at the Northern Virginia Maker Faire, and thought it would be fun to update the photobooth to take full color pictures, upload them to the Internet and offer to email them to friends and relatives.

The email message and logo files are easy to add and customize.

For basic construction, visit the original post, but download the new software here:

github: https://github.com/wyolum/NovaBooth

The fabricate directory has the laser cut files, arduino for the AlaMode Program, and scripts for the python photobooth code.

Edit custom.py to customize the email subject and message. config.py contains the authentication information for the google email and posting accounts. You’ll need to set up application specific passwords for this on your google account. You can use the same account, or separate.

Wireless keyboard, had to add a powered hub.

Problems

  • External powered hub was a pain.
  • Proto-screw shield was too heavy and lifted off
  • Some of the nuts came loose in travel.

Photobooth 1.5

To solve the first problem, I determined to replace the non-powered hub in the photobooth with a powered one.  I tried to add power to the unpowered hub, and this worked at first, but then took out the power supply and made the raspberry pi flakey too.

Scratch that, I ended up using a small belkin powered hub. I y-connected the power to it.
I noticed that  a convenient orientation put  4 ports right next to the edge,  so I cut a hole in the box to expose them.

Luckily AlaModes ship without shield headers installed, so I replaced the AlaMode and protoshield with an AlaMode that was directly soldered to the button, led-strip, power and ground.

I updated the AlaMode’s photobooth program directly from the photobooth. Apparently the new AlaMode’s pullups weren’t as strong, so I added a 5.7k pullup to the Button Pin.

 

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