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.

Want a PIC programmer

Status
Not open for further replies.

Salgat

New Member
I've been working on AVRs for several months and really enjoy both the STK500 and all the free software that comes along with the AVR. I want to diversify my experience with microcontrollers and want to get a PIC programmer to work with. Is the PICKIT2 the standard? Are C compilers free for the PIC, or will I be stuck with ASM? Any random comments on your experience with PICKIT2 or the IDE? What should I expect in difference between the PIC and AVR, and I'm only interested in facts not opinions on which is better. Thanks for answering any of my questions, I am very interested in trying PICs.
 
Salgat said:
I've been working on AVRs for several months and really enjoy both the STK500 and all the free software that comes along with the AVR. I want to diversify my experience with microcontrollers and want to get a PIC programmer to work with. Is the PICKIT2 the standard?
The PICkit 2 is very, very good. I guess it's as close to a standard as there is. Probably the equivalent of the AVR Dragon, only the Dragon does even more.

Are C compilers free for the PIC, or will I be stuck with ASM?
There are multiple C compilers available for free in demo/student versions. Most of these versions are somewhat limited if you want to make BIG programs, but for most hobby stuff they're fine. SourceBoost BoostC is probably the cheapest if you want a full version license. Good compiler.

There are also BASIC, Python, JAL, Pascal and various other compilers out there. Lots of choice.

For 18F's there's Swordfish, a very good BASIC compiler.

Any random comments on your experience with PICKIT2 or the IDE? What should I expect in difference between the PIC and AVR, and I'm only interested in facts not opinions on which is better.
Well, I use both PICs and AVRs and I like em both, so I think I'm fairly unbiased. Probably MPLAB is a bit better than AVR Studio. PICs all program in high voltage mode (tho you can program them in low voltage mode too), so the AVR fusebit "lockout" problem doesn't exist in PICs.

I have two versions of PICkit 2 - a genuine Microchip one and a Blueroom Junebug clone. Both good. I also have two ICD2 clones. One is a straight clone and the other has a USB daughterboard (the Blueroom Inchworm+/Unicorn combo). They're good, but I pretty much use the PICkit 2's all the time.

Stay clear of the JDM's and RCD's and other crappy home-built programmers. They're nothing but trouble. They were designed long ago for savage olden days computers. They mostly don't work worth a damn on modern boxes. They're slow, they don't do debugging and they don't integrate nicely with MPLAB.

There are MANY more different models of PIC than AVR - a huge range of choices.

On the other hand, 16F and lower model PICs are pretty funky architecturally if you're coming from AVR or other MCUs. You'll find them strange, arcane, byzantine! :D They're hardcore RISC, with banked memory, severely minimal working registers (only 1), pretty much no useable stack and very limited addressing modes. But you quickly learn the tricks. There are ways around all those limitations. They're not so bad, and actually pretty fun to tinker with. If you're programming in C you won't notice this at all. The compiler hides all that from you. It's in assembler that they're pretty weird to get used to at first. The 18F's are much more normal, and the 16-bit models are pretty normal - almost CISC-like.
 
Last edited:
Futz gave a good answer.

For the most part what you can do with one you can do with the other. If you are using AVR and happy I see no good reason to learn PICs too.

If you want to try PIC start with the 18F series. The 18F1320 is a good place to start. Microchip provides a student version of their 18F compiler at no cost. It is not size or time limited.

As Futz said Microchip has many chips to choose from.

Futz: What does the dragon do better then the PICkti2?
 
I like the AVR better than the PIC, however, Microchip will let you sample (think it is 12 chips every 3 months) and it is cool to play with new chips/features or if you do single projects.

So learning both is not required but if you have the time if it fun.
 
If you want a compiler that "does it all" for the 12,16,18F series I can also recommend the SourceBoostC compiler. We used it at my last place of employment.

As for programmers, the PICKIT 2 is very inexpensive. I have both it and the MicroEngineering labs (melabs) U2 programmer kit with accessories. A link is here:

https://www.melabs.com/products/bundles.htm#USB

They also sell a housing for the programmer that is very durable (the PICKIT 2 housing is very chintzy). That package + the housing runs 150 or so shipped.
 
Wow a lot of helpful comments, thank you. I was curious, anyone have a list of various PICs to purchase? For example, I bought the ATmega644, ATtiny861, and ATtiny85 because of their diverse packaging and huge list of features that allowed me to learn most of the peripherals available on AVRs.
 
3v0 said:
If you are using AVR and happy I see no good reason to learn PICs too.
This is one of your ongoing opinions that I just can't comprehend. :p The reason is "because they're there". Why not have a look at the competition?

Futz: What does the dragon do better then the PICkti2?
It's not that it's so much better. It's that AVRs have quite a few more programming and debugging methods in common use than PICs, and the Dragon does them all. If you manage to accidently lock yourself out of an AVR with fusebits (very common) the Dragon has the means to rescue the chip, as it does every programming method there is for AVRs.

The PICkit 2 doesn't have to do all that, since PICs really only (for all practical purposes) program one way and debug one way. It makes PICs easier to use in that respect.
 
Last edited:
My major is Computer Engineering so I really would like to have a diversity of experience with the wide range of architectures out there if I want to be considered for jobs in embedded design. I really don't care if one is better than the other, it's more about what the business makes me work with. Thanks to all the responses out there, I'm really excited to work with the PICs and will probably order the PICKIT2 and blueroom's list of PICs sometime next month. I'm especially thankful for your help futz.
 
The PicKit 2 is a great programmer. An Olimex Pic-40 board with some .100" headers or sockets makes for some easy/cheap prototyping. The Pic low pin-count board is great for the smaller chips and projects.
 
In the end it is not the tools (uC brand) you use but what you can do with them. Spend the time learning somthing new. Not how to do the same thing with another toolschain/uC.

"because they're there" does not wash because there is little there you do not already have.

futz said:
This is one of your ongoing opinions that I just can't comprehend. :p The reason is "because they're there". Why not have a look at the competition?


It's not that it's so much better. It's that AVRs have quite a few more programming and debugging methods in common use than PICs, and the Dragon does them all. If you manage to accidently lock yourself out of an AVR with fusebits (very common) the Dragon has the means to rescue the chip, as it does every programming method there is for AVRs.

The PICkit 2 doesn't have to do all that, since PICs really only (for all practical purposes) program one way and debug one way. It makes PICs easier to use in that respect.
 
I'm sorry 3v0, but your very wrong. Employers want to hear that you have experience with the architectures they work with (when job competition is high, it helps), and if that means spending 60 dollars and some free time over the summer to include it as part of my hobby, then so be it. There are only a few main architectures out there that people expect you to have experience with, such as the PIC and ARM, and it does not hurt to know them.
 
Hi I am new here.I want to interface 16*2 LCD with PIC16F877.But my program doesn't work.can anyone help me?it will really appreciating.Thanks.
 
Dayna said:
Hi I am new here.I want to interface 16*2 LCD with PIC16F877.But my program doesn't work.can anyone help me?it will really appreciating.Thanks.
Umm... Dayna. Why the thread hijack? Start your own thread. You'll get noticed and probably helped there. You'll get told to go away here. :p

Anyway, there's an **broken link removed** on my site that might give you some ideas.
 
EDIT: This is an A then B vrs B then A. While I favor one over the other the choice is up to the individual The debate started in another thread where the OP was new to micro controllers and asked about switching between vendors.
------------------------------------------------------------------------------------------------------------------------
You are very sure of yourself! Given that I have little chance of convincing you that it is not me who is wrong. But a few years on the job will.

As a firmware engineer you will seldom be given the opportunity to pick the processor you work on. Either it will have been chosen long ago or someone else will make it. You switch processors and tools because the job requires it. It does not take long for this to become boring. Sort of like scrubbing toilets.

At times there may be more differences between processor lines within a vendors offering then between processors with similar performance from different vendors. For the most part switching vendors means switching tool-chains and that is as I said earlier boring.

It does not hurt to have experience using the tools and chips from several vendors. However, it makes little sense to do so until you have a very firm grasp of programming and embedded programming.


Salgat said:
I'm sorry 3v0, but your very wrong. Employers want to hear that you have experience with the architectures they work with (when job competition is high, it helps), and if that means spending 60 dollars and some free time over the summer to include it as part of my hobby, then so be it. There are only a few main architectures out there that people expect you to have experience with, such as the PIC and ARM, and it does not hurt to know them.
 
Last edited:
futz said:
This is one of your ongoing opinions that I just can't comprehend. :p The reason is "because they're there". Why not have a look at the competition?
What would you think of a mechanic who wanted a set of tools from every vendor he can find when he already had a good set of tools?

Sorry, I can not fix your car because it has disk brakes and I only learned about drums. But I have lots of tools.
 
Last edited:
Then, get some training or get some help from the internet, you should be able to adapt to the new situation quick once you got all the necessary tools and experience.
 
As 3v0 said, I worked for a company years ago. And I was an intel fan (pre-x86), but whatever we did a project with it would be a moto chip. :) Not an engineering choice, upper management.

SourceBoost has great product and price. Assembler would be the best to start with though far as learning the right way and price.
 
I do agree 3V0 that when you first start out you should stick to a single architecture to learn embedded design at the fundamental level, but I've worked with AVRs for quite some time and have nearly exhausted the features (or, peripherals in this case) the AVR can give, which is why I'm ready to move on to other architectures. Anyways, I suppose you could say I'm doing this to really see what the PIC is all about:p
 
  • Like
Reactions: 3v0
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top