How about microcontrollers.......? - Page 1
Forum section: electronics / beginners

author: pmg
author_rank: Newbie
timestamp: May 15, 2011, 08:59:08 pm
content: Being a new electrical engineering student, I don't have any experience with microcontrollers. What would be a decent starter one?

author: Unknown
author_rank: Unknown
timestamp: May 15, 2011, 09:55:01 pm
content: Quote from: gpm on May 15, 2011, 08:59:08 pmFor 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.

author: pmg
author_rank: Newbie
timestamp: May 15, 2011, 11:16:10 pm
content: Thank you for the information. I appreciate it!

author: Psi
author_rank: Super Contributor
timestamp: May 16, 2011, 12:48:18 am
content: 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 LecturesHe 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

author: Trigger
author_rank: Regular Contributor
timestamp: May 16, 2011, 04:55:55 am
content: +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.

author: Hypernova
author_rank: Unknown
timestamp: May 16, 2011, 01:58:07 pm
content: 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.

author: sacherjj
author_rank: Frequent Contributor
timestamp: May 16, 2011, 03:50:24 pm
content: Quote from: Hypernova on May 16, 2011, 01:58:07 pmPlus 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.

author: pmg
author_rank: Newbie
timestamp: May 17, 2011, 12:43:55 am
content: Quote from: Psi on May 16, 2011, 12:48:18 amThanks for the info and the video Psi!

author: pmg
author_rank: Newbie
timestamp: May 17, 2011, 12:49:15 am
content: Thank you all for the advice. I really appreciate it!!

author: Trigger
author_rank: Regular Contributor
timestamp: May 17, 2011, 06:11:02 am
content: Quote from: sacherjj on May 16, 2011, 03:50:24 pmHe's an EE student heneedsthe drudge work initially to learn!

author: sacherjj
author_rank: Frequent Contributor
timestamp: May 17, 2011, 01:22:24 pm
content: Quote from: Trigger on May 17, 2011, 06:11:02 amYes 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.

author: FreeThinker
author_rank: Frequent Contributor
timestamp: May 17, 2011, 03:57:18 pm
content: Quote from: Psi on May 16, 2011, 12:48:18 amBIG 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.

author: Zad
author_rank: Super Contributor
timestamp: May 17, 2011, 11:14:40 pm
content: 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.

author: baljemmett
author_rank: Unknown
timestamp: May 17, 2011, 11:42:22 pm
content: Quote from: Zad on May 17, 2011, 11:14:40 pmI 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?

author: oPossum
author_rank: Super Contributor
timestamp: May 18, 2011, 01:41:37 am
content: 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.

author: FreeThinker
author_rank: Frequent Contributor
timestamp: May 19, 2011, 05:47:52 pm
content: Quote from: Zad on May 17, 2011, 11:14:40 pmHe'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.