pyMCU was created with the idea of being a simple cost effective platform to interface between the computer and the physical world using python. The heart of pyMCU is a microchip PIC 16F1939 offering 13 Digital IO Pins, 6 Analog IO Pins, 5 10-bit PWM Pins, and a 16 Pin Parallel LCD Interface. The USB Interface uses the industry standard FTDI USB to UART FT232R chip. Drivers and python module are available for Windows, OSX, and Linux.

I wanted to make pyMCU simple to use for the beginner but also have the option to be utilized in a more powerful way for the advanced user. The beginner method for using pyMCU and its initial intent for use is to utilize the pymcu python module, by creating an mcuModule Class Object in python you will have access to various functions common to typical microcontroller programming, setting pins high and low, reading analog pin values, using hardware pwm pins, i2c, 1-wire and SPI protocols and so on. For the more advanced user you can override the pyMCU firmware and program the PIC chip directly and take advantage of all the raw power and functionality the PIC chip has to offer and that way the pyMCU board acts as a nice breakout board platform to build on.

When I began creating pyMCU I looked at several already available boards and thought maybe I would just write the software to interface with them but after evaluating several factors including price and my previous knowledge of PIC microcontrollers I decided I could build a simpler less expensive and more powerful option. I've been working with Microchip PIC microcontrollers for almost 5 years now long before Arduino was as popular as it is now so given that experience as well as time and resources invested in microchip products I figured it was going to be quicker and simpler to create the first pyMCU using PIC. Depending on the interest I get from putting this product out I will consider developing an Arduino version of pyMCU that you would be able to download, modify and compile in the Arduino IDE for any of the available Arduino boards out there.

pyMCU v1.0