Author Topic: Microcontroller for students- Suggestions please!  (Read 16869 times)

0 Members and 1 Guest are viewing this topic.

Offline McPeteTopic starter

  • Regular Contributor
  • *
  • Posts: 163
  • Country: au
  • Layout Designer, AKA eCAD monkey
Microcontroller for students- Suggestions please!
« on: April 18, 2011, 01:43:13 pm »
Hey all,
I'm after some advice to pass on to my microcontrollers teacher- we need a MCU and development board to replace the Motorola/Freescale MC68HC11.
It needs to be cheap in small quantities, and easy to work with in assembler, and probably connect via USB.
 I have suggested the MSP430 Launchpad, but he found the IDE too  complicated for students, and the devices too limited. Others in my class are suggesting ARM based devices, but that sounds to me like using a sledgehammer to open a walnut.

What do people rate for learners?
 

Offline firewalker

  • Super Contributor
  • ***
  • Posts: 2452
  • Country: gr
Re: Microcontroller for students- Suggestions please!
« Reply #1 on: April 18, 2011, 01:54:23 pm »
Have a look at Arduino.

http://arduino.cc
Become a realist, stay a dreamer.

 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 798
  • Country: lt
Re: Microcontroller for students- Suggestions please!
« Reply #2 on: April 18, 2011, 02:59:02 pm »
Have a look at Arduino.

http://arduino.cc

The hardware is OK, like all AVRs, but DON'T USE THAT SKETCH PAD!!!
 

Offline Zad

  • Super Contributor
  • ***
  • Posts: 1013
  • Country: gb
    • Digital Wizardry, Analogue Alchemy, Software Sorcery
Re: Microcontroller for students- Suggestions please!
« Reply #3 on: April 18, 2011, 04:29:47 pm »
How is the Arduino at assembler? I know it uses its own C-like language but is there an assembler for it too?

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: Microcontroller for students- Suggestions please!
« Reply #4 on: April 18, 2011, 05:05:33 pm »
Arduinos have Atmel AVR MCUs. There are two main issues here:

1) The whole Arduino environment is made for hand holding artists and similar people who "won't get it". It is totally unusable for teaching engineering students how things really work.

2) Native Atmel tools are also not good, since Atmel released a new IDE called AVR Studio 5.

So with AVRs you have on one child toys catering for the idiots (Arduino), on the other end you have a 0.5 GB IDE (AVR Studio 5), completely out of tune with reality. And not much any more in between.

IMHO this makes AVRs (in the form of Arduinos or otherwise) totally useless for teaching engineering students.
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: Microcontroller for students- Suggestions please!
« Reply #5 on: April 18, 2011, 06:30:52 pm »
LPCXpresso seems like a good fit as long as you don't mind being stuck with CodeRed.
You can also try the STM32 Valueline Discovery kit.

I assume they used CCS with the Launchpad.  If that's the case, I'm not certain what you are going to do, because it's not that complicated.
Mark Higgins
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11713
  • Country: my
  • reassessing directives...
Re: Microcontroller for students- Suggestions please!
« Reply #6 on: April 18, 2011, 09:55:46 pm »
how about PIC? and imho, you dont need to buy the development board. just ask the student to connect to proper ICSP pin from programmer, and few resistors and LED to play with. you need a breadboard or something though.
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

alm

  • Guest
Re: Microcontroller for students- Suggestions please!
« Reply #7 on: April 18, 2011, 11:10:59 pm »
So with AVRs you have on one child toys catering for the idiots (Arduino), on the other end you have a 0.5 GB IDE (AVR Studio 5), completely out of tune with reality. And not much any more in between.
AVR Studio 4 is not dead (yet), it's still supported as long as AVR Studio 5 is still in beta (which could easily take another year, given Atmel's track record for timely releases).

The LPC Xpresso seems like a good option to me: choice of various ARM Cortex M0 and M3 models, with lots of peripherals. I think the LPC1769 with USB host and ethernet is also available, but for beginners the smallest Cortex M0 should be fine. STM32 is another option: cheaper devboard, more restricted IDE (I think the license was limited to something like non-commercial use?), less powerful MCU. Make sure the license of whatever development board and IDE/compiler you use allows you to use it, I remember one of them being considered unsuitable for training purposes because of the license, at least for commercial courses.

The advantage of ARM is that it's (kind of) vendor-neutral and gaining popularity, which in my eyes is better than some proprietary architecture like the 8/16-bit PICs, MSP430 or AVR, which are losing market share to the new cheap low-power 32-bit parts (at least that's what the various ARM manufacturers are telling us ;)).
 

Offline frank26080115

  • Regular Contributor
  • *
  • Posts: 74
Re: Microcontroller for students- Suggestions please!
« Reply #8 on: April 19, 2011, 06:24:26 am »
Hey I'm an university student myself and my product, a AVR dev-kit with USB, is sold on Seeed Studio here http://www.seeedstudio.com/depot/usnoobie-kit-p-708.html?cPath=104_128

Oh, also I have a MBED, which has been pretty nice
 

Offline Neganur

  • Supporter
  • ****
  • Posts: 1155
  • Country: fi
Re: Microcontroller for students- Suggestions please!
« Reply #9 on: April 19, 2011, 10:00:53 am »
People here use AT90USBKEY (27€, AT90USB1286, 8-bit) with WinAVR and AVRStudio 4. I think the reason is the debugger, pretty useful while learning/teaching.

They also use the mbed (50€, LPC1768, 32-bit) and LPCXpresso (LPC1769).
I could ask them why they chose this hardware if you like. I remember that the main criteria were software and debugger or something.
The current microcontroller lecturer has no PIC experience and hence avoids it.

I personally disliked the MSP430 IDE too. Installing it was really annoying.


 

Offline alvarop

  • Contributor
  • Posts: 32
    • alvarop.com
Re: Microcontroller for students- Suggestions please!
« Reply #10 on: April 19, 2011, 11:05:29 am »
The best thing about the MBED is how it's programmed. It connects through USB as a mass storage device and you just drag and drop the binary file, that's it! That being said, the compiler is online (although I hear you can download a standalone one). Some more information on Assembly and MBED: http://mbed.org/cookbook/Assembly-Language
One maind drawback is the lack of debugging. You'd have to run it in a simulator, make sure it works, then program the actual device.

In my university, they use a non-launchpad MSP430 dev kit to teach assembly.
 

Offline logictom

  • Supporter
  • ****
  • Posts: 336
  • Country: au
Re: Microcontroller for students- Suggestions please!
« Reply #11 on: April 19, 2011, 12:45:00 pm »
How about the microstick from Microchip?
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en548414
At $25 it comes with a pic24 and a dspic33, in built programmer/debugger and plugs into a breadboard.
MPLab is free and there's a free compiler for academic use. Universitys also get a 25% discount on development tools.

Anyone would think I work for microchip..... :P
 

Offline McPeteTopic starter

  • Regular Contributor
  • *
  • Posts: 163
  • Country: au
  • Layout Designer, AKA eCAD monkey
Re: Microcontroller for students- Suggestions please!
« Reply #12 on: April 23, 2011, 05:43:17 am »
Hi Guys,
Thanks for the suggestions!

The MBED does look nice, but at ~$100 per unit, it's a bit pricey for technical college students! Arduino and stand-alone ATMEL hardware has been suggested in the past, but again, our teacher regards them as difficult for teaching assembler.

The Microstick though, that looks about right. Limited device support, but heck, it's a fairly powerful 16 bit MCU, with options for doing DSP work as well, it's USB connected and it plugs right onto a breadboard for debugging. At ~$25 Australian, it isn't out of reach either. I think the trade classes (I'm doing an associate degree/diploma) use PICs, so all the computers already have MPLAB on them, so that's less hassle- the college IT department is a bit funny about that sort of thing.

I'll definitely be passing that along to my teacher. Thankyou all!

P.
 

Offline sigxcpu

  • Regular Contributor
  • *
  • Posts: 64
  • Country: ro
Re: Microcontroller for students- Suggestions please!
« Reply #13 on: April 23, 2011, 08:53:24 am »
So with AVRs you have on one child toys catering for the idiots (Arduino), on the other end you have a 0.5 GB IDE (AVR Studio 5), completely out of tune with reality. And not much any more in between.

Have you ever used GCC for AVR? I'm asking because I've never used anything else.
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11713
  • Country: my
  • reassessing directives...
Re: Microcontroller for students- Suggestions please!
« Reply #14 on: April 23, 2011, 02:31:55 pm »
So with AVRs you have on one child toys catering for the idiots (Arduino), on the other end you have a 0.5 GB IDE (AVR Studio 5), completely out of tune with reality. And not much any more in between.
Have you ever used GCC for AVR? I'm asking because I've never used anything else.
i think he meant this... (picture) can do C as well, but i did it in asm (thats the way i prefer for this particular task) and still, using AVRStudio4 :P
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Offline apex

  • Regular Contributor
  • *
  • Posts: 72
    • Thoughts of a nerd
Re: Microcontroller for students- Suggestions please!
« Reply #15 on: April 23, 2011, 08:55:18 pm »
I really don't get what people don't like about the AVR Studio 5.
"Oh my god, it's 0.5GB large!"
Well, if you buy a computer today, you have at least 80GB.
It is really user-friendly, does Code Completition and looks nicer than the old one.
It is that retro-love again.
Or just being a PIC/NXP/STM/...-Fanboy.

Now, back to the topic.
I would recommend using an Arduino.
It uses a 8-bit microcontroller (using just 8 bits is something other than using 32 bits), is relatively cheap but also of a high build quality and you can start really easy but go in detail very quick. With the shields, you have a simple option to use advanced hardware configurations. And if you want to teach them how to make their own boards, they can still program their chips with the Arduino Hardware and the AVRDude Companion.
The toolchain of the AVRStudio 4, well, you could call it "good for teaching purposes" and the AVRStudio 5 looks really good, since it is Visual Studio based.

On the other hand, you do have a quite powerful tool with the LPCXpresso.
You do have an ARM system with all the extra functions.
The development platform is Eclipse based, so it also looks reasonable good, but from my perspective not as good as the AVRStudio 5.
The point against it is the hardware.
No DIP package, at least two power rails and a really complicated setup.

PICs are also nice, a bit like the AVRs, but I don't really know them.

Other µControllers like the RC8 or the STM series, well, if you like them, you could use them too.

Please choose.

I hope you'll find a good setup for your students.

Apexys
 

Offline Neganur

  • Supporter
  • ****
  • Posts: 1155
  • Country: fi
Re: Microcontroller for students- Suggestions please!
« Reply #16 on: April 24, 2011, 12:23:18 am »
Not sure how it's for other universities, but at least two I've been at had very strict policies (read: prohibit) about students installing any software on uni computers. AVR Studio 5 is beta still, that alone makes it impossible to even suggest it to the IT department. We have a pretty comprehensive software bundle otherwise and there's always the virtual desktop to run eclipse et al.

How's it at your uni?
 

Offline philbx1

  • Regular Contributor
  • *
  • Posts: 53
Re: Microcontroller for students- Suggestions please!
« Reply #17 on: April 26, 2011, 06:59:24 am »
I'm after some advice to pass on to my microcontrollers teacher

I remembered this one from a Silicon Chip article, and although there are Arduino boards out there, this one
might be more applicable for teaching.

http://www.siliconchip.com.au/cms/A_111673/article.html
http://pjradcliffe.wordpress.com/open-usb-io/
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: Microcontroller for students- Suggestions please!
« Reply #18 on: April 26, 2011, 07:25:57 am »
I really don't get what people don't like about the AVR Studio 5.

Like, for example, that it doesn't work?

Granted, that is only a minor issue in the light of the polished, Code-Completion doing graphical user interface. But call me old fashioned, I prefer tools that do work anytime over tools that are shiny.

You can insult people over this all the time ("fanboy",  "retro-love"), but I just call people who not only prefer, but even recommend non working tools, stupid, incompetent, clueless assholes. You get the idea?
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline metalphreak

  • Frequent Contributor
  • **
  • Posts: 815
  • Country: au
  • http://d.av.id.au
    • D.av.id.AU
Re: Microcontroller for students- Suggestions please!
« Reply #19 on: April 28, 2011, 07:10:18 am »
Not entirely sure what the focus of the unit is, but most of the embedded systems units I've done at uni focus on how the microcontrollers work, ie Assembly, learning opcodes etc. Basically bare metal workings of the devices. The whole Arduino environment is targeted at end product results with various levels of abstraction away from the low level stuff. We used the Atmel Butterfly development boards and the unit coordinator had everything setup so you could plug them into various circuits.


Offline Trigger

  • Regular Contributor
  • *
  • Posts: 78
Re: Microcontroller for students- Suggestions please!
« Reply #20 on: April 30, 2011, 05:17:20 pm »
If you want a serious foundation in microcontroller programming you'll need to focus on something that makes you write in real C.  That rules out the Arduino, Basic chips, Propeller, etc.  If it's for education use then I'd say Microchip.  Their Academic department is friendly and very helpful.  They'll often send a bunch of seed hardware for a class for free and give the instructors free training at a local training center.  A 25% discount on all development tools they don't send you for free is a nice perk as well especially when you get up in the $400+ range for the high end debuggers and programmers.

Once you have a good foundation in C and in manipulating registers in micros it's easy to switch to TI, Atmel, Energy Micro, NXP, etc.  Microchip is just really cost effective to learn with because of their excellent academic department.

I really like AVRs but Atmel's Academic department will only deal with universities and schools, not individual teachers or hobbyists looking to teach others.

Don't even bother learning assembly until you understand microcontroller programming in general and settle on your favorite.  If you focus on too much assembly then you just lock yourself into a specific microcontroller family which is just a bad engineering practice.  With C you can choose the best part for the job and be able to quickly spin up on programming it.

« Last Edit: April 30, 2011, 05:28:54 pm by Trigger »
 

Offline Trigger

  • Regular Contributor
  • *
  • Posts: 78
Re: Microcontroller for students- Suggestions please!
« Reply #21 on: April 30, 2011, 05:38:30 pm »
I really don't get what people don't like about the AVR Studio 5.
"Oh my god, it's 0.5GB large!"
Well, if you buy a computer today, you have at least 80GB.
It is really user-friendly, does Code Completition and looks nicer than the old one.
It is that retro-love again.
Or just being a PIC/NXP/STM/...-Fanboy.

Really?  It doesn't quite work yet and on top of that their craptastic IDE killed my Visual Studio install.
Your tossing of the 'fanboy' tag only tags you as an AVR fanboy 'dickhead' defending broken tools that shouldn't be out of beta yet.
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11713
  • Country: my
  • reassessing directives...
Re: Microcontroller for students- Suggestions please!
« Reply #22 on: April 30, 2011, 05:58:45 pm »
If you want a serious foundation in microcontroller programming you'll need to focus on something that makes you write in real C...
Don't even bother learning assembly until you understand microcontroller programming in general and settle on your favorite.  If you focus on too much assembly then you just lock yourself into a specific microcontroller family which is just a bad engineering practice.  With C you can choose the best part for the job and be able to quickly spin up on programming it.
why C? and how are you going to manage porting your code to other mcu (i mean anything other than the original intended chip) without any modification?
and what makes you think (assuming, since you mentioned it) arduino is not a real C?

ps: why beginners dont have respect to seniors nowadays? i got three hit tonight!
« Last Edit: April 30, 2011, 06:03:21 pm by Mechatrommer »
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Offline Trigger

  • Regular Contributor
  • *
  • Posts: 78
Re: Microcontroller for students- Suggestions please!
« Reply #23 on: April 30, 2011, 06:53:25 pm »
If you want a serious foundation in microcontroller programming you'll need to focus on something that makes you write in real C...
Don't even bother learning assembly until you understand microcontroller programming in general and settle on your favorite.  If you focus on too much assembly then you just lock yourself into a specific microcontroller family which is just a bad engineering practice.  With C you can choose the best part for the job and be able to quickly spin up on programming it.
why C? and how are you going to manage porting your code to other mcu (i mean anything other than the original intended chip) without any modification?
and what makes you think (assuming, since you mentioned it) arduino is not a real C?

ps: why beginners dont have respect to seniors nowadays? i got three hit tonight!


Arduino hides too much from the programmer.  It may be C syntax but it hides the workings and understanding of what's going on with the pins and registers.

Instead of all of the pinMode(), digitalWrite(), etc, you need to understand how to set the chip register bits to control the ports.  The ATMega328P has features that the Arduino IDE doesn't even touch.  The Arduino environment also severely limits your chip choices.  It doesn't make sense to use an ATMega328p when an ATtiny13 does the job.

You'll never use the chip to it's full potential unless you learn how to manipulate the registers directly and C is the industry standard.

I never said anything about porting code to another MCU.  I meant the engineer having the ability to choose the best part for the job.  If you know C and are familiar with register manipulation it's easy enough to pick up programming another MCU.  If you've been working with PICs you still have the ability to use an AVR with little difficulty.  There are compiler and minor syntax differences but you're still manipulating registers and coding in C.  It's the same with an MSP430 once you learn the syntax for register manipulation it's back to C programming.  Yes, each microcontroller has it's own particularities but the point is that you have the ability to switch when you need to.
 
« Last Edit: April 30, 2011, 06:57:21 pm by Trigger »
 

Offline logictom

  • Supporter
  • ****
  • Posts: 336
  • Country: au
Re: Microcontroller for students- Suggestions please!
« Reply #24 on: April 30, 2011, 07:05:43 pm »
Arduino hides too much from the programmer with their light fluffy C like wiring language.

Instead of all of the pinMode(), digitalWrite(), etc, you need to understand how to set the chip register bits to control the ports.  The ATMega328P has features that the Arduino IDE doesn't even touch.  The Arduino environment also severely limits your chip choices.  It doesn't make sense to use an ATMega328p when an ATtiny13 does the job.

You'll never use the chip to it's full potential unless you learn how to manipulate the registers directly and C is the industry standard. 
I definitely agree with you there. If the person is happy using Arduino and doesn't plan to progress to other micros then fair enough but if you do change and all your experience is with the Arduino setup, where you have all the functions for the hardware written, it will be quite a leap to then have to manipulate all the registers yourself.

I'm trying to move from the Microchip architecture to Arm and it's making my head spin all the options you have.
With Microchip there's primarily one IDE, a couple of compilers and the standard development tools (and their clones) where as Arm there seems to be a 101 options for each part of the process. I'm getting there..... slowly.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf