First Impressions of the pyMCU Python Microcontroller


Unboxing the pyMCU

Recently, pyMCU‘s founder, Richard Wardlow, was nice enough to send me one of his pyMCU mictrocontrollers.  This came after reading about my “Learning Python for Physical Computing” efforts.  My purpose in learning this language was to generate scripts that could for instance generate GCode for my CNC router, or write something that could then be run on an Arduino, such as this light painting bar.

PyMCU, however, takes a different approach.  With this chip one can run python on a computer, and directly control and read the IO directly.  After learning this, I was quite excited to try it out, since this chip could be used for any number of inventions that I attempt to come up with for this site (see my top 10 projects).  Although apparently capable, the pyMCU is not really meant to be used without a computer.  After all, why reinvent the Arduino (my review)?

Upon receiving this chip,I decided, of course, to make a LED blink.  It has a couple status LEDs, but neither seem to be dedicated to an output like an Arduino, so you’ll have to actually hook things up yourself.


Blinking LED. Yay!

PyMCU’s site gives a tutorial for this here, if you’re interested.  Hooking it up was easy enough, and although it’s bad practice, you don’t even really have to use the resistor seen in the circuit if you don’t mind your LED burning up faster than it normally would.  As for installation on your computer, you’ll have to install the Python libraries as shown here.  Although I only ran it under Ubuntu, it can apparently function under Windows and OSX, so yay!


Setup is easy for Ubuntu Linux if you DON’T NAME YOUR FILE “PYMCU.PY”!

The one problem I had when setting the program up, is that I named the program that was meant to blink the LEDs “”.  Apparently this causes some issues, so hopefully you’ll be more creative than I was with your naming convention.  After deleting the “” file as well as the “pymcu.pyc” compiled script, it ran the code perfectly, and made the light blink as commanded.

So we will see what comes of this little guy.  I’m excited to see what I can do with it, especially as I become more competent using Python in general.  I could see making some sort of stacklight using ping-pong balls to show the status of something, or any number of other interesting inventions using this device.

So thanks Richard for sending this over, and thanks for helping me through the one little hiccup getting everything running!  Check it out at  For more information on the Python language, be sure to check out all my posts on Learning Python for Physical Computing!


  1. Not sure, I guess you’ll have to contact them. Maybe they will ship over there.

  2. How to make LEDs chase each other using the pyMCU board - pingback on October 11, 2012 at 5:30 pm
  3. LED fun and Light Painting with the pyMCU - Hack a Day - pingback on November 5, 2012 at 12:03 pm
  4. Servo Light Graffiti - Preliminary Results Drawing a Circle - pingback on January 20, 2013 at 7:34 am
  5. free pyMCU giveaway! - pingback on May 5, 2013 at 3:28 pm

Trackbacks and Pingbacks: