# Starting in circuity, Should I use Arduino? [duplicate]

Possible Duplicate:
How to become an embedded software developer?

First, I am sorry if this is the wrong stack, feel free to move it to the correct one if possible.

I am a rather experienced programmer, knowing C#, VB.net, PHP, C, C++, Objective-C, Java, JavaScript, and I have even coded briefly in ASM86. That being said, most of my coding is done in Visual Studio, which I prefer as my IDE whenever possible.

After browsing LifeHacker and reading about Arduino, I instantly became interested in building stuff with this. I been researching it the last few days, but figured I can ask some experienced people if this is the best, most flexiable beginner option, or if there are better (specifically since I prefer my Visual Studio IDE) options? I don't mind coding C++ once so ever, though I love Visual Studio so C# would be fine too. I recall seeing something about VS and building robotics, so if that's an option thats fine. However I def do not want to use Java, as I am not found of the language or IDE options (just a matter of preference).

I would appreciate some constructive feedback on which microcontroller would be a good starting point, and would allow a lot of flexibility. I understand I would eventually need to expand to different boards, however I would like to start with one that allows for the best transition to these.

My first project, after doing the basics, will be making a doorbell with MP3 Support. I already know this is possible combining several projects I found for the Arduino (though memory wise, not sure if it can handle), so I need to make sure what I choose is flexible. Note, I have no interest in building huge robots that battle, almost anything I build would be DIY convince items for my house. Plus I always wanted to learn the principles of circuitry.

If Arduino is the best option, I would love some advice on nice starter kits. I found a few already, but it always helps to have feedback from users who have used the kits. I know this kit won't include what I want for my first project, but I would like one that includes everything I need to do all the basics before I move on to this project.

Edit: I am currently looking at netduino.com as we speak including reading: Should I buy a Netduino or Arduino?

## marked as duplicate by Kevin VermeerMay 30 '12 at 18:50

• Can anyone tell me how to reopen this? It was closed by Kevin due to a duplicate, however what he linked as a duplicate has ABSOLUTELY nothing to do with my question. – Anthony Greco May 30 '12 at 18:58
• The supposed duplicate question is similar, but I also think your question is more specific and answerable. The other question has a very wide scattering of answers that I think confuse more than illuminate. It takes 5 votes to reopen a question, so it's not likely, but I have cast my one vote. – Olin Lathrop May 30 '12 at 19:28
• I do appreciate that. I contacted him also in the ask a moderator chat. If not, I believe I am basically between Netduino and Arduino anyways, so that other post is very helpful. Thanks for the support! – Anthony Greco May 30 '12 at 19:30
• This is a consistent issue, we have a mass of users visiting our site from stack overflow. This question in a very close form is asked regularly but wen cannot constantly answer opinion questions of what kits someone should buy with a lightly different situation. I can write 10 different answers that are all equally valid to this, what you are asking is too broad. We accepted an answer was needed though and the question your post was closed as a duplicate of is our answer to that. (cc@OlinLathrop) – Kortuk May 31 '12 at 5:03
• I appreciate the fact that you feel this is to vague and an opinion question, thus the reason for closing it. That in itself is completely acceptable. However, in no way once so ever is my question even remotely related to his or any answers in his. The "it is a duplicate" is extremely miss leading and anyone who stumbles upon this and reads that in attempts to get help is going to be wasting their time, because it does not relate once so ever. You in essence wasting peoples time linking to that. – Anthony Greco May 31 '12 at 18:19

If you want to really learn microcontrollers, then there is no substitute for getting into the low levels yourself. This will take more investment to learn, but in the end you'll be able to do a lot more with the same chip than what the abstraction layers of the sugar coated arduino-like products give you access to. If this appeals to you, then start with a simpler microcontroller and do a few projects in assembler. In this mode, even just a compiler becomes a obsuring layer between you and what you want to learn. This is not to say eventual projects can't be done with a compiler, but that you need some assembler experience to really appreciate what is going on and the issues the compiler faces on your behalf. Since you're not looking to do volume products, it doesn't matter whether the micro costs $5 or$1. I am most familiar with Microchip's offerings, and from their product line I'd stick to the 24 bit core varieties. In particular, I'd start with a small 33F part, but the 24, 30, and 33 series are all the same instruction set. The C30 compiler for these is quite good, unlike the compiler for some of the other PICs. The compiler's calling and stack conventions makes sense (again, unlike with some other PICs), and it's easy to write assembler routines that are callable from C30.