I was where you are a year ago, Trust me start with the Arduino, not too expensive, really easy to work with if you know C at all, still easier the Pic if you dont!
Lots of people using it world wide.
REALLY nice platform, I have started to move towards ARM development now, but for a beginner, Arduino is hte way to go 100%
Tell us what kind of programming experience you have if any, this will help narrow down the options. Basic, C, C++, Java, Phyton…
Todays irrelevant fact:
I did not have much programming experience when I started for about 10 months ago. I had programmed some simple games on my graphical calculator (Ti-83+) when I was bored in class and it uses a simple version of basic, so Picaxe was a logic choise for me. This is the only brand microcontroller I now how to use for now so I can not recommend any other but I think Picaxe is very easy to start with.
arduino is worthwell… based on atmega328 it rocks… but you can start with attiny45 for blinking a led etc and understand PWM bla bla than go for attiny2313 wich has more pins and definitly then go for mega8, mega16, mega128 but since production is held go for picaxe and PIC
I learnt on PICs and 8051s, but recently switched to arduino for prototyping and robotics because of its simplicity with minimal loss of efficiency. It eliminates the digging through datasheets to find what bits need to be set in what registers to configure peripherals. Being open source you can develop on any platform, and develop products based on it. It is also C/C++ based so it is easier to transition to/from most normal micro-controller systems, unlike proprietary BASIC based systems designed exclusively for beginners (Beginner’s All-purpose Symbolic Instruction Code).
Since you say you lack programming experience, keep it simple. Best way to get into this hobby is to start with an easy success. Have you had a look at the start here robot on this site? It is based on the Picaxe, which is pretty easy to get started with.
I’ve been a PIcaxe user for a while, with some programming experience. I’m just picking up the Arduino now, and there is a ton of support for that platform. Have a look at these tutorials and see if you find the material easy enough. If it looks approachable to you, the Arduino is a great choice.
If the C code seems a bit scary, go for the Picaxe to get started.
1. picaxe - simple and easy to grow with. Feature rich but somewhat limited with the earlier chips. X2 series are the way to go if you want advanced features that are comparable to the arduino but still using the basic programming language.
2. Basic Stamp 2 - expensive but a rather nice feature set. unfortunately they lack built in adc and interupts…
3. Arduino - The intro to C programming though not quite. Easy to use but not efficient in terms of it’s programming langauge.Good starter if you plan to go to AVR or PIC procs.
4.PIC/AVR - Advanced version of Arduino. Does what you want it to do if you know how to program. Options for C/assembler/other languages. Great for the advanced user who has programmed in C before
5. XMOS - not a cheap on to start off in, though you might be able to get a dev kit from them if you have a project that they like. C/C++/XC. Similar to the pic/avr with the slightly more advanced multi core proc. Also lacks a built in uart and adc but can easily add this funcitonality with some other hardware.
5.5 Launchpad - not much is known at the moment.
6. Prop - OOP multi core proc. When you want to take a step in the multi core direction this is the way to go…possible jump from Arduino instead of goign the avr/pic route.
7 ARM/Cortex/other - advanced and not useful unless you have some previous proc expirience…
I do agree with most of your points but I disagree with the conclusion in point 7 “7 ARM/Cortex/other - advanced and not useful unless you have some previous proc experience…”
Having some experience with FEZ Domino and .NET micro framework I feel that writing code in C# is just as easy as writing it in C++. If we compare Visual Studio to Arduino IDE, Visual Studio wins by a mile with its built in intellisense which gives you all available methods and properties. At best the Arduino IDE gives you a highlighted keyword. But what sets the .NET systems apart from all the rest is the onchip debugger where you can step through code and examine values, -on Arduino you have to rely on the serial.print(); to do some sort of debugging.
But, back to the subject. If you are just starting up, I would go for the PICAXE and start there. When you grow out of it I would go for a .NET based solution.
Great summary, voodoobot. I would say regarding point 5 (TI LaunchPad) that this is definitely not for a beginner. The development environment is confusing (at least to me), and TI is only just starting to build a community following, so help will be limited.
But do we really need to let the stupid monkey coders at MS into the Micro world?
Case and point the office 12 Interop, dont know if any of you have had the missfortune of needing to use this thing. But a blind cat could have done a better job then MS did.
Good point Geir. What I was considering was more of the feature set that these procs have. With someone new into processors, having 100 dio /10 uarts/ spi/i2c/ 80 interupts, CANbus,USB interface and such, I would imagine that could be a bit overwhelming to consider using when getting into the hobby. I used visual studio and totally agree that when you compare the arduino ide vs the VS ide, it’s miles apart…but thats also the part that makes the Arduino simpler to get into.
Other things I considered was also the support though didn’t mention it in the post. The arduino has quite a bit of forums that you can run to for help and it being a popular chip, you will have a larger userbase to query.
Going further on this, it might be a good idea to set up a post that goes through the +/- aspect of each processor/dev environment. I think we have had several people that have done something like this but no full post.
Just one comment on the .NET support compared to the massive Arduino community. I agree on the hardware and low level interfaces are currently much better documented in the Arduino community. That said, most of the C++ code can be ported to .NET and work there as long as it’s rebuilt to managed code (no pointers or memory manipulation).
When it comes to support on the C# language the support is massive and you can find lots of information on the web that applies to .NET micro framework as well.
Solarbotics Ardweeny is the way to go. Dirt cheap, learn to solder (take it easy on the actual processor chip!), full arduino interface. That is if you don’t have the money for a true Italian made Arduino.