Author Topic: How about microcontrollers.......?  (Read 7646 times)

0 Members and 1 Guest are viewing this topic.

Offline pmg

  • Contributor
  • Posts: 5
How about microcontrollers.......?
« on: May 16, 2011, 06:59:08 am »
Being a new electrical engineering student, I don't have any experience with microcontrollers.  What would be a decent starter one?
« Last Edit: May 16, 2011, 07:44:07 am by gpm »
EE student.  IEEE student member.
 

alm

  • Guest
Re: How about microcontrolers.......?
« Reply #1 on: May 16, 2011, 07:55:01 am »
Being a new electrical engineering student, I don't have any experience with microcontrolers.  What would be a decent starter one?
For starting, I would recommend something popular, purely because of the amount of available information and help. PIC, AVR (and to a lesser degree) MSP430 would probably be the obvious choices, and maybe an ARM Cortex. For MSP430, the Launchpad might be a cheap way to start (memory and flash is somewhat limited, however), for ARM Cortex the STM32 Discovery or LPC Xpresso are options (but more expensive). All include a micro, a demoboard, a programmer/debugger (to load your code into the MCU and step through the code) and an IDE/C Compiler. I think Microchip has a bundle of a Pickit and a demoboard. Not sure what the AVR equivalent would be, maybe a Butterfly or MEGA-1284P Xplained? None of them include a debugger, though.

For an EE student, I would probably recommend learning C (if you don't know it already), since you're unlikely to use BASIC or Wiring (Arduino language) for courses or professional work. Since at least one course involving microcontrollers is likely to be part of your curriculum, it might be a good idea to find out which MCU they use.
 

Offline pmg

  • Contributor
  • Posts: 5
Re: How about microcontrollers.......?
« Reply #2 on: May 16, 2011, 09:16:10 am »
Thank you for the information. I appreciate it!
EE student.  IEEE student member.
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 7026
  • Country: nz
Re: How about microcontrollers.......?
« Reply #3 on: May 16, 2011, 10:48:18 am »
If you want to learn C i highly recommend you watch the Richard Buckland UNSW lectures about programming with C that are on Youtube.
Pretty sure the whole course is there, around 50 Lectures

He is really funny and explains things quite well.

I've been watching them for a while now and i already know C. :)

Here is lecture 1
« Last Edit: May 16, 2011, 10:51:04 am by Psi »
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline Trigger

  • Regular Contributor
  • *
  • Posts: 78
Re: How about microcontrollers.......?
« Reply #4 on: May 16, 2011, 02:55:55 pm »
+1 for learning C and register manipulation.  If you're an EE student then that will be a core skill you need to know.

If you want a solid start for micros TI has a lot of inexpensive options.  You can sign up on MicrochipDirect with a .edu email address you'll get 25% off of all dev tools.  There are also some fairly inexpensive Atmel tools.

Though first I'd check and see what micros your school uses in it's courses and go with that if they have a standard.
 

Offline Hypernova

  • Supporter
  • ****
  • Posts: 654
  • Country: tw
Re: How about microcontrollers.......?
« Reply #5 on: May 16, 2011, 11:58:07 pm »
Get an Arduino, BUT don't use the simplified language and just code in proper C. This way you get the learning experience and gain ready access to all the "shield" add-ons.
 

Offline sacherjj

  • Frequent Contributor
  • **
  • Posts: 993
  • Country: us
Re: How about microcontrollers.......?
« Reply #6 on: May 17, 2011, 01:50:24 am »
Get an Arduino, BUT don't use the simplified language and just code in proper C. This way you get the learning experience and gain ready access to all the "shield" add-ons.

Plus you eliminate the drudge work of providing a power supply for just messing around.  USB plug and go is great.  You may also want to pick up a TI LaunchPad or 2.  For $4.30, it is about as cheap as you can get into an MCU family.
 

Offline pmg

  • Contributor
  • Posts: 5
Re: How about microcontrollers.......?
« Reply #7 on: May 17, 2011, 10:43:55 am »
If you want to learn C i highly recommend you watch the Richard Buckland UNSW lectures about programming with C that are on Youtube.
Pretty sure the whole course is there, around 50 Lectures

He is really funny and explains things quite well.

I've been watching them for a while now and i already know C. :)

Here is lecture 1

Thanks for the info and the video Psi!
EE student.  IEEE student member.
 

Offline pmg

  • Contributor
  • Posts: 5
Re: How about microcontrollers.......?
« Reply #8 on: May 17, 2011, 10:49:15 am »
Thank you all for the advice.  I really appreciate it!!
EE student.  IEEE student member.
 

Offline Trigger

  • Regular Contributor
  • *
  • Posts: 78
Re: How about microcontrollers.......?
« Reply #9 on: May 17, 2011, 04:11:02 pm »
Get an Arduino, BUT don't use the simplified language and just code in proper C. This way you get the learning experience and gain ready access to all the "shield" add-ons.

Plus you eliminate the drudge work of providing a power supply for just messing around.  USB plug and go is great.  You may also want to pick up a TI LaunchPad or 2.  For $4.30, it is about as cheap as you can get into an MCU family.

He's an EE student he needs the drudge work initially to learn!  8)
 

Offline sacherjj

  • Frequent Contributor
  • **
  • Posts: 993
  • Country: us
Re: How about microcontrollers.......?
« Reply #10 on: May 17, 2011, 11:22:24 pm »
Get an Arduino, BUT don't use the simplified language and just code in proper C. This way you get the learning experience and gain ready access to all the "shield" add-ons.

Plus you eliminate the drudge work of providing a power supply for just messing around.  USB plug and go is great.  You may also want to pick up a TI LaunchPad or 2.  For $4.30, it is about as cheap as you can get into an MCU family.

He's an EE student he needs the drudge work initially to learn!  8)

Yes and No.  When just starting, knowing a system works, except for your software, is a great thing.  Yes, you learn something by figuring out that you screwed up your breadboard.  But when you have 4 things wrong and your software is only one of them, it is beyond frustration trying to fix them all at once with limited knowledge.

Once a project is working on an Arduino board, using normal AVR C.  Then the process of taking it from the board to a standalone project, with a new crystal, voltage regulation if not doing batteries, etc. can be learned.  Often times throwing people in the ocean 10 miles off shore and telling them to learn to swim by swimming back to shore is counter productive.
« Last Edit: May 18, 2011, 02:02:02 am by sacherjj »
 

Offline FreeThinker

  • Frequent Contributor
  • **
  • Posts: 791
  • Country: england
  • Truth through Thought
Re: How about microcontrollers.......?
« Reply #11 on: May 18, 2011, 01:57:18 am »
If you want to learn C i highly recommend you watch the Richard Buckland UNSW lectures about programming with C that are on Youtube.
Pretty sure the whole course is there, around 50 Lectures

He is really funny and explains things quite well.

I've been watching them for a while now and i already know C. :)

Here is lecture 1

BIG thumbs up to that. If you watch all the way through remember to send him some mars bars (full size NOT mini) he seems to really like them. ;D
Machines were mice and Men were lions once upon a time, but now that it's the opposite it's twice upon a time.
MOONDOG
 

Offline Zad

  • Super Contributor
  • ***
  • Posts: 1013
  • Country: gb
    • Digital Wizardry, Analogue Alchemy, Software Sorcery
Re: How about microcontrollers.......?
« Reply #12 on: May 18, 2011, 09:14:40 am »
I am sure he is probably a good C lecturer, but I'm 2/3 of the way through the second lecture and he really is getting a huge number of "facts" wrong. It wasn't going well when he said his beloved Mac had a Linux kernel (it is a Mach kernel).

Heat in processors isn't generally generated by two conflicting transistors being on together, but from the charge movement needed to turn the gates on and off. He also doesn't know what a Slot-1 CPU looks like. I think the last Intel iAPX86 cpu that had pins was the 386 around 1990.

Also, Alan Turing's (although actually Tommy Flowers) Colossus considerably pre-dates ENIAC. I wouldn't expect an American to know that, but I would expect it from an Aussie who teaches computing! It was slightly before "late 1940s", as it is one of the major reasons we aren't speaking German today. Colossus is kinda important in computing history. Come to think of it, it is important in history full stop.


Offline baljemmett

  • Supporter
  • ****
  • Posts: 666
  • Country: gb
Re: How about microcontrollers.......?
« Reply #13 on: May 18, 2011, 09:42:22 am »
I think the last Intel iAPX86 cpu that had pins was the 386 around 1990.

I think you can go right up to the Pentium / Pentium Pro (Socket 7 and Socket 8, respectively) for that; I know I had a 486DX2/66 with pins, and I'm pretty sure the P133 that replaced it did too.  Slot 1 came in with the Pentium II.  Or have I got the wrong end of the stick?
 

Offline oPossum

  • Frequent Contributor
  • **
  • Posts: 709
  • Country: us
  • The other white meat
Re: How about microcontrollers.......?
« Reply #14 on: May 18, 2011, 11:41:37 am »
P3 began with SECC (slot) and then switched to PGA (pins).
P4 began with PGA and then switched to LGA.
Core Duo, 2 Duo and Solo where PGA for standard notebook applications (not ULV).
I think the latest Core i3/i5/i7 for notebooks are also still PGA.
 

Offline FreeThinker

  • Frequent Contributor
  • **
  • Posts: 791
  • Country: england
  • Truth through Thought
Re: How about microcontrollers.......?
« Reply #15 on: May 20, 2011, 03:47:52 am »
I am sure he is probably a good C lecturer, but I'm 2/3 of the way through the second lecture and he really is getting a huge number of "facts" wrong. It wasn't going well when he said his beloved Mac had a Linux kernel (it is a Mach kernel).

Heat in processors isn't generally generated by two conflicting transistors being on together, but from the charge movement needed to turn the gates on and off. He also doesn't know what a Slot-1 CPU looks like. I think the last Intel iAPX86 cpu that had pins was the 386 around 1990.

Also, Alan Turing's (although actually Tommy Flowers) Colossus considerably pre-dates ENIAC. I wouldn't expect an American to know that, but I would expect it from an Aussie who teaches computing! It was slightly before "late 1940s", as it is one of the major reasons we aren't speaking German today. Colossus is kinda important in computing history. Come to think of it, it is important in history full stop.
He's NOT an EE, he teaches programming and as such needs to simplify some things in order to convey a concept. As to his mac, he was alluding to the fact he runs Linux on the machine and as it is running a linux kernel (albeit alongside the mac kernel) and this is for compatibility reasons with the uni system. AS to the ENIAC thing it is only in the last 6-7 years that classified documentation has been released to confirm that colossus did indeed predate  ENIAC by some two years previous to that it claimed by the Americans that they got there first and as these lectures are over 3 years old he can be forgiven for being a little behind the times. As the course continues you start to see just how clever this man is and a great educator, a real gift of communication. His essence is in his willingness to fail, fail is good IF you then learn from it, his objective is NOT to each C ( syntax ) but to teach programming (concepts) eg The nuts and bolts don't matter what is important is a clear and logical solution to a problem with well defined structure to implement it. Get this right and the coding becomes trivial. Carry on watching and if you take on board the concepts you cannot help but become a better programmer as his basic premiss is KISS a great watchword for us all.
Machines were mice and Men were lions once upon a time, but now that it's the opposite it's twice upon a time.
MOONDOG
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf