Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Which Controller to use ??

Status
Not open for further replies.

0by1

Junior Member level 2
Joined
May 10, 2011
Messages
22
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,283
Activity points
1,422
Hi All,

As I am new to programming, I want to build a dev-board where I can run my programs.
I am confused which controller to select :roll:

Following are my criteria

-It should contain all interfaces, like I2C, SPI, ADC etc
-Easy to program & write a program
-Except 8051 core
-I am poor engineer ;-)
 


I think it would be very hard to look beyond Atmel's AVR's. They have fantastic free development software in AVR Studio 4 and now 5. Can develop in ASM or C. Lots of example code. Huge supports community ( AVRFreaks ). Free access to Capacitive touch technology with QTouch Library for a large range for their standard micros. You can start with very small 8-bit micro and work up to 32-bit if necessary. Win win win
 

both pic and avr are good for beginners and good in technical support too. Before start with PIC or AVR check availability of those microcontrollers in your area.


Good Luck.
 

Arduino is also an alternative (essentially AVR) Arduino - HomePage , the pros are many ready libraries for almost anything you can think of and free tools for both windows and linux.
The downside is that it uses many functions that operate as a wrapper on the low level C code so when you get used to that you may find it difficult to jump into any other platform.

Alex
 

Tossed a coin. . . going with PIC series:p
Again I am stuck here, 16F or 18F??

As I am beginner, can I digest these two??

My plan is to start with GPIO ---> write a RT-OS.
 

My plan is to start with GPIO ---> write a RT-OS.
The latter before or after you learned microcontroller programming? :)
Seriously you should choose PIC18, because it has definitely more resources (e.g. RAM) for complex programs. PIC24 won't be bad as well, by the way.
 

Microchip MCUs have one major disadvantage: truckload of silicon bugs, many of them quite serious (like almost completly disfunctional spi in 18f4550)
 

What is the difference between PIC16 and PIC18 for beginner? I recommend to forget about creating any kinds of demoboards yourself. If you are beginner, the best way to start from choose the most useful compiler. I greatly recommend to start with MikroE product, buy their demoboard and their debugger (for microchip the best of all - MikroProg). You will get a platform, development base and debug tool. With a thousands examples, very fast technical support and e.t.c.
That's not all. You can choose one of your favorite languages - C, pascal or basic.
MikroElektronika - Development tools, Compilers, Books
 
  • Like
Reactions: 0by1

    0by1

    Points: 2
    Helpful Answer Positive Rating
On the contrary I would recommend creating your own develepement boards. This way you can learn a lot about hardware implementation of microcontrollers. If you start by buying a board, you eventually will end up creating you own board for some particular application anyway.

I've never bought a single developement board. Of course manufacturing good homemade pcb's takes some effort, buy it's worth it. Of course I've killed relatively large number of electronic devices, but I think it was worth it. You can get valuable experience concerning EMC, powering, signal transmission, pcb design, component selection. If you aim at designing pcb on your own, but getting it made by a professional manufacturer then you may also add DFM (design for manufacturability) skills to all of the above.

As for the selection of MCU itself I's suggest the following (out of those that i have experience with)
-AVR
pros:
-many are available in DIL
-quite fast (20 MIPS)
-very simple programming + free IDE
-programmer is very easy to build the DIY way
-bottomless source of information (avrfreaks forum)
cons:
-may be easily bricked by messing up oscillator configuration. Perallell programmer needed for unbricking (complicated device)​

-STM32F1XX
pros:
-cheap
-ARM Cortex-M3 (lots of online resources)
-high processing power
-nice set of peripherials
cons:
-kind of complex for a beginner
-3.3V sometimes makes it a bit more difficult to interface MCU with common 5V CMOS​

-PIC 16/18
pros:
-simple
-big selection of specialised MCUs (LCD, USB, PWM etc.)
-tons of resources on the net
-relatively cheap
-most come in DIL packages making it possible to use breadboard
cons:
-8-bit
-low processing power (4 clks/instr, max ~12 MIPS)
-tons of silicon bugs
-at least 4 C compilers, all incompatible with each other, porting is usually hard​

-PIC 24H
pros:
-fast (40 MIPS)
-peripheral remapping
-lots of peripherals available
-lots of examples online
cons:
-silicon bugs
-not available in DIL
-3.3V only​

-dsPIC33
pros:
-same as above
-DSP functionality + ready DSP library available from Microchip
cons:
-same as above

-PIC32MX
pros:
-80 MHz, up to 1.56 MIPS per MHz
-MIPS 4000 core
-essentially PIC24H peripherals
cons:
-not as much resources online​

-MSP430
pros:
-simple
-low power
-easy to learn (IMO)
-extensive set of analog peripherals (ADC (both SAR and sigma-delta), DAC, opamps, VG-amps)
cons:
-medicore processing power
-multitude of power modes and clocking options may be confusing at first


 
  • Like
Reactions: 0by1

    0by1

    Points: 2
    Helpful Answer Positive Rating
I've never bought a single developement board. Of course manufacturing good homemade pcb's takes some effort, buy it's worth it. Of course I've killed relatively large number of electronic devices, but I think it was worth it. You can get valuable experience concerning EMC, powering, signal transmission, pcb design, component selection. If you aim at designing pcb on your own, but getting it made by a professional manufacturer then you may also add DFM (design for manufacturability) skills to all of the above.

Liked it... Exactly what I want to do.

Finally I am going to purchase one PIC18F and one MSP430
:-|
 

Try MSP430 Launchpad. Simple MSP430 microcontroller development board (with USB programmer in the same development board) cost $4.30 only. you can build lots of application in it.
 

That is true. I've bought that because it seems like a crime not to buy fully functional debugger for $4.30 shipped to your house :)
 

You didn't tell us if you will use C or assembly, although all assumed C!:smile:

Easyrider83 said:
If you are beginner, the best way to start from choose the most useful compiler.

I agree with that, you should search for a compiler in parallel with MCU searching.

alexan_e said:
Arduino is also an alternative (essentially AVR) Arduino - HomePage , the pros are many ready libraries for almost anything you can think of and free tools for both windows and linux. The downside is that it uses many functions that operate as a wrapper on the low level C code so when you get used to that you may find it difficult to jump into any other platform.

I also agree with that. So I suggest you also took a look at IAR EW. No ready libraries, you will write your own. Well performing and many macros implemented to make your life easier. Another big advantage is that it supports many architectures, so you won't be needing changing the compiler when you change MCU architecture.

IAR Systems - World leading provider of software development tools for embedded systems
 

No ready libraries, you will write your own.
This is very inportant step in learning microcontroller programming. If you start with extensive use of ready libraries (even worse if they are closed source) you won;t know how things exactly work. This leads to problems for which you cannot find solution, because you don't know how things work internally. Moreover, libraries are often written aiming at versatility, so they often perform much slower than anything you could write on your own from a scratch. They often contain many conditional instructions with different code variants depending on library configuration. Not to mention the fact that libraries often contain serious errors.

IMO it is fine to analyze code of ready libraries in order to learn things, but you really should write your own from a scratch.
 

I have worked both with PIC and AVR and for beginer maybe easies way is to use AVr ATmega8 for example or ATmega16 and take development board. Mikroelektronika board give good hardware for their price. I use them
https://www.mikroe.com/
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top