From Stu2
Jump to navigation Jump to search

12F675 - Programming the 12F675

I spent a lot of time looking at various microcontrollers and decided on the following combination:

  • Standard PIC microcontrollers (e.g. 16F628A)
  • PIC-EL demo board
  • SourceBoost C compiler (C lanaguage)
  • MBasic - basic compiler
  • WinPic programmer

I also have a simple JDM style programmer, but the programmer is built into the PIC-EL.So I don't need it.

My thought process was something link this... 1) I programmed in 6500 assembly years ago. 2) I'd rather stick with a higher level language. 3) Since I know 'C' I looked at all the C compilers and found the one from SourceBoost. 4)It's free with no limitations. I looked at various basic compilers, but they all cost money. $99 for the entry level versions and several $$$ for the unlimited version. I also looked at a bunch of open source tools, but they looked like development had stopped.

The PIC-EL has a bunch of input/output devices. That's why I bought it. Plus, it has the components to allow the serial programmer to work. Just flip a switch on the board and it becomes a programmer. I bought the extra ZIF socket. The key to make the programmer to work was choosing the PicEL.ini file in WinPic.

I run sourceboost under VMware on a Linux computer.Because 1) I have disk space on my server, 2) I have dual screens on my server and 3) it's the fastest box I own. I was NOT able to get winpic to work under VMware. So I map a drive between my windows machine and VMWare image to transfer the .hex file to the windows computer for programming. Really, both the compiler/IDE and the programmer should be on the same computer.

After writing some LCD drivers in C, I stumbled across the MBasic compiler. It's great! Of course, it's not free, but it's nice to be able to work in basic. Instead of a library of C, you can write to a LCD module with one line of code. That's worth it.


  • Flashing the LEDs - Done
  • Working with the LCD - Done
  • Ppush buttons- Done
  • The Serial Port - Done
  • Temperature - Done
  • A/D Conversion
  • Zigbee

Projects Ideas

Data Logger - store and playback data from my GPS modules. Link the wireless modules into the device so I can retreive the data remotely.

Battery Management - Disconnect the batteries in Dad's coach when the battery voltage drops.

Antenna Switch Controller - Switch the beverages to the right rig at W4RM - Done, October 2007

Thermostat - for the house, with wireless data logging and control

Temperature Sensor Network for Will - sense temperatures and display on a map

Reference Links

http://www.piclist.com/techref/piclist/index.htm - Start here, lots of information, but some very dated.

http://www.piclist.com/techref/microchip/language/c/ios.htm - I/O libraries

http://www.vermontficks.org/pic.htm - Great ideas with C code.

http://www.modtronix.com/index.php?cPath=1_36 - $70 buys a LAN interface, uC and 32 I/O lines.

http://home.iae.nl/users/pouweha/lcd/lcd0.shtml#hd44780 - HD44780 Controller Specs

http://aprs.gids.nl/nmea/ - GPS NEMA output

http://www.cadsoftusa.com/freeware.htm - Eagle schematic capture and PC board layout software. (Linux version available!)

http://www.sparkfun.com/commerce/hdr.php?p=tutorials - Tutorials and parts

http://www.olimex.com/ - development boards

http://www.libelium.com/index.php?option=com_content&task=view&id=14&Itemid=60 - Open source wireless sensors

http://www.emacinc.com/som/som400em.htm - IPv6 Compliant and 1W TINI module. ($100+$100 for the carrier board