28BYJ-48 Stepper Motor and ULN2003 Driver Intro

My buddy Sam Stokes just posted an awesome video on Channel 9’s “The Maker Show” about “Arduino and Servos” at the end of it, he mentioned that if you wanted to know more about steppers motors, you could check out my blog.

About a year ago, I was using some of the 28BYJ-48 steppers motors you can find pretty cheaply online.  In order to understand them better I took one apart.  That really got my mind going and after quite a bit of research I put together a video that explains how they work, and how you can drive them from pretty much any Microcontroller (like the Arduino, etc).  Check it out!

Spark Core enabled Compressed Air Rocket Launcher

Earlier this month some teammates and I were lucky enough to participate in TechCrunch Disrupt Hackathon in San Francisco


Our team project was called “Notifly” and was an online social media aggregation and activation platform.  In the end, we used it to watch a twitter hashtag, and launch a compressed air rocket when a threshold was crossed! We used a Spark Core from Spark.with a Relay Shield to activiate the rocket via a REST API!  Super cool Here’s a pic of everything assembled. 


Anyhow, if you would like to build your own, you can find the instructions for doing so on github at http://github.com/dxdisrupt/rocket


Dollar Store Food Containers Make Great Project Enclosures…

At the end of summer when my kids were in need of school supplies, we ended up passing through the local dollar store to find a few things. Right next to the pencil boxes and binders were plastic food containers for the kids to bring lunches and snacks to school in.  As soon as I saw them, I realized they would make fantastic project enclosures!  Here is the dollar sandwich container housing a Spark Core and a Relay Shield for my Compressed Air Rocket Launcher (I didn’t have a 9V battery clip on me when I put this together so the pink bubble wrap is there to keep the battery from knocking around):


The even smaller “snack” size boxes came in packs of three for $1.  Each one is a perfect (well, maybe a little tight) enclosure for an Arduino Uno with a a Shield and a 9V battery:


The one thing you do need to look out for is that sometimes the plastic can crack when you are drilling holes, so take your time, go slow.  And if you end up breaking one, it was only a buck!

Also, I went back just the other week, and the “back-to-school” stock has been pulled and replaced with Halloween items.  I couldn’t find these containers in my local dollar stores any more. There were others, but I didn’t like them as well.  However with some searching, I was able to find some online on dollartree.com

Getting Started with Windows on the Intel Galileo (Gen 1)

This is the second video in my Intel Galileo Series.  In this video, I show you how to get the free version of Windows from the Windows Developer Program for IoT running on your Intel Galileo Gen 1 board.

Here are some handy links for this video:

You can get the source files for the entire series from:

Or download a .zip file with the latest version of the files from:

And finally, watch all the other videos here:

Getting Started with the Intel Galileo (Gen 1)

If you watched the //BUILD Day 1 keynote back in April, you may have seen the Intel Galileo board in action driving a gigantic keyboard (02h:03m:15s).  While I was watching it, I opened another browser and ordered a Galileo for myself.  It took me a long time to get my Galileo (almost four months, due to backorders), but they are readily available now, from a number of suppliers for somewhere between $50-$80 USD. 

Microsoft has even released a version of Windows that you can install on the Intel Galileo Gen 1 boards through the “Windows Developer Program for IoT".  In subsequent videos and blog posts I’ll show you how to do just that, but I thought I’d get started with a 101 introduction to the Intel Galileo and working with it as it ships from Intel.

So without any further ado, here is the video:

Here are some handy links:

Grab a copy of my slides: http://1drv.ms/1wyqU4S

Intel Maker community: http://maker.intel.com

Intel Galileo Software Downloads:  https://communities.intel.com/docs/DOC-22226

Velleman EDU09 PC Oscilloscope

In my IoT endeavors, I have been learning a lot, but also finding that I need more tools.  I’ve been thinking about an oscilloscope but couldn’t really justify the cost of a desktop unit.  Then I ran across the Velleman EDU09 PC Oscilloscope Kit. I ended up getting mine from Amazon for about $52USD. 


I was just talking with my dad and reminiscing about the Heathkit projects we built when I was a kid.  Among them , there was a multi-meter kit, and after hours of assembly, it didn’t work.  My dad says it took him some painstaking investigation before he discovered a single diode we had inserted backwards.  But you kind of expect that with a kit, and I was not disappointed this time around.  I had a great time putting the kit together, and quickly learned that my soldering skills aren’t what they used to be.  Of course when I was all done, it didn’t work.  I got up the next morning, found some solder joints I had just plain missed, and of course, found a diode (actually an LED) that I had put in backwards. After fixing the problems, my EDU09 worked great.

There are some handy downloads for you if you are going to get one yourself:

One of the first things I used it for was to visualize a Pulse Width Modulation (PWM) signal from my Arduino. I wrote an arduino sketch that simply loops a PWM pin output from 0-255-0 over and over and over.  This signal is visualize by an LED getting brighter then dimmer over and over:


PWMRamp - Ramps a PWM pin up and down


//Output Pin (needs to be a PWM enabled pin)
int outputPin = 9;
//Min value for analogWrite
int minVal = 0;
//Max value for analogWrite
int maxVal = 255;
//Current value
int val = 0;
//Current increment
int inc = 1;
//Delay between loop iterations
int delayMs = 3;

void setup() {

void loop() {
  //Display the current value

  //Write the current value to the output pin

  //Increment the value by the inc amount
  val += inc;

  //Test to see if the new value is outside the range
  if(val <= minVal || val >= maxVal)
    //if so, invert the increment
    inc *= -1;
    //And clamp the value in range
    val = max(min(val,maxVal),minVal);

  //Wait for the specified ms before continuing

Then I connected the EDU09 via USB to my PC, launched the EDU09 software and connected the EDU09 leads to my  circuit (black lead to ground, red lead to the PWM pin output), and watched the signal on my EDU09.


I found that the easiest way to get the EDU09 to show the signal was to hit “Run”, then “Autoset”.  It changed the coupling to AC, so I switched it back to DC, and got a great result:


If you’d like a copy of the files I used, you can GRAB THEM HERE (http://1drv.ms/1upkPpa)

Hello EduCake and 86Duino!

My good friend and Windows Embedded MVP Samuel Phung with ICOP introduced me recently to the 86Duino project.  Then he showed me an ultra cool device, the EduCake!


I knew the minute I saw it, I had to have it!  The thing only costs appx $49US! And even though It’s only about 3”x3”x1” it still packs a punch.  It has a Vortex86ex 32bit x86 processor, so it is capable of running full operating systems like DOS, Windows, Linux, as well as 32bit RTOSes.

But what is super cool is that it is fully Arduino compatible.  From a firmware, programming, and hardware perspective.  That means that you can plug Arduino compatible shields as well as run Arduino code on this device out of the box.   You can see all the nice proto board connections on top of the box in the picture above!

Ok, so that’s neat.  Arduino compatibility on an x86 processor.  But, if you take a look at these pics, you can see it isn’t short on connectivity options either:

2 USB Ports, Audio In/Out, SD Card…

Ethernet, COM Port, and Micro USB Power.

After Terry Myerson and Joe Belifiore’s Intel Gallileo (and yes, I ordered one of those too) demo during their April 2014 //BUILD Keynote (at about 02:03:15), and all of the buzz around “The Internet of Things”, convenient packages like the EduCake give developers unprecedented access to developing software for embedded systems and custom hardware devices using a variety of operating systems and programming languages!

Sam and ICOP are working to make purchasing the EduCake and other 86Duino products easier for customers in the US, but I was able to order one (with surprisingly fast delivery from Taiwan, it only took two days) from http://shop.dmp.com.tw/INT/products/24 .  At approximately $49US (price varies with the exchange rate), this was a steal!  I can’t wait to start eating my EduCake!