Archive for February, 2009

Learning to use Microcontrollers

If your interested in building robots, LED art or jewelry, midi controllers, (robotic drum sets) or anything else you might think of, you will need to learn how to use micro-controllers.  There are many types and manufacturers to choose from.

Here are links to a few manufacturers:

Among these and other manufacturers there are a number of paths of entry with  varied learning curves.  A popular and fairly new product is the Arduino. This is an open source range of microcontroller boards and a free software development interface written in JAVA which is base on GNU C++.  The hardware is based on ATMEL microcontrollers.  The software works on Windows, Apple and Linux operating systems and is real easy to use.

I use mostly Microchip PIC controllers.  I like the variety of devices available from 6 pin to 100 pin devices.  There are many ways to program PIC controllers.  I started using the free MPlab IDE to program chips using assembly language and a serial programmer.  I then purchased PIC Basic Pro compiler from MicroEngineering Labs.  I really like this product and have been surprised by the speed of the code that is produced.  My Midi controlled drum kit is currently running on code written in PicBasic Pro. MELabs makes great programmers and prototyping boards as well.

Microchip sells compilers based on GCC (which is free).  I’m not sure how this works but I believe you are paying for header files and such.  Nice thing is, you can download a student version of the C compiler which, after 30 days produces less optimized code but works fine for most applications.

I am currently learning to use these C tools for the PIC 32 series of 32 bit controllers. These chips run at up to 80 megahertz. These are powerful devices! Wish me luck, I’ll report here on my progress.

All these choices have related pros and cons so you will have to make a choice and jump in with both feet.

Do NOT be afraid!


1 Comment

I use Ubuntu, and you could tu!


I use a version of the free and open operating system called Ubuntu Linux.

I used it for a few years on a number of laptop and desktop computers with great results.

Although it may not the operating system be for your grandma, it might be great for your nephew. On the other hand if your grandma only uses email and a browser then It might fit the bill.  If you have a computer around that’s orphaned and still working, you can load Ubuntu on it and give it a spin.

If you have a fast internet connection you can download what is called an ISO file from here.  You then use your favorite cd burner program to create a cd.  The command in your cd burner will be something like “burn cd image” or “burn ISOimage”.

The cd you end up with is a “live” cd. This means that you can boot up the machine with the CD and test drive Ubuntu before you commit to installing it. Note that your disk will be wiped clean when you install Ubuntu so make sure you copy anything important off the machine before you install.

You can “Dual Boot” fairly easily if you partition the disk properly or add a separate disk drive for Ubuntu.

There are tons of websites with helpful how-to’s on every aspect of Ubuntu and getting all your peripherals working. I have had some trouble with WiFi in the past, but more recently support is fairly good for Wifi.

I now use a Dell Inspiron 1420 for my main laptop. After installing, I got wifi, bluetooth and the nvidia graphics working without much trouble. Auto updates occur fairly regularly and I have never had a problem after an update.

I use a variation of Ubuntu Called Ubuntu Studio that has a great selection of GPL music, sound and video applications that are configured to work well together. Click on the blue icon below to go to the Ubuntu Studio website.


No Comments

Pure Data- A Graphical Programming Language

Pure Data is a free graphical programming language that has shared origins with MAX/MSP (a commercial program.)

It is powerful tool for audio processiing, midi decoding and generation and open GL graphics.

You’ll want to install Pd extended.

Here are a few links:

main Pd website


Online book by Miller Puckette: Theory and Technique of Electronic Music

Example screenshot  of code to read midi input from a Korg NanoControl.


I’ll write a post soon about my initial experiments with the Korg Nano controllers.