Sparkfun offering discounts on Arduino day
sparkfun.com$3 for a micro controller as powerful as the Pro is absolutely insane. I remember paying 10x that price for some components for an early generation Arduino back in college 5 years ago. Eventually I'm sure that $3 will be the normal retail price for these boards, at which point I think we will start to see some amazingly disruptive disposable electronics emerge.
Isn't it great to live in the future?
The arduino is really just a breakout board for a microcontroller made by Atmel, with a simplified development environment to lower the barrier to entry. The microcontroller chip itself has always been a couple of dollars, and was before the arduino was invented.
Really you could say that paying $20/board to break out a $2 chip was the insane bit (of course, if it makes the difference between you tinkering and not tinkering, totally worth it). It certainly hasn't been the cost of making arduinos that's been holding back your 'amazingly disruptive disposable electronics' - no chinese factory will have been paying more than a few cents in total parts costs for their mass-produced widgets of this sort for years now.
If you want garage-tinkering-friendly microcontrollers, can I tempt you with the newish NXP LPC810 [1]? It has a 32-bit core which can run at 30MHz (as compared to the 8-bit core running at about 16MHz on the arduino, iirc), and they're $1.37 in single units, less than 60 cents if you want 1000. ARM maintain a whole GNU toolchain [2] to develop on them - it couldn't be easier.
[1] http://www.digikey.com/product-detail/en/LPC810M021FN8FP/568...
An Arduino is a little more complicated than a breakout for the ATmega. There's a power regulator so you can use any 6-12V supply, a USB to serial converter chip (FT232R), and various passive components to support the chip.
The LPC810 is neat, but very limited in flash memory and I/O. Check out the NXP LPC1114FN28--it's a 28 pin breadboard friendly DIP package ARM cortex M0: http://www.nxp.com/products/microcontrollers/cortex_m0_m0/lp... 32k of flash and a similar amount of I/O as the ATmega328P used in an Arduino. The big advantage of ARM is that you can use free in circuit debugging tools like OpenOCD to debug and step through code in real time on the chip. It's not easy to do that on an Arduino without a $50+ adapter.
It's not just the breakout. Microcontrollers like the AVR existed 20 years ago. You could get them and put them on a breadboard with a few components, and they would work, but you still had a lot more work to do before you could do anything with them. You'd have to build or buy a programmer, that was a task in and of itself (for a neophyte). IMO the thing that really sets Arduino apart from engineer/technically-proficient-hacker domain is the bootloader.
I like & use the LPC Expresso stuff too, but you can do a lot with an Arduino.
You can already get Chinese-made clones of the Pro Mini for less than $3, it's probably a good way to embed microcontrollers permanently in one-off projects.
As a n00b, what's the minimum I need to have to play with an Arduino? Will generally any Linux / Windows / Mac computer be able to run the software and connecting hardware I need to program it?
You'll want an Arduino that has headers and a usb connector already soldered on and the usb cable to fit it. That's really the bare minimum. From the article, this one looks like it would fit: https://www.sparkfun.com/products/11575 and only $9 on sale day.
Now if you want it to do something you can see other than in the logs from within the IDE, that's when you start needing more stuff. Generally a breadboard, wires, and some components like leds and resistors come next; for making blinking lights, who doesn't like those?
As far as the computer, it can be best answered here but is just about anything you have: http://arduino.cc/en/Guide/HomePage in the getting started section.
Pretty much. I set one up for the first time a couple weeks ago and it could not have been easier. Bare minimum "hello world" would basically just be a board, a USB cable, a computer with a USB port, and an LED.
As FYI (you may already know this @morganherlocker, so this is for the n00bs) there is a controllable LED built into the UNO (and similar boards) attached to pin 13, so this is possible without any additional parts. In addition to LEDs and a breadboard, some push buttons, and maybe a photoresitor or a rotary potentiometer to play around with analog inputs are all good starting items.
If you get a normal Arduino (there's a bajillion variants, so I won't address all of those) you need any computer made in the past 15 years running Linux / Windows / Mac, and a usb -> usb A connector. Most Arduinos include that. I suggest, however, you buy some electronic parts - a couple of LEDs or sensors - via a kit and a jumper kit (a bunch of pre-bent color coded sized wires) and a breadboard to experiment.
Also, check out for local hackerspacers, as there will definitely be people that to set you on the right path.
I like the BoArduino USB[1] for breadboarding. Use something like that if you like breadboards and don't intend to make use of any of the shields.
You could try codebender ( https://codebender.cc/ ) which is a browser based IDE that requires a simple browser plugin to be installed to communicate with your arduino.
Linux, Windows, and Mac are all supported by the tools. Additionally the tools are very light weight, just about everything can run them no problem.
Any recommendations for what to get if you're looking to get into developing on the Arduino?
Uno R3 is your best bet. Simple to use and is the basis for most projects. Plus, it has USB for communication while some other boards don't.
What about the "RedBoard" (https://www.sparkfun.com/products/11575)?
For that purpose, the redboard is essentially the same as an UNO. I have one of each and can swap them out with no problems.
Redboard also has a USB mini connector, not the full sized square one that standard Uno has. Personally I'd prefer the mini connector, I've always thought that the USB connector was the most oversized thing on an Arduino board.
The inertia the USB mini connector has in the electronics development arena has annoyed me for years. The connector was deprecated in 2007 and replaced by the rather superior and now very prevalent micro, yet builders just don't seem to want to switch.
As sbarron noted, the two boards are very very similar. What color do you like more?
I'd grab an uno. Great starter board.
Is there a toolchain I can use to compile and load plain C onto Arduino boards? I'm not too familiar with the development environment, although I'd like to try some stuff out with the hardware I have.
As a side note, if you are feeling fancy, you can build your own firmware based on LUFA and load them into the Atmega chip the boards have as an USB-to-serial converter. That opens a world for pretty cool hacks too.Q: Can I use an Arduino board without the Arduino software? A: Sure. It's just an AVR development board, you can use straight AVR C or C++ (with avr-gcc and avrdude or AVR Studio) to program it. From: http://arduino.cc/en/Main/FAQExcellent! Thanks a lot.
I haven't personally done this yet, so I'm not sure if there is more to it, but there is a program called AVRDUDE[1], used to load the firmware onto the boards. I know that the Arduino IDE uses this behind the scenes. I'm not really sure about the compilers involved. Basically the Ardunio environment is just the toolchain and a bootloader. I know that there are a few different bootloaders around for the Adrduino compatible chips (such as the Adafruit "No-wait" bootloader[2]) to look for inspiration.
[1] http://www.nongnu.org/avrdude/ [2] http://learn.adafruit.com/arduino-tips-tricks-and-techniques...
The compiler is just avr-gcc, you can use that and upload code with avrdude directly, bypassing (or even overwriting) the bootloader. You don't even need an Arduino, with the right breakout board and serial connection you can write directly to a naked microcontroller.
There's the official arduino command line tool: https://github.com/arduino/Arduino/blob/ide-1.5.x/build/shar...
But you need to use their (terrible) IDE for writing your sketches this way.
You can also use avr dude; there's a sample makefile available here: http://playground.arduino.cc/Learning/CommandLine#.UzQ_ca1kF...
WinAVR is the windows suite. Compiler, Debugger, and Programmer compatible with the bootloader already on the Arduino.
I have an old R1 Uno, and I've always been interested in the smaller form factor devices.
How exactly are the devices like the Pro and Mini programmed? I've never been able to get a straight answer.
You use a breakout board to get the connector you need to hook it up to your computer. So for the 5v mini you would get something like this: https://www.sparkfun.com/products/9716
You then either solder on some headers and connect it to the breakout, program it, and then disconnect it when done or do some funky alligator clip madness to connect the breakout to the arduino.
Note that the pro already has the pins waiting for the breakout to be connected.
You can get a uno clone from China for 9-10 us plus free Shipping.
US only?
I don't see anything on that page that suggests it's US-only. Generally speaking, Sparkfun delivers internationally: https://www.sparkfun.com/static/customer_service#ShippingPol...