Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Good to start with?

Status
Not open for further replies.
If I was starting from scratch I am not so sure which I'd choose. I chose PICs long ago because it's what people around me used, primarily, and I had hardly heard of AVR's. Today, I am constantly seeing all sorts of great projects built with AVR's, and it seems like they've got a huge user base (like avrfreaks.net)

It almost seems like PICs are the "old fashioned" choice now, and that AVR's are exploding in popularity, particularly with newcomers - they seem like the new-age choice, as evidenced by the better open-source and linux support they seem to have.

I don't see PICs really gaining any new ground lately... Getting set up with a PIC programmer seems to be a huge problem for new people. The cheap JDM serial ones are finicky, newer computers don't always have parallel ports, and they can get pretty expensive when you start looking at USB programmers. I finally built myself a USB ICD2 clone but I certainly went through a bunch of programmers that gave me lots of problems before that...

Again, take this all with a grain of salt, I've got no real experience with AVR's, just PICs, but just know that I'm certainly no AVR evangelist (nor PIC evangelist, for that matter)
 
Too expensive Marks? 4.50 for the Mega 8 is hardly expensive for all it has. If you want cheaper chip a tiny26 will only run you 2 dollars and the cheapest one I know of is the tiny11 which is 50-60 cents. Though the tiny 11 requires high voltage programming (12 volts has to be applied to the reset line in a certain manner to enter programming mode) which makes the programmer a little more important. You also DON'T want the cheapest chip for your first chip as you'll want something with some more advanced features and some more meat to it to get you started. The cheaper less feature full chips are good once you get the hang of the architecture and start winnowing out the features you don't need. You can't add features to a chip if you find one on a bigger model you don't have, but you can chose not to use them. Spending a few more bucks for your first couple chips will save you money in the end.

Their current production programmer the Dragon. Which is 51 dollars from Digikey is a USB programmer. Which allows programming all AVR's in Parallel, high voltage serial and ISP programming modes, as well as JTAG programming and support for JTAG debug mode, which is a very good feature, it basically allows a PC chip level access to the AVR's internal hardware, every single bit of it. The only thing I don't like about the Dragon (but can be an advantage as can use custom connectors) It's shipped to use through hole plated .1 inch headers but doesn't come with any headers soldered on, so you have to provide and solder your own. This isn't that hard. I have an STK500, but that's the last generation programmer they had, much bigger bulkier and more expensive without as many features.
 
Too expensive Marks? 4.50 for the Mega 8 is hardly expensive for all it has. If you want cheaper chip a tiny26 will only run you 2 dollars and the cheapest one I know of is the tiny11 which is 50-60 cents. Though the tiny 11 requires high voltage programming (12 volts has to be applied to the reset line in a certain manner to enter programming mode) which makes the programmer a little more important. You also DON'T want the cheapest chip for your first chip as you'll want something with some more advanced features and some more meat to it to get you started. The cheaper less feature full chips are good once you get the hang of the architecture and start winnowing out the features you don't need. You can't add features to a chip if you find one on a bigger model you don't have, but you can chose not to use them. Spending a few more bucks for your first couple chips will save you money in the end.

Easy for you to say. You probably have a job... :rolleyes:
 
Marks, you're talking about the difference between 2 dollars and 5 dollars in a chip with 10 times the processing or resources.. Not 200 and 500.
 
Hey marks,

Im also in the market for a new programmer since the one i currently am using can only program the 16F84a :p

What does eveyone think about this one:

**broken link removed**


It even come with 12F629 chip too!

Edit: Forgot to mention that it seems to have quite a WIDE range of compatible PICS
 
Last edited:
Just say NO.

Spend a little more and get a ICD capable tool supported by MPLAB. That way are are not dependant on a 3rd party for devoce support and more importantly you can use it to debug you code in real time. PickKit2, Inchworm, other ICD2 clone, etc.
 
evandude said:
If I was starting from scratch I am not so sure which I'd choose.

After using both, I would recommend PIC to new comers, no doubt. It has much less to learn when one is starting. The whole programming setup is in one HEX file which includes object code, configuration fuses settings and possibily EEPROM data. While in the AVR camp, programming are done using separate files. The AVR fuse configuration issues may take longer time to fully understand the gotchas hiding in the back.

evandude said:
I chose PICs long ago because it's what people around me used, primarily, and I had hardly heard of AVR's. Today, I am constantly seeing all sorts of great projects built with AVR's, and it seems like they've got a huge user base (like avrfreaks.net)

I can think of several reasons:

a) AVR got what PIC have, priced about the same as PIC but upto four times faster than a PIC at the same crystal frequency
b) A free and very powerful GCC C ompiler for the AVR family
c) easy to make programmers with full details, parallel port based, serial port based or even USB. Most of them use no 12V involved, suitable for all(well most) AVRs.
d) simple, easy to build JTAG (the equivalent of ICD2 in AVR world) debugger

evandude said:
Again, take this all with a grain of salt, I've got no real experience with AVR's, just PICs, but just know that I'm certainly no AVR evangelist (nor PIC evangelist, for that matter)

I like both. They have their pros and cons under different situations. One don't have to choose to stick to one particular type.

@Sceadwian:

You keep recommending the M8, which does not have any debugging setup up available for it except using real ICE. Any reason why not the M88 as it is about the same price, pin compatible, same size Flash/SRAM/EEPROM and comes with debugwire features.
 
Last edited:
Hi Marks256,
Even if you have money, better keep for real needstor the developments of hobby for tomoroow. I suggest, better decide to use Flash type with ISP facility- assenle one on a proto board- perhaps, you may not require the ZIF socket( pardon me Nigel- don't call me a mizer) and you can use any ordinary socket, where you can plug the IC - and your job is done. and as you go ahead of the programming you can get aregular PCB and assemble it later
 
Hi Marks256,
Even if you have money, better keep for real needstor the developments of hobby for tomoroow. I suggest, better decide to use Flash type with ISP facility- assenle one on a proto board- perhaps, you may not require the ZIF socket( pardon me Nigel- don't call me a mizer) and you can use any ordinary socket, where you can plug the IC - and your job is done. and as you go ahead of the programming you can get aregular PCB and assemble it later

I would rather have the ZIF socket... My luck i would break a pin off on a normal IC socket...
 
Because preventing the end user from having the ability to either intentionally or accidentally enter programming mode without removing the chip might be desired, all that has to be be done is place a load on one of the ISP pins which would prevent the intended ISP signal from reaching it. Which some people do on accident anyways.
 
3v0 said:
Why do anything other the in circuit programming ?
That way you do not move the chip at all.

Because doing ICSP sets limitations on your design, you can overcome most of them, but it means more work and more complexity in the design - having the chip in a socket means the circuit is as simple and versatile as possible.
 
That might be true for an engineer doing firmware for high volumn consumer products like a microware oven. Or in the rare case where using ICSP pushed you from 28 to 40 pins.

28 pin pics are inexpensive They have enough pins for most project with enough to spare for ICSP. And as you said, if you need the 3 pins back that can be done.
 
ICSP can be very restricting when using one of the 12F6xx 8 pin PICs where there aren't enough pins to write three off for ICSP.

Having a programmer with the capability to do both ICSP and external programming is most desirable.
 
geko said:
ICSP can be very restricting when using one of the 12F6xx 8 pin PICs where there aren't enough pins to write three off for ICSP.

Having a programmer with the capability to do both ICSP and external programming is most desirable.
please see the url below-- ofcourse , atrick for 12f508/9 is described---by FENG


**broken link removed**

and Feng says he programmed TWO of the 12f6xx series at point 4 in url below

**broken link removed**
 
Last edited:
geko said:
ICSP can be very restricting when using one of the 12F6xx 8 pin PICs where there aren't enough pins to write three off for ICSP.
True but out of context. The title of the thread is "Good to start with". 8 pin chips are not good to start with.
Having a programmer with the capability to do both ICSP and external programming is most desirable.
I agree. But remember that Mark is strapped for cash. IIRC a while back he balked at the price of a $5 processor (or similar).

I can not imagine being in this hobby without a few solder-less breadboards. If I need to program a chip where I can not use ICSP (rare) I drop it in the board and program it there. Don't need any stinking zip sockets.:)

Mark wanted a Zip socket because he was afraid that he would bend pins if he reprogrammed the chip many times. Even if you have a ZIF socket on the programmer you most often do not have one on the target, so it only solves half the problem. A ICSP connector on the target is the way to go in this case.

Do not get me wrong. Every method has its place. In this case I think ICSP is the way to go.
 
3v0 said:
I can not imagine being in this hobby without a few solder-less breadboards.

I've got ONE somewhere, I've not used it for probably over 20 years?, and never used it much then - I've never been very impressed by them!.

Mark wanted a Zip socket because he was afraid that he would bend pins if he reprogrammed the chip many times. Even if you have a ZIF socket on the programmer you most often do not have one on the target, so it only solves half the problem.

You simply fit your target PIC in a turned pin socket, and a normal socket in the target board - the straight pins on the turned pin socket mean it easily goes in and out of the target board socket, with no chance of damaging the processor pins. In well over a decade, I've NEVER damaged a PIC pin, and never even damaged a turned socket pin either.
 
the fear of Mark is just as natural- those who are likely to damage a chip while pulling out will do in a overconfidencethat they can do well .- but in case of Mark, as he is logically expects possibility of bending pins, he will be carefull and i beleive he would never break/bend.

Thus i agree with 3v0's idea that mark can verywell use a normal breadboard,as he might have one, and improvise and be done with it.

Otherwise, i feel that FENG 's device is equally good- programmer as good as its driver software can support- as Once commented by Nigel-
 
I suggest ATMEGA48/88/128 (only difference is internal memory size)
28 pins and every imaginable hardware thing inside. ISP, JTAG, DebugWire, Timers (8 and 16 bit), PWM (4-6 channels), ADC, Analog Comparator, USART and a lot more I can't remember ATM. Programming via 6 resistors (LPT port) or buy a Dragon + STK500 for 49$ from Digikey. You can sell the dragon/STK for 40$ afterwards if it is too much for your budget. If you can spare the 5$ for the M88 chip, you are probably not going to buy another one for few months (if not years). I still have my first Mega8 that I bought 2 years ago. Still functional and all pins still straight and attached (using solderless breadboard). Even after pulling it out and putting it back on a LOT of times.

Fuses hard to handle? Why do you need to change them in the first place. 1MHz internal clock is enough for 90% of your applications (when you are beginning). You only need DebugWire when you use STK500 or Dragon (as you can't with other) so this also doesn't need changing... so no need to get there. How often are you programming the EEPROM? not very I hope. It dies pretty quickly you know ;) Better use an external one (AT32Cxx) on TWI (I2C for you non AVR freaks) ;)). ISP is way better regardless the application. No-one uses programming sockets ;) how are you going to, if you have most of the components (also the AVR) SMD? :p. Better invest into Dragon and/or STK500 and a bigger chip than into a ZIF socket. You can buy a ZIF after you have done some applications without it and earned some cash to buy one ;) to waste >15$ ofr a socket... naah. I'll rather buy myself a pint :)
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top