Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Mugambo

macrumors 6502
Original poster
Jul 4, 2009
286
0
I am practicing C and C++ through books and the web. It is really interesting and want to learn about embedded systems. Based on the web searches so far, learning Arduino seems to be the starting point and the way to go. Are there any prerequisites? I have a limited electronics knowledge. I need guidance please.
 

lloyddean

macrumors 65816
May 10, 2009
1,047
19
Des Moines, WA
It's not clear to me as to what you're asking for input on. Learning C/C++ or learning Arduino programming?

You can learn the programming on either the Mac, which I assume you have since you're posting her, or on the Mac using an Arduino.

Perhaps you could tell us more concerning your actual goals!
 

Mugambo

macrumors 6502
Original poster
Jul 4, 2009
286
0
C and C++ were the background info.

Arduino is what I want more info about. Best way to get started.
 

larswik

macrumors 68000
Sep 8, 2006
1,552
11
Do you have and any Arduino hardware? I have written some code to spin servos and they have there own software that you write code with, compile and upload to the board.

C is a good language to learn for this.
 

Mugambo

macrumors 6502
Original poster
Jul 4, 2009
286
0
I do not have he hardware. Is Arduino a good beginner computer to learn embedded programming?
 

lloyddean

macrumors 65816
May 10, 2009
1,047
19
Des Moines, WA
The Arduino software API simplifies programming projects on Arduino compatible hardware making for fairly quick an easy embedded development.

More information at -

<http://arduino.cc/playground/Main/ManualsAndCurriculum>

Further I'd recommend the faster 32 bit processor boards with more RAM and an easier memory access model of Digilent chipKIT boards over the Arduino one. But there are compatibility issues for projects that ignore the Arduino API and go direct to the hardware.
 

balamw

Moderator emeritus
Aug 16, 2005
19,366
979
New England
I do not have he hardware. Is Arduino a good beginner computer to learn embedded programming?

Define embedded programming. These days the lines are quite blurred.

For some applications a RasperryPi based solution could be considered "embedded", but it shares a lot more with desktop Linux than your typical small MCU (PIC/Atmel/...) type application.

@lloyddean. I've used Digilent stuff and 32bit PICs before, but not in the Arduino space. Looks like an interesting approach.

B
 

lucidmedia

macrumors 6502a
Oct 13, 2008
702
37
Wellington, New Zealand
Many beginning Arduino tutorials are written for non-programmers, so you will have no problem jumping right in. It is a great way to start working with embedded programming. Sparkfun has a nice starter kit and a larger "inventor's kit" with an arduino, breadboard, some sensors and leds.
 

fwhh

macrumors regular
Aug 11, 2004
122
0
Berlin, Germany
I sometimes use arduino for small projects, where designing a new hardware is not in the budget, or if you need a fast solution.
The software for the arduino makes it quite easy to access the features of the Atmel MEGA series microcontroller and the microcontroller itself is quite robust for minor misuse/errors in connections. And its 5V logic, so most of the cheap eletronic parts work with it.
The arduino software is mostly a wrapper for C, writing in arduino is like coding in C with some additions to make it easier to access the pins of the CPU.
(E.g. in C you would set an output pin with "PORTB=(1<<PINNUMBER);", in arduino it's "digitalWrite(PINNUMBER,1);").
To make it even easier, they changed the pin names, so you don't have to mind the different ports of the MEGA CPU.
For a lot of applications there are so called "shields", which you can plug onto the board to expand the capabilities, like driving DC Motors.

And its powered via USB, so for just fooling around with some leds and stuff you don't need an additional powersupply.
Get your self an arduino board (like the UNO-Board, take the normal one, not the SMD Version, incases you fry the CPU you can take it out and replace it for a few bucks) and a breadboard and some wires for it and you are ready to go. The breadboard wires fit directly to the arduino. Have fun. Bestway to explore microcontroller systems, I think.

Last note: If you goal has nothing with interfacing the real world (and i don't mean a screen, I mean motors, servos, LEDs, buttons, sensors and so on) then you better look for a different platform, as the arduino is not nearly powerful enough for "multimedia" applications.... If you need just a little more power and you are a windows user, take a look at www.ghielectronics.com. It's like a more advanced (interfacing USB devices an so on) version of the arduino, but it is programmed in .NET.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.