Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Low cost PIC development tools 2

Status
Not open for further replies.

coconutalley

Electrical
Aug 17, 2005
77
I'm looking for low cost development tools for PIC16F7x7 family.
Does anyone have good suggestions for:
1. C-compilier for PIC16F7x7 family.
2. In-circuit programmer debugger for code development
and testing.
3. Production in-circuit programmer.

Thanks,

Coconutalley
 
Replies continue below

Recommended for you

For starters you could use Microchip's MPLAB. When they came out with the updated version about a year ago, the tool was abysmal but I understand that it at least works now.

The programmer / debugger, I think it is called their ICD and this is about $250 USD.

Last I knew, there was Microchip's C compiler (about $1000 USD) and a third party compiler, would probably be your biggest ticket item. The compiler is priced sucht that it is probably beyond most hobbyists but this wouldn't be a bad expense for a company project. I have used Microchips compiler and I think it worked adequately.

Most, if not all, of these items should be avail either direct from Microchip or avail on Digikey.

 
Noway2 has a good suggestion there.

You don't specify what low cost is... The compilers for the PIC are the best. But they certainly are not the least expensive 8-900 bucks. And the ICD2 is really VERY good. You use, as mentioned, the MPLAB IDE, free from Microchip.

HI-Tech has a good little free compiler but it only covers a few devices and I don't know if it covers yours.

Keith Cress
Flamin Systems, Inc.- < - kcress@<solve this puzzle>
 
When you say "production programmer", do you mean one that stresses the device over the entire operating range (such as MicroChip's PM3) or merely one that can program a lot of chips in a row (such as the ICD2)? If you intend to use the final product in some extreme environment (voltage, temp, etc.), the PM3 (or similar) is the way to go, but at around $1,000 it's not cheap.


Dan
Owner
 
Gents,

Thanks. I was looking at the Microchip ICD2.
If I understand correctly, it has everything but the target board? I would have to either make the target board or buy one of those PIC Dem boards.
My cost target is around: $500 - $800 for in-circuit plus compiler.
I have used the Picstart with MPLAB and had great success
which is my fall-back option.
But the product that I am working on is going to production and I need to consider in-circuit programming. The factory
wants to solder the components on the pcb and then program in-circuit, this way handling is minimized.

Has anyone used the in-circuit programming for production
environment?
 
I haven't used it in a production environment, but I have used the in circuit programming. The use of ISP was pretty much necessary because the device was a 64 pin QFP.

For production, we always use a contract manufacturer who buys the chips already programmed from the vendor. While you could use the ICD to perform this function, depending on the quantity and labor costs it could be cheaper to buy the parts already programmed. I believe that the programming charge is about $1 per chip for the 100 chips that get bought.
 
I program all my PICs in-circuit. Velly easy, velly fast with this remarkable tool.


It is inexpensive, fast, thrashes the flash by testing the written flash with multiple voltage read backs, and has First-Class software. It works very well for production programming.

I make an adapter cable that will hook the ICD2 or this Quickwriter to ALL my targets, then when production comes we just use the QuickWriter with total confidence.

Keith Cress
Flamin Systems, Inc.- - kcress@<solve this puzzle>
 
Nice Tool Smoked! Star for you. [2thumbsup] Some respectable pricing as well.
 
Thanks machmech. It's nice to find a product, once in a while, that feels like you should have paid 2 or 3 times more for.[spin]
 
Hiya-

I might suggest doing a google search for "cc5x"
a 90-95% C compiler (some constructs don't work)
and the price is right. Free.

I've used it a couple of times and have had good luck with it.

About a year ago I tried the sdcc c compiler with the PIC
libraries, but I didn't like it. I could fiddle around
with the assembly language output, and get it to work,
but there were some quirks with it that turned me off
to it.

CC5X also integrates well with the MPLAB software available
for free from microchip. But that's been mentioned before.

For "NON A" PIC parts you might look for one of the "serial"
programmers that use the printer port of a PC. Some of
them (mpja) has some for under $20.00 that include the
PC board and the parts. I've built my own, but shoot,
at that price, the "make" versus "buy" was very fuzzy!
You will need a little wall wart to power the device and
the little programmer. Something in the range of about
17-20Volts will do the trick. Also a short one to one
cable with DB25 connectors (one male the other female)
to connect between the printer port and the board.
Nowadays, the non A PICs are a little more expensive that
the A parts on DigiKey, but they are not too bad.

I have used PP06 (available from sourceforge) to do
programming for 16F627/628/877 but have had problems with
the programming of 628A,648A,877A etc. with it. YMMV
and there are other software packages that will/can use
the same hardware. You did mention that you wanted to
go "low cost".

I have since switched to an ICD2 from microchip. The
ICD 2 allows one to do some in circuit emulation like
operations that tend to make troubleshooting much easier.
It also programs the "A" parts....

I did many designs troubleshooting the code with little
snippets, LEDs, logic probes and scopes, but the ability
to set breakpoints, and easily examine special function
registers made the purchase of an ICD2 a no brainer very
quickly.

Hope that these little bits of information will be of
use.

Cheers,

Rich S.
 
Hi Rich, I just looked at their site, seems you meant "internet free" ie. not free.
 
We've used the ICD2 for production programming in the past. For the most part it worked well. One time we did run into a setup induced 'bug' where if the programmer wasn't set up properly it couldn't reprogram the part. That got ugly when a lot of boards shipped from the assembly house (luckily only back to us, the OEM) with diagnostic code loaded instead of production code.

If I remember the issue properly the wrong microprocessor was selected. The ICD2 programmed it anyway (that's why I call it a bug) once but couldn't program the same part a second time. Setting the correct micro AND retrying a few times got things working again at the OEM.
 
Hi cbarn24050

Well, gee, I went to the cc5x site today and it still showed
it to be free to me? Try the following link:


you mentioned:
"Hi Rich, I just looked at their site, seems you meant "internet free" ie. not free."

What part of their statement:
"A FREE edition of CC5X is available."
isn't clear?

As they have pointed out:
"Restrictions: The free edition can be used to generate code
for all prototype and non-commercial systems without
restrictions. Permission is given to use the generated code
in ONE commercial system. Permission is required to
distribute the FREE edition. Making any changes to the
compiler is strongly prohibited."

That aside-
The thing I do like about the cc5x is that although in
this version, you are limited to 1k object modules, at
least you can link the object modules together to get
code greater than 1K. I haven't seen that in any of
the other free c compilers.

The documentation is pretty darned good and the code
loaded up without a hitch.

I haven't used my one free commerial application for the
compiler, but the prototypes that I've done with them
have worked pretty well. The instructions for multiple
object files are kind of sketchy and required some
fiddling and farting about to get them linking correctly.
Other than that, it's been pretty good. I might even
have to "BUY" one (gulp) if I use up my one free
commerical app.

The header files for many of the pics are included and
it wouldn't take too much to generate a header for a new
pic. However, the pics that I have used 16f648a, 16f877a,
12f675 and 10f200 seem to be on there, so I haven't had
to go through that exercise. There were even some of
the 18F parts in the header files.

I am not affiliated with the folks of cc5x other than
being a user of their software.

Hope this helps.

Cheers,

Rich S.
 
Hi Rich, I see what I done now, I was looking at the cc5xtest edition. Have you managed to get it to do anything usefull or just micky mouse programs?
 
Hi cbarn24050

No problem. It isn't all that clear. They might have
too many options. But in any event, I'm glad that you
found it.

I've done some real stuff with it.

A couple of things comes to mind.

For fun I did a BCD clock. I'm sure you've seen the type
with 4 leds per digit. Implimented with a 16F648A. Took
about 1/2 K of code. Used timer 1 and interrupts. Worked
well, although somewhat inaccurate as I didn't use a
crystal, only the internal oscillator.

I've done some object modules that link together. One
each for:
LCD display using Hitachi protocol.
"RS232" driver for USART on the pics
7 segment LED display
4X4 matrix keyboard.

I haven't used the math libraries that comes with the
package. For the free one, they only include a 24 bit
version of floating point, but that seems to be o.k.

I was impressed with how "tight" the code is after looking
at the mixed listings output. They have done some good
optimizations there.

All in all, if someone is just learning C code for pics
or has a collection of applications that they don't
plan on selling as products (test fixtures, one off
prototypes, and/or other things around the lab/home)
it provides a low cost method of doing some high level
language programming on the pics.

Hope that this helps.

Cheers,

Rich S.
 
Thanks all for the good suggestions and insights.
I am convinced that the ICD2 is the way to go.
As for C-compiler, I'd have to think about using a commercial version because I don't think my company would want any licensing issues.
I might even just forget the C-compiler and do it
in MPLAB, if they'll let me.
 
Is it just me? Sounds like you could use the Test version to create an assembly file up to 8k in size (no hex)... but then you could just place that assembly file into MPLAB to create the hex file. If that works, it's a nice way to get a powerful free tool.

Dan
Owner
 
I have used the CCS compiler with good results.
It comes four ways
Low,Med,High console mode tool. $125,$125,$175
or the all in one windows version $300-400

Don't buy it through a distributor such as Newark or
Digi-Key. They placed bogus registration files on
those versions forcing you to go to their site and
download an upgrade. Sort of a forced registration.
Just buy it directly from them and the install will go
well.

 
"Is it just me? Sounds like you could use the Test version to create an assembly file up to 8k in size (no hex)... but then you could just place that assembly file into MPLAB to create the hex file. If that works, it's a nice way to get a powerful free tool."

I didn't try that method. It might work. I *DO* know
that by having multiple object files you can go up past
the 1K limit. I would think that the designers might
realize the path you suggested for the TEST version and gone
to some trouble to thwart that.

Still, I find that it is a worthwhile free tool. I'm sure
that the other compilers are very good too.

In addition there are other high level programming languages
avialable for the pic that are free on the internet.
However, I have not checked them out. I know *TOO* many
programming languages as it is!

To the original poster. Going with the ICD2 and a
commercial C compiler is probably the wisest choice if you
can do it within budget. Since the original post was for
"low cost" development tools, I suggested a set of tools
that can be assembled for free. Can't get much lower cost
than that. HOWEVER, there is always a tradeoff between
make vs. buy. For a starving engineering student, time
fiddling with stuff is certianly a better tradeoff than
spending good beer money on commerical hardware/software.
On the other hand, if you are a manager, you don't want
your engineers spending tens of hours playing with a toy
that has a much better supported interface that can be
bought for much less than the 10s of hours * salary of
an engineer. Just depends on where you are coming from.

Hope that this helps!

Cheers,

Rich S
 
"On the other hand, if you are a manager, you don't want
your engineers spending tens of hours playing with a toy
that has a much better supported interface that can be
bought for much less than the 10s of hours * salary of
an engineer."

Some of the drongoes I've worked for in the past were too tight to pay for a book about programming IBM PCs in assembler... so they paid me to figure it out for myself at their expense.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor