This isn't an "Arduino (clone)" by any measure. It's an ATMEGA on a breadboard. The advantage of the Arduino as sold is that it's an all-in-one package (USB interface, handy headers broken out for access to PINs, LEDs, voltage regulation, serial port, etc.) and it is very useful for _prototyping_.
Once you've prototyped using an Arduino you can then go select the minimal set of components you need using the smallest appropriate ATMEGA for your application and get it under $5.
SparkFun employee here. Not trying to push products too hard, but if you've already got an FTDI board or cable, you can pick up a Pro Mini for just ten bucks now. That's double the $5 the article claims, but the pro mini comes with power and status LEDs, an on-board voltage regulator and reset button. I use them in most all of my projects because they're so easy to work with, which is far from the case when using an atmega on a breadboard. Plus they're breadboard friendly :)
Of course they do. That's how most of use get our breadboard wires, caps, resistors, ICs, etc... Everyone in the electronics community knows that sparkfun(and sites like adafruit) aren't the cheapest in the industry, but that's not why we buy from them. Heck even mouser or digikey beat them on most stuff.
I buy from sparkfun because:
- They provide eagle files and data sheets for most things they carry
- They provide real time customer support in IRC
- They don't screw up orders or take 6 weeks to ship
- They test, use, continuously improve, and deprecate their own stuff
I know it doesn't apply in this case, but go try to find board files, schematics, or datasheets for most of this stuff on dx. There's a reason sparkfun is so popular.
A few months ago I bought a kit from Sparkfun to mess around with. Got everything built only to find out that something was wrong with the FTDI (I couldn't upload new sketches). After a quick e-mail exchange, Sparkfun sent out a whole new board.
For people who don't know much about hardware, that kind of customer service is invaluable. Without it, I could have spent days trying to figure out what was wrong, only to give up in frustration. Instead, I got quick confirmation that there was something wrong with the board and was immediately sent a replacement (at no extra cost).
There are some things that are worth spending money on. SparkFun is one of those things, they not only sell you things they provide information and product development that allows you to do awesome stuff. If you value the service they provide like making an easily navigable website and providing helpful links to compatible products and providing products that hobbyists use then you should support them
Last time I ordered a mini pro, a bluetooth bridge, and a couple of dht11's it took two weeks. I'm in Europe, and Sparkfun is not much faster for me. If I want something the next day I usually go for a local provider.
The great thing about dx is that they will ship a single $9 board to your house for free :)
I'm in San Diego, CA and my experience is much like your own, close to a month on average.
Ordering from Deal Extreme is somewhat fun and interesting because of this though because by the time I receive an item I forgot I ordered it, so it is like an awesome surprise gift I sent in the mail to my future self.
For students on a budget, or anyone interested in electronics, you should be ordering free samples.
May latest score is two ADXL362 chips, normally sell for ~$9 each in qty 1. I got them shipped express from asia, totally free.
I've gotten tons of microcontroller chips, small graphic LCDs (as well as the associated touch-screens), even a laptop touchpad, all types of LEDs, and many other components. My workbench would make most EE labs blush, and a lot of it was totally FREE, including shipping.
http://www.aliexpress.com/item/Free-Shipping-New-Version-Pro... which beats yours by 28 cent. But if 95 cent is worth 4-8 weeks of lost time (shipping), great data sheets and reliability (hmmm...looks like this ATmega has been in a toaster before being in an Arduino), then you seriously need some financial tips :P
That's very true, this would be useful to seasoned Arduino hackers, but not the broke college kid trying to get into Arduino for less than the 30$ and can't wait for the holidays...
author: please proofread the post... i'm no Grammar Nazi, but the plethora of errors in that post made me cringe...
Thanks for the comment about grammer: Fixed that now (I think). This post is meant for non EE people, to explain how to use the ATMEGA for a lower price.
Arduino and Netduino are great, but I think people like the author sort of forget why.
Back a few years ago, you could buy very cheap microcontrollers, then with a few $ of components make a simple programmer from the PCs parallel port or serial.
http://picpgm.picprojects.net/hardware.html for a nice collection of them.
These where great, they cost about £1.50 each iirc, and I really liked them, by the time I went to uni I knew my Microchip PIC MASM by heart.
However people who are just learning about programming electronics don't really want to have to figure out the joys of GPIOA3 being shared with the ADC when trying to attach an LED.
Arduino providing a nice simple formfactor for allowing people to simply plonk them together, no worries about which pins can do what, how much can be driven. All the packages made it quite clear what could play nicely together.
This doesn't change that. Nor does it mention that if your the kind of geek who is thinking of buying say 3 or more of them you'd be much better off with oldschool prototyping board, a vertible smorgasboard of uCs and a simple programmer. There are some great PIC ones that even have the ICD (In Circuit Debugging!) on ebay for next to nothing.
I believe the big advantage of Arduino is in the tooling and vast quantity of working code samples and projects you can find on the web. While the IDE has its quirks it is easy for newbs getting started, has decent samples bundled in, and works very well with real Arduinos where you just plug the USB cable in and go. I've gone the bare-ATMEGA328P route with an ICSP programmer as well and still value the leverage the IDE gives me to leverage code samples I find on the web.
It's also very cheap today as well to hand-roll this stuff.
However, I - and many of my peers in CS-land - don't have the EE knowledge to correctly put together a analog circuit. Particularly as so many of the components for interesting stuff have different voltages... understanding how to link this stuff is really hard!
However, an Arduino abstracts that away. The 'hard' stuff has been done, for the cost of being inefficient and expensive.
I spent about 6 hours with a circuit simulator in the last few weeks trying to design a simple LED based circuit relating to a some 555 timers. Totally failed. I simply got exposed to my own ignorance even more! I got the corresponding Arduino thingie working in about an hour.
> However people who are just learning about programming electronics don't really want to have to figure out the joys of GPIOA3 being shared with the ADC when trying to attach an LED.
The Arduino and similar products (microcontrollers right down to PICs) seem interesting and appealing, but I'd much rather approach the issue from an EE perspective, and the thought of learning to do this like in the article - with the chip itself on a breadboard, seems much more appealing.
It's just a very intimidating space, and I have no idea how to approach it iteratively without jumping straight in to something like the Arduino, which presumably hides a lot of the complexity. I've looked at Sparkfun and would love to understand enough to start using some of the cool looking components on it.
Do you have any insight or suggestions for a path to learning this?
With new microcontrollers, almost everything has moved onto the chip itself. The "EE" perspective (the surrounding circuitry) is little more than following the datasheet and observing the rules for routing. Sparkfun is awesome not only because they sell cool things, but because they release many of their schematics, check this one out - https://www.sparkfun.com/products/11113 (click 'schematic' or 'eagle files' (if you don't have eagle, you'll need that too - http://www.cadsoftusa.com/)).
You can see all the pieces needed to make an 'Arduino'. A voltage regulator, a reset switch with a pull up resistor, some filtering capacitors, and a crystal oscillator. That's it. If you make a board yourself that runs off of a Lithium battery, you don't need a voltage regulator, might not need a reset switch, you can use the internal oscillators, and you have almost nothing outside of the microcontroller. It's really amazing.
I don't think you meant 'EE perspective' this way, but if you meant getting closer to the machine code, one thing you can do and still be able to do everything nice is rip open the Arduino source code, or re-implement the functions they provide. Try rewriting digitalWrite(PIN, STATE), or analogRead(PIN), and see how many instructions those functions need.
The Arduino hides a lot of its complexity through its libraries and software interface, but it is open source! This means you can learn a lot about embedded programming (that might be difficult to get from datasheets) from its source code. For instance https://github.com/arduino/Arduino/blob/master/hardware/ardu... is a pretty good resource for learning how to do i/o on a microcontroller. In addition, the arduino environment is still running your code through avr-g++ so anything you can do on an ATMega328P (or whichever chip your Arduino is using) you can do on an Arduino by using the low-level interface directly. This means you can iteratively transition from completely relying on the Arduino to coding from scratch. Open source circuit schematics mean you can build your own circuits based on the Arduino and have a known good test platform as a reference.
I would recommend getting yourself a Nerdkit (http://www.nerdkits.com/). It gives you the bare essentials to get started on, and has a lot of content on their site if you get stuck.
Totally agree with the formfactor thing: Just love that you can LEGO stuff together. But even as a MsC in EE, I love that I can do this and then create a real thing from it with breadboarding, proto pcb or a custom designed PCB.
The other thing I like a lot (even more I think) is that there is such a great community with many, many examples, so you don't have to dive into the bit level to get a sensor or module working.
It's not ment to be an attack at people who use these, I still like my .Net Fez Spider for making silly things.
But. I do think that when someone is finding they want more boards, they are probably envolved enough in it to go naked, and look at the uC world.
A friend wanted some help on their project, they had never considered using the 8pin uCs available for 50p each, they where trying to tie together Ardiunos and a lot of wire. Luckily they asked for help rather than just throwing money at it and using what they know. But I fear if people just stay in a LegoLand they might not realise that there are other things often more appropriate. I do still love LegoLand mind, despite not being there for a long time.
This is just a subset of the official arduino tutorial on the subject [1]. And there are about 5,000 other articles showing the same thing. [2] Seems kinda odd, and late in the game, to re-document something that's already been documented so many times.
Indeed, I had said something of the sort before I edited it out. The fact that it ranked so high on HN for so long, and got so many upvotes simply goes to show that using Arduino is an effective way of getting attention from HN.
The the OP: As a matter of constructive criticism, you speak about how much you've gained from the open-source hardware community, but the hardware you sell, which by your own definition is based on this, seems to be closed-source. Your blog, thus-far, appears to offer little new content and seems to re-create common content from others. It would be most helpful for the community if you would explore what contributions you could make that would, perhaps, be new information for many. Here's a suggestion or two: consider publishing the hardware schematics, and talking about your "wireless communication protocol" between the Grow nodes and the host station. Talk about what the software looks like, what challenges you faced, and how you overcame them.
We've known that Atmel CPUs are cheap. I just bought a tube of them a week ago for less than $20. And I have enough regulators and spare junk to make a fakeduino for $3-ish.
That hasn't been the point.
I can go buy a nice, stackable hardware platform with everything Open and just not worry about it. The bootcode has already been written, and the IDE is short and sweet. Everything "Just Works". And then, we can discuss the crazy good amount of modules that have extended the Arduino IDE (and associated hardware).
It's well worth $30 for a rapid prototyping and design. Then, once I get a set design, I can go the chip+regulator+resistors route. And then I can tear the breadboarded setup on my Arduino and use it for another project testing!
http://shrimping.it/blog/shrimp/ here's a link to another blog which does it for 3$. A 5$ device "cloning" partial Arduino functionality is really not impressing me anymore.
Arduino is a great platform for prototyping on, but it's kind of expensive and bulky for a finished product. At least my $30 uno is. Being able to make a stand-alone is great! I can prototype on my arduino, then use it to burn the code onto a bare chip.
I found this article easier to read than the one on Arduino's wiki. It's basically the same information, but with better explanations and pictures.
I second getting the TI Launchpad. Great and super-cheap piece of kit
With Energia (http://energia.nu/) you can even use your Arduino sketches and run them on MSP430 Launchpad!
Just googled it and lots of articles say they are $4-$5 but where you can buy them, they appear to be $9.99 now. I wonder if they bumped up the price recently.
Wasn't there a preorder that had the new ones (32bit) for 5$? Wish I'd have gotten in on that thing. Maybe that's causing a little confusion on the pricing here.
Edit:When talking about TI, i thought I'd share this subsite by TI (http://tideals.com/) for anyone who isn't savy on it yet. They don't have a deal right now though.
Once you've prototyped using an Arduino you can then go select the minimal set of components you need using the smallest appropriate ATMEGA for your application and get it under $5.