Category Archives: PIC Microcontrollers

PIC based circuits.

Prophet 64 MIDI interface Prototype

So far this interface does not look like much except for a large PIC protoboard with some serial and midi connections. However the sounds are very impressive, listen to sample 1 and sample 2. firestARTer has been hard at work on The Prophet 64 Cart interface promising to deliver full MIDI parameter knob tweakage and notes for complete SID control. The previous version of the Prophet 1.0 interface can be researched here which is a DIN-SYNC with MIDI start and stop. The Prophet64 group has been fairly active covering the new Prophet64 craze. People are going all out to mod their c64s with PSone LCD panels for ultimate portability. The manuals are still not done however older versions of the Free Prophet 64 can be downloaded from my local Mirror.

Pic Based Pitch sequencer for Toy Keyboard


Over the past few weeks I’ve been tinkering with PIC Microcontroller programming and hardware development ( ie: Stringing things together with clip leads DIY style ) .The result of the initial trials turned out quite nicely. Based on a simple premise of taking a toy with a pitch resistor and varying the value of that resistor sequentially. This creates note strings and also at higher tempo frequencies more modulated sounds. Unfortunatelyy PIC 16F627 does not have a DAC that would output specific voltages, but it does have plenty of PINs that can be turned OFF and ON, the easy way to create some cascading variations is to use something called a resistor network and in this case I took advantage of parallel resistor properties while keeping things isolated with a 4066 quad switch IC for building the resistor ladder. When all the switches are ON the resistance is least compared to when all of them are OFF. This coupled in parallel with a 1Meg Pot provides for some nice variations. The sequencer program running on the PIC has 16 steps and each resistor has its own channel of ONs and OFFs that can be “Muted” if needed. The controller has only4 buttons and 4 LEDs, however many buttons are overloaded with functions so different combinations do various things like speed up and slow down the tempo, randomize patterns, randomize step lengths to create “Swings”, and also edit patterns in a special mode. As a bonus MIDI out port sends out the 4 note patterns than be mapped to Samples, Drums, or Synth sounds. All that functionality really maxed out the massive 1K of Program space, granted the code is not the greatest and was written in PICClite, but the DSI keyboard turned out quite nicely and is lots of fun to play around with. There is also new blog which will have more tips and tricks of the MIDI and PIC programming located at PIC4MIDI.blogspot.com, contributors will include myself and Electrokraft. A schematic of my circuit is posted as a general idea. Actual circuit is a little different, but if anyone has suggestions please let me know.
Video of the keyboard in action as well as some prototype photos are available.

Therepings in action

The latest issue of Nuts and Volts has featured an article on Therepings.
These devices are created with the use of Ultrasonic robot proximity sensors, buttons, and Basic Stamp Homework boards. The sensors read hand positions and then convert that to preset scales with heavy note quantization. Cheesy electronic drum beats being played live in the background can be seen and heard in these really bad videos: Video1, Video2. The description on the site states that Therepings can be played together to create interesting music without any musical experience on the part of the players…….Well, you be the judge….More info and source code available through the site. I guess the concept of a Thereping Jam band really seems like a very Geeky version of Karaoke to me, except not as fun. My suggestion would be to hook these up to samplers with animal sounds and then go to town.

Software Needed

Lets take a moment to talk about development tools. Three software pieces are needed to make a PIC IC do something. First we need an editor for writing the Code. These editors are called IDEs ( Integrated Development environments ). There is no reason why one can’t use Notepad or Vi for writing their code, however having an IDE is a lot better because things get color coded, errors in the code are easily spotted, and various tools for debugging and testing are also there. Some IDEs are quite pricey, but the one I chose to use is a very nice free one called SourceBoost IDE. The second piece is the compiler/linker this step takes the Code written in a language of choice like Basic, C, or Assembly and converts it to HEX format that the PIC can understand and execute. The compiler I used is PicC-Lite and it is available totally free from HI-TECH software. The 16F627 is supported by the compiler, however some other variations may not be. The final piece of software is the program transfer utility. The VM111 board comes with a ProgPic2.exe in the box and others are available. The software installation does not have to be done in a specific order but loading the VM111 kit software, then PICClite, and finally SourceBoost IDE should make things easier. Windows XP, 2000, and 98 will all work the same and a true Serial port needed for programming because USB to Serial will not work with this kit.

VM111 from QKits

The Kit arrived from QKits Company in Canada to Iowa, USA in 5 business days, just in time for the weekend tinkering. Order Satisfaction is definatelly a 10. Contrary to the online description, it did include a Serial programming cable, a nice bonus. There was also a mini CD which had the software, schematics, and manuals for all the Velleman Kits on it, double bonus! However finding the VM111 folder was a little hard at first. The printed manual is identical to the online PDF version, however it proved very valuable during the development process. The PIC was already inserted in the socket. There was no description of the power supply polarity that I could find. Outside minus(-) inside plus(+) is what the board takes. 9V 300MA ended up working out just fine.