Latest Audioboo

My SuperUser.com Stats

Posts by Date

March 2015
S M T W T F S
« Feb   Jun »
1234567
891011121314
15161718192021
22232425262728
293031  

How to Become a Maker

Soldering station. Image credit: Windell Oskay

Image credit: Windell Oskay

Once again I have had the pleasure of appearing on Allison Sheridan’s podcast, the NosillaCast. On Sunday, March 1st’s show (#512! a nice power-of-2 binary number!) we talked about getting into the whole “maker” movement, and how to build cool things using micro controllers such as the Arduino, as well as single-board computers such as the Raspberry Pi. Listen to it here (starts in around 33:25) and read the show notes below.

So why would you want to do this?

I like to think of it as giving you a way to move your computing activities into the physical realm.  Thanks to falling prices, we now have access to some pretty amazing technology that gives us the capability to build really cool devices that interact with the physical world.  You’ll have the tools and knowledge to construct devices that actually solve real-world problems that you might have.  You’ll learn a lot.  You’ll have something fun to do with your friends/significant other/children/parents/etc.  And you’ll have a lot of fun.

First you gotta learn your electronics basics

  • There are some pretty good tutorials online (like this one, or this one, or this one.)
  • “N Projects in One” type kits – back in the day, when Radio Shack was still a thing, they used to sell these, and that is how I learned. Basically they consist of a board with various components on it, which can be connected up to each other by inserting wires into little spring-loaded clips. They come with a booklet that teaches you about electronics while leading you through constructing various circuits. Fortunately other companies have taken up the slack and are selling pretty good kits.
  • littleBits makes some really good “learn about electronics” kits, that are (literally) almost like “Lego for electronics” – they consist of little modules that perform various functions, that snap together kind of like Legos. More suited for the younger members of the audience.
  • Getting your HAM license is an excellent way of doing this – basic electronics are a requirement, and most hams are tinkerers as well, so you’ll learn a lot of stuff from them.  (Believe it or not, even in our computerized, networked digital world, radio is not only still relevant, but also still very fun.  This might be a good topic for a future CCaTP!)

And now for the “burning” question… Do you need to learn to solder?

The answer is NO! Especially if you’re just starting out, there need not be any soldering involved whatsoever! Most circuits can be easily constructed using a breadboard. Eventually learning how to solder is a good idea though; sometimes you’ll get a component(s) that isn’t breadboard-friendly, or that needs wires/connectors attached, etc., and eventually you may want to turn your designs into actual PCBs (circuit boards) and you’ll need to solder in the components to those. Fortunately it really isn’t that hard.

Like with computers, your fancy electronics projects are nothing more than a pile of parts; they need some sort of central “brain” in order to function as a unit.  (Technically not 100% true – you can construct some simple circuits/devices using simple components, but they aren’t very powerful/don’t do very much.)  And in the DIY electronics world, there are two primary types of these.

Microcontrollers

  • Small, relatively slow, relatively low-power CPUs on a chip
  • Limited I/O (pins on the chip that can be connected to stuff, either analog or digital)
    • Most modern chips/sensors/etc. can be accessed using low-pin-count protocols such as I²C or SPI.
  • Not a full-on computer – there’s no OS, libraries, TCP/IP, USB, HDMI, etc. – you’re programming close to the “bare metal”
  • Relatively low memory = less storage space for your code and data
  • Pretty energy efficient
  • Once you’ve programmed the chip, you can take it out of the board and turn it into a standalone circuit.
  • Great for relatively simple tasks (reading sensors, controlling motors, outputting to simple LCD screens, etc.)
  • Ill-suited to more complex forms of I/O (networking, WiFi, large monitors, video/audio streaming or playback, etc.)
  • Some notable examples:
    • Arduino
      • Pretty much THE micro controller that everyone uses nowadays
      • Technically not a brand name
      • Massimo Banzi (hence the name “Arduino”) , a teacher at the Interaction Design Institute Ivrea in Ivrea, Italy, created it as a cheap way for artists to incorporate digital interactive elements into their works. It has since been adopted by hobbyists, makers, etc.
      • Basically he took a common and inexpensive micro controller (Atmel AVR) and wrapped it in a user-friendly package (development board, integrated development environment, toolchain, etc.)
      • It is an entire ecosystem, there are many add-on boards (“shields”) that literally stack on top of the Arduino, that add various bits of hardware you can access (wireless radio transceivers, servo motor controllers, sensors, LCD screens, etc.)
    • Micro controllers made by Parallax Inc.
      • Propeller – multi-core, great for extremely demanding I/O tasks
      • BASIC Stamp – simpler, single core, programmed using a language similar to BASIC
    • TI MSP 430 – smaller, less powerful, less I/O, but extremely power efficient

Single-board computers

  • Combines most (if not all) of the functions/peripherals found in a modern computer, all on a single board.
  • You have most of the ports/standards you’re used to – some sort of video (HDMI/DVI, composite, etc.), sound, USB, SD cards, etc.
  • You also are running a full-on operating system (usually Linux) and have access to all of the programming/scripting languages, code libraries, etc. they have to offer.
  • Most also have I/O pins on them so you can still access sensors, control motors, etc.
  • Relatively large (physically), relatively power hungry.
  • Suitable for complex tasks, especially those that involve significant amounts of processing, network access, etc. (streaming audio and/or video, etc.) or that require significant amounts of data access (since SBCs have SD cards and USB buses that can use USB flash drives, and you have a full OS to assist you, accessing and managing storage is easy.)
  • May be overkill for smaller/more simpler tasks
  • Some notable examples:
    • Raspberry Pi
      • Conceived by Eben Upton, Rob Mullins, Jack Lang and Alan Mycroft, based at the University of Cambridge’s Computer Laboratory, as an inexpensive way to get kids interested in, and learning about, computers; however it was quickly adopted by hobbyists, makers, etc.
      • Relatively low-powered (uses the older ARMv6 architecture) but very inexpensive. (The latest model, the Raspberry Pi 2, largely addressed this by moving to a chip based on the newer ARMv7 architecture, and that features quad-cores.)
      • Has a standard pin layout, so several companies have made add-on boards that dock onto the Pi and give additional functionality (touch screen LCDs, high-quality audio input and output, etc.)
      • Has a limited number of “GPIO” pins (pins capable of connecting to external devices)
    • BeagleBone Black
      • Based on the BeagleBoard, a development board made by Texas Instruments. They re-engineered it for the hobbyist market, lowering the price to make it competitive with the Raspberry Pi.
      • More powerful than the Pi (faster CPU based the newer ARMv7 architecture.)
      • Has a lot more GPIO lines for interfacing with external hardware.
      • Has a standard layout for its I/O pins, allowing various manufacturers to come up with add-on boards (“capes”) that dock onto the BBB and add additional functionality.

So what can you do with this stuff?

To give you an idea of the kinds of things you can do, I’ve picked a few scenarios, either ones that I have done personally or know people who’ve done, etc.

Quadcopters!

  • The problem to be solved: staying in the air!
  • How it’s done: Believe it or not, most quadcopter boards use simple micro controllers. When you boil it all down, a flight controller is basically taking input from a bunch of sensors (accelerometer, gyroscope, compass, etc.), doing some (relatively simple) calculations, and telling the motors how fast to spin. This is well within the capabilities of just about any micro controller. The Flip MWC 1.5 is based on the same Atmel ATmega328p chip as used in the Arduino; in fact it’s actually programmed using the Arduino software.

“You’ve Got Mail”

  • The problem to be solved:
    • Our mail carrier is somewhat unreliable (sometimes comes in the morning, or between breakfast and lunch, or even after lunch…)
    • There have been reports of mail being tampered with in our neighborhood.
  • How it’s done:
    • Two Arduinos – one located inside the mailbox, and one located on my desk
      • The mailbox Arduino reads input from a photoresistor (a device that measures the amount of light that’s hitting it.) Once it passes a threshold, it knows that the mailbox has been opened, and sends a signal to the other Arduino.
      • The Arduino on my desk receives signals from the mailbox Arduino, and sounds a buzzer when the mailbox is open. It also has a RTC (real time clock) so that it knows at what the the mailbox is opened/closed, and it keeps a log of the last 10 events. Finally, it also has a small LCD display on it that I can use to review the log. (Yeah, this last flourish was a bit overkill…)
      • The two Arduinos communicate wirelessly using Addicore nRF24L01+ wireless modules.

Secret Knock Detector

  • The problem to be solved: You want to be able to restrict access to something, using a non-obvious method of access control (i.e. avoiding obvious things such as keys, access cards, etc.) In this case it’s a special knocking pattern.
  • How it’s done:
    • piezoelectric sensor detects the changes in pressure caused by someone knocking. It sends this information to an Arduino, which analyzes the knock pattern and compares it to the “access granted” pattern that’s programmed into it. If they match, then the Arduino activates a servomotor that manipulates the lock.

Do-It-Yourself Weather Station

  • The problem to be solved: Our company (VCT Labs) recently exhibited at the AMS WeatherFest. Our goal was to promote the use of Free/Open Source hardware and software. So we created a weather station that can be easily assembled using off-the-shelf components.
  • How it’s done:
    • We started with a board that incorporates several sensors:
      • MPU6050 (3-axis Gyro, 3-axis Accelerometer, Temperature Sensor)
      •  BMP085 (Pressure, Altitude, Temperature Sensor)
      •  SHT10 (Humidity, Temperature Sensor)
    • We added to that a MOD-1016 Lightning Sensor.
    • All of these chips communicate over I²C so it was possible to interface them with only 2 wires.
    • These sensors were connected to a Raspberry Pi using its GPIO pins. The Pi was running a Python script that read data from the sensors and stored it to a local database. The Pi was also running a web server along with an AJAX interface that displayed that data on a web browser.
    • The only reason we used the Pi was because we wanted to be able to run a web server on it, and have it accessible over the network (Ethernet or WiFi.) If all we wanted to do was just display the data, we could have done that using an Arduino or other micro controller.

Do-it-Yourself Motion Detecting, Internet Accessible, Streaming Security Camera

  • The problem to be solved: We’ve had some issues with neighborhood hooligans vandalizing our property, and in one case, making off with some of the stuff in our front yard (plants, garden tools, etc.) We want to catch them in the act. Also, while we’re out of town, it might be nice to keep an eye on our house, as well as our pets.
  •  How it’s done:
    • A Raspberry Pi with the Raspberry Pi Camera module, combined with the open-source motion motion detection software. In addition I made a web interface that lets you stream the live picture from a desktop, laptop or mobile device, as well as stream past recordings. The Pi has a WiFi adapter in it, since we need to mount these things where it’s impossible/inconvenient to run an Ethernet line.

Resources/Links of Interest:

Here’s a great article from Make Magazine that talks about all of the different types of boards (micro controllers, single board computers, etc.) that are out there.

Learning to Solder:

Dave Jones at the EEVblog has an excellent series of videos that teach you how to solder.  (Part 1Part 2Part 3.)

Stuff to Buy: (Please use the Amazon links here. Merchandising!  Merchandising!)

  • Elenco 130-in-1 Electronic Playground and Learning Center is a great “N projects in one” kit that follows in the footsteps of the kits I used to purchase back in the day at Radio Shack.
  • littleBits Electronics Base Kit is a similar type of kit, but is geared more towards the younger audience.
  • Arduino Uno Ultimate Starter Kit.  This is a great way to get started with the Arduino.  Not only does it include the Arduino board itself, but it also comes with a selection of parts as well as an instruction book that walks you through several example projects.
  • Raspberry Pi Complete Starter Kit.  Includes everything you need to get started with the Pi. Other than the Pi itself, it includes a power adapter, HDMI cable, USB WiFi adapter, a case for the Pi and an SD card preloaded with Linux.
  • Raspberry Pi Camera Module.  If you want to turn your Pi into a webcam or security camera, etc., you’ll need one of these. (You can use a USB webcam if you have one lying around, but I like the Pi camera module because it’s smaller and it connects directly to the Pi itself.)
  • BeagleBone Black Starter Kit.  Similar to the above (i.e. includes everything you need) for the BBB.
  • Tools:
    • Wire snips (handy for trimming long wires)
    • Wire strippers
    • Magnifiers (very handy for helping to read the identifying markings on parts, some of which can be rather small) I have all of these and use each one of them at varying times.
    • Some stuff that’s useful for when you want to learn to solder:
      • A good basic soldering kit (includes most of the tools you’ll need to start learning to solder, including a circuit board and parts to practice with.)
      • Helping Hands – holds the boards/parts you’re working on leaving your hands free to work the soldering iron, etc.

Some software that you might find useful:

  • Fritzing is a cross-platform (Mac/Windows/Linux) Open Source circuit design program, geared towards Arduino. With it you can design an Arduino circuit by dragging out components, placing them on a virtual breadboard and connecting them with virtual wires. It’s a great way to visualize what you want to build before actually building it. Once your design is complete, it will produce a board layout file that you can send in and get a professionally created circuit board at a reasonable cost.
  • EAGLE is a similar program (lets you design and lay out circuit boards) but is more general (i.e. not Arduino-specific.) It’s a commercial product, used by professional engineers to design and lay out production-quality boards, but is available in a free “Lite” version that has some limitations – mostly it limits the size and complexity of the boards that you can create with it, but the limitations are more than enough for most hobbyists, and so it is also quite popular with the “maker” crowd. It is also cross-platform, available for Mac, Windows and Linux.

Makerspaces/Hackerspaces – These are real-life places where you can meet other makers, socialize, get help, etc.  Also at a lot of these spaces, people have brought in specialized equipment (electronics test equipment, welding stuff, CNC machines, 3D printers, etc.) and made them available for public use. Many are free, some require a paid membership (usually a nominal fee to help cover operating costs) and some are run on a donation model (i.e. pay what you can afford/feel like it’s worth to you.) The Hackerspace Wiki is a great place to learn about them and what they offer, and the List of Hacker Spaces is a page that will let you find a hackerspace near you.

Maker Faires – Part trade show, part carnival, part training center, part flea market, and 100% fun. These are fairs held all across the world where makers congregate, share ideas, and show off their latest creations. A lot of the big vendors come to show and sell their wares, and also hold (usually free) training classes where you can go to learn a new skill (soldering, basic electronics, programming, etc.) The Maker Faire site will tell you all about them and also has a page where you can find a faire near you.

Podcasts:

  • The Ben Heck Show is a weekly video podcast where famed modder/hardware hacker Ben Heck takes you through various modding/hardware hacking projects. The cool part about the show is that he doesn’t edit stuff out, i.e. if something doesn’t end up working as well as he thought it would, he shows that. It’s a great place to learn how to build stuff, and to get ideas of cool things you might want to make.
  • Know How is a TWiT show hosted by Fr. Robert Ballecer. They frequently go into hardware hacking type projects.

Make Magazine is a magazine (yeah, I know, an actual dead-tree magazine!) dedicated to the “Maker” movement, and showcases tons of cool projects that you can build. They also have a YouTube channel where they regularly put out videos showing you how to build cool stuff too.

Maker Communities (and places where you can buy stuff as well):

1 comment to How to Become a Maker

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>