Here are my experiences with PICS. Please note these are personal experiences, your milage may vary......

Method number 1: PIC programming kit from Magenta Electronics. Built as per plan, software as provided. Result. Nothing. I even tried to iron out a few problems.... My assessment 1/10- it looks pretty sitting on top of my computer and I eventually used the LED test circuit bit to test the NOPPP programmed PIC.

Method number 2: The NOPPP (NO Parts Pic Programmer) by Michael Covington. Uses a few, easily found components and has a software port for Linux. Additionally, there is a software version (for Linux) which allows you to program 16f877s (with A/D converters). Nice!

NEWS! I've taken the modified Linux code and ported it to DJGPP under Windows (which includes GCC). After suitable modifications it appears to work just fine. I've written, read, erased and verified 16F84s which appear to work so I see no reason why the other chips supported shouldn't work. The modified source code and executable are available. Next stage is to add 16F826 support.

Points of interest:

  1. The original NOPPP used 1N914 diodes but an upgraded version exists which uses 1N34s for compatibility with non-standard parallel ports. Maplins don't stock 1N34s so I stuck with 1N914s and crossed my fingers. I could have always got some 1N34s from RS components or Digikey but they don't have one of their shops on the way home from work!
  2. I used half a 25-way male-female cable as I really hate soldering bucket terminal connectors. In the end, this was a bad choice because the IDC cable was very difficult to strip properly even with my nice new "automatic"wire strippers. In future, I would use a PCB mounted connector or just stick with the bucket terminals.
  3. When I hooked up the battery and checked a few voltages with the voltage check option on the software all was not well. I was getting about 11.4v out of the voltage regulator and then when I sorted that out (wired it up wrong), I found I was getting 8v instead of 12v from the transistor emitter on one of the voltage tests. In the end I found the answer on the NOPPP web-site but I should have been able to sort it myself- the transistor was back to front! Doh. When I corrected that all was well.
  4. When everything appears to be working, program the chip and verify it. Verification just checks that the program has actually been put onto the chip. If that's okay, then you know the programmer is working. Now you just have to sort out the test program and test circuit.
  5. When using a test program (for example, David Tait's Walk.asm or NOPPPs demof84.asm) make sure it is compliled with the correct settings. The first program I tried was DT's WALK.asm,which is supposed to make 4 LEDs run back and forth in a "Knightrider" fashion. Unfortunately, it didn't work properly because it was compiled for a crystal (XT) circuit when my test circuit (from the Magenta programmer) used a RC oscillator. Usually the configuration is set using the __CONFIG directive at the beginning of the program. If it has been used, change the 3FF5 value into 3FF7. This will give the settings as Code Protect Off, Watchdog Timer On, Power-up Timer On (I think) and RC oscillator. If you're not sure where the 3FF7 value comes from, then look at the 16F84 data sheet (section 8.2, page 39 of the current version- available from the Microchip website).
My assesment 8/10. Had I not been such a plonker with my reversed transitors etc and that silly IDC cable this would have been a very quick build. It works fine (even under a DOS window in Win98 with a CD/MID playing in the background). It was certainly enough for my test project and my first proper project......

 NEW! The NOPPP programmer has been used under Linux!  After a bit of work I got it to work with the 16F877s. I had a loose connection on the VDD of the 40-pin socket and I'd accidentally set the copy protect bit during programming. This meant I was able to program the chip (if I erased it first) but I couldn't verify it and when I read it all I got was '0000'- makes sense looking back.... Not that is sorted I'm well away!!

NEW! Details of my new PIC project, still heavily in R+D

NEW! My project after that is top secret but some datasheets can be found here


Questions? E-mail me here