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.

Microchip buys Atmel

Status
Not open for further replies.
Depends on the use.

If the use is to connect it to the USB cable, run a sketch and say "Whoa!", then Arduino beats everything - that's how they got popular.

If the use is to build a (possibly complicated) circuit where controller is just a part of it, then develop and debug the program in-situ (the way Mr Al uses the Nanos I suppose), then bare PIC is more useful, although it may require connecting few more wires.

If the use is to build 10 copies of the same device, Arduino is completely in the dust.

Hi again,

Your first paragraph sounds like it came from someone who never actually used a Nano. I had a somewhat similar attitude when i used PIC chips and never yet used an Arduino board. I had the impression that they were just for beginners. Then someone gave me a board and i tried it and my attitude changed. The good points started to show up one after the other.
Dave Jones has something similar to say, that the name sounds weird and it looks like a toy, but it's not. Like other things it can be used like a toy, or used for something practical.

First, the board plugs in and is ready to be programmed.
Second, the one software download gets you started on maybe 100 example projects that gets you familiar with everything. If you buy a China version you may have to download a small driver and install, but only takes a couple minutes.
Third, if you have already done C programming in the past then you are creating your first custom project in less than an hour.
Fourth, easy to modify, no extra hidden costs.

The biggest advantage though is that the boards come already working, no soldering to start with. For a final project though you want to solder to the board pins/holes. I get the boards with no pins installed for this.

With the Microchip PIC chip lines, you need a programmer of some kind. I see that the 16F1455 data sheet says that it is 'self programmable" but i dont know what that means yet. Perhaps you can explain how to program one of these things. The DEV kit for that is $73.00 USD which is a bit much already, and not sure if the Compiler comes with that or how to upload a compiled program.

When i used PICs i had a board that i plugged the PIC chip into, a zero insertion force socket, then uploaded the program which originated in ASM. But i am interested to hear how this newer chip the 16F1455 can be programmed, what it takes to get the FIRST one programmed when a person has never programmed THAT chip before but has programmed other PIC chips using their programmer board, i think it's called Pic Chip I.

Since it is just a chip though a board has to be made for it, unless it is such a simple project that wires can be soldered to the pins on a socket and then need no board, but that's kind of limited.
 
If the use is to build 10 copies of the same device, Arduino is completely in the dust.

As is any PIC development system as well (or any other) - you can't compare development systems to a bare processor.

Although the Nano is commonly used in lot's of complete devices, such as laser writers and 3D printers - it's more of a 'mid-way' step between a bare processor and a full development system.

Personally I'm still a BIG PIC advocate, although I have bought a few Nano's and Arduino's to play with.
 
@Mr Al: I agree. Arduino provides very rewarding first experience. The beginner plugs it in, it works. She connects sensors, shields, load sketches written by other people, everything is working, LEDs are blinking, She's happy. Although, She probably didn't learn much at this point.

To the contrary, if you start from a bare PIC, you need to connect power, you need to make some connections, connect LEDs etc. I bet, if you're a beginner, you definitely will connect something wrong, so it won't work, might get you frustrated. Some people may feel horrible, may even quit right away. Other will persist and will make it work. It may have not be as smooth, but the person doing this actually learned something, they're no longer afraid of connecting things, they wrote few lines of code, they made lots of errors in these few lines, and they learned from these mistakes. It might have taken couple days to light their first LED, but they did this with their own hands. If they didn't give up already, they can move forward ...

At the next stage, when you're past the very beginning, things change. Now you need to make something. To some point Arduino people can get away with sticking modules into their Arduino, but this approach will not take you very far, at some point you need to make your own boards, solder something etc. Here's how the experience with a PIC would look like.

First, you select the PIC you like for your project, you design your circuit, and you build it. You can do it on breadboard if you're not sure about your circuit, or you can order real PCB - it's real cheap now. When you build your circuit, you create 5-pin ICSP connector - power, ground, reset pin and two communication lines. This connector is needed to connect a programmer/debugger. You do need it, but you need only one, and you can use with any project. That's all you need.

Second, you mount an unprogrammed chip. You can solder it right in or use a socket in case you want to change it later, you connect your programmer. From that point on, you just work with it from IDE. You write a program, you can program it on the chip, you can reset it, or you can run it, or you can debug it - you can stop your program anywhere, you can watch any variables. Once you're done, you simply disconnect the programmer and use your circuit. You can come back to it few years later, re-connect the programmer and re-program it, or if you notice some bugs you can debug them at any time.

You don't need to use assembler with PICs. You can use C - there are several vendors making compilers, or other high-level languages, such as C++.

The variety of PICs is enormous. There are some which are powerful enough to run Linux on them. So, before you start a project, you can select the one which you like - e.g. for one project you can select a PIC with fast ADC modules, for the other project, you can select PIC with ultra-low power consumption. You can use any of them with the same programmer and IDE and you're not restricted in what you can do with them.

I guess this is not unique to PICs. You can work with other microcontrollers the same way, but I work with PICs.
 
Last edited:
As is any PIC development system as well (or any other) - you can't compare development systems to a bare processor.

I'm a BIG PIC advocate too.

My point is that with PIC you don't need any special development system. You just connect your programmer/debugger to the PIC when it is already in its destination circuit and start debugging or re-programming. Programmer/debugger is really a simple thing, and if you do not wish to use an external one, you can install a programming/debugging chip on your project board - will make an Arduino-like arrangement only without bootloader.

Arduino, on the other hand, uses on-chip bootloader (has to be pre-programmed) and on-board USB interface (has to be put somewhere), so instead of a single chip it requires a board. Sure, mass-production in China moved the price down, but genuine ones are really expensive.
 
@Mr Al: I agree. Arduino provides very rewarding first experience. The beginner plugs it in, it works. She connects sensors, shields, load sketches written by other people, everything is working, LEDs are blinking, She's happy. Although, She probably didn't learn much at this point.

To the contrary, if you start from a bare PIC, you need to connect power, you need to make some connections, connect LEDs etc. I bet, if you're a beginner, you definitely will connect something wrong, so it won't work, might get you frustrated. Some people may feel horrible, may even quit right away. Other will persist and will make it work. It may have not be as smooth, but the person doing this actually learned something, they're no longer afraid of connecting things, they wrote few lines of code, they made lots of errors in these few lines, and they learned from these mistakes. It might have taken couple days to light their first LED, but they did this with their own hands. If they didn't give up already, they can move forward ...

At the next stage, when you're past the very beginning, things change. Now you need to make something. To some point Arduino people can get away with sticking modules into their Arduino, but this approach will not take you very far, at some point you need to make your own boards, solder something etc. Here's how the experience with a PIC would look like.

First, you select the PIC you like for your project, you design your circuit, and you build it. You can do it on breadboard if you're not sure about your circuit, or you can order real PCB - it's real cheap now. When you build your circuit, you create 5-pin ICSP connector - power, ground, reset pin and two communication lines. This connector is needed to connect a programmer/debugger. You do need it, but you need only one, and you can use with any project. That's all you need.

Second, you mount an unprogrammed chip. You can solder it right in or use a socket in case you want to change it later, you connect your programmer. From that point on, you just work with it from IDE. You write a program, you can program it on the chip, you can reset it, or you can run it, or you can debug it - you can stop your program anywhere, you can watch any variables. Once you're done, you simply disconnect the programmer and use your circuit. You can come back to it few years later, re-connect the programmer and re-program it, or if you notice some bugs you can debug them at any time.

You don't need to use assembler with PICs. You can use C - there are several vendors making compilers, or other high-level languages, such as C++.

The variety of PICs is enormous. There are some which are powerful enough to run Linux on them. So, before you start a project, you can select the one which you like - e.g. for one project you can select a PIC with fast ADC modules, for the other project, you can select PIC with ultra-low power consumption. You can use any of them with the same programmer and IDE and you're not restricted in what you can do with them.

I guess this is not unique to PICs. You can work with other microcontrollers the same way, but I work with PICs.


Hi,

Well then all we can really say is, "To each, their own".

But i'd like to hear a little more about the 16F1455 chip. What would it take to program one, the first one, with no programmer to start with, in the C language?
 
But i'd like to hear a little more about the 16F1455 chip. What would it take to program one, the first one, with no programmer to start with, in the C language?

Why would anyone want to program it without a programmer? What would it take to screw a screw without a screwdriver? Probably next to impossible. Does it mean people need to abandon screws and fasten everything with ropes because ropes do not require screwdrivers?

As to the C language, you can use it, as well as C++, Pascal, Basic or any other language which has a compiler for your PIC.
 
Why would anyone want to program it without a programmer? What would it take to screw a screw without a screwdriver? Probably next to impossible. Does it mean people need to abandon screws and fasten everything with ropes because ropes do not require screwdrivers?

As to the C language, you can use it, as well as C++, Pascal, Basic or any other language which has a compiler for your PIC.

Hello,

I am asking a simple question. What does it take to program one of those chips?
Would i have to buy a programmer, if so, which one?
If i am forced to buy a C compiler, which one is the cheapest?

Forget about the PIC vs Arduino debate for now :)

I am trying to figure out what my initial investment would be, that's all. I'll figure out if i want to actually go that route later. Right now i can only program a limited number of baseline PIC chips with the PicKit 1.
 
I just see a shrinking pool of chip companies, I liked Hitech c and XC8 whatever people tell me isnt HI Tech C its a malformed interbred monster. Microsoft brought out Nokia and then made windoze 10, Nokia used to be a good phone.

The last two companies i ever wanted to see merge were Atmel and Microchip, what next ARM buy's microchip?
 
I am asking a simple question. What does it take to program one of those chips?

You need an ICSP programmer, which is also a debugger.

Would i have to buy a programmer, if so, which one?

Most people use PICkit3. OLIMEX sells cheaper clones of them. There are actually several different companies selling programmers. Microchip have more expensive ICD3 and REALICE debuggers, but IMHO they are not worth their price with lots of cheaper alternatives.

If i am forced to buy a C compiler, which one is the cheapest?

No. Microchip compilers are free. The "pro" version with more optimization enabled is $1000, but it's not that much different from free version.

There are Mikroelectronika and CCS C compilers. These are not free.

BTW: I'm working on a compiler myself. Will be free when released. Although it'll be different from C standard because it will include extensions which are useful for PICs. I also have programmer/debugger, but it's not very useful until the compiler is ready because it can only debug with my compiler.

I am trying to figure out what my initial investment would be, that's all. I'll figure out if i want to actually go that route later. Right now i can only program a limited number of baseline PIC chips with the PicKit 1.

Not much. The only mandatory part is a programmer. If you're going to buy boards, this can get off hands real soon - the development boards are expensive, but there's lots of products by third parties ranging from simple sockets to complex boards. I personally build my circuits myself, mostly on breadboard. If I want to keep something, I order PCB and solder. That is all matter of personal preferences.

I have nothing against Arduino - that's amazing how they have built an incredible community around this thing. But while I believe it's very good for the beginners, I don't think it's the best for serious projects. And all my projects are very serious :)
 
Hello,

I am asking a simple question. What does it take to program one of those chips?
Would i have to buy a programmer, if so, which one?
If i am forced to buy a C compiler, which one is the cheapest?

Forget about the PIC vs Arduino debate for now :)

I am trying to figure out what my initial investment would be, that's all. I'll figure out if i want to actually go that route later. Right now i can only program a limited number of baseline PIC chips with the PicKit 1.
North guy gave you a full answer, I have both a pickit3 and a ICD3, my only advice would be if your using win7 64 bit go with ICD3 any other operating system then go with pickit3! use the free compilers, there is the mplab v XC8 debate but if I was starting again I would start with XC8 then it wouldnt seem such a learning curve!. I have found it hard to switch to XC8 but maybe thats me, if your starting out then you dont have the baggage to worry about. get a real deal pickit 3 as microchip stand buy them, I have had 4 replaced free, the problems were all win7 64 bit related driver problems and switching between 16 bit and 8 bit chips. I never had any problems with any other operating system though.

ICD3 is ok but mostly you wont ever need the extras. The other plus being pickit 3 is just a header connection and ICD3 is a RJ11 type plug which irritates me no need despite building an adapter for it
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top