Why the Arduino Won and Why It's Here To Stay
ptorrone writes "For years, students, journalists, makers and old-school engineers have asked why the Arduino open source microcontroller platform has taken off, with over 100k units 'in the wild' — it's the platform of choice for many. MAKE's new column discusses why the Arduino has become so popular and why it's here to stay. And for anyone wanting to build an 'Arduino killer' (there are many) — MAKE outlines what they'll need to do."
I consider NetDuino/Fez to be more or less interchangeable with Arduino, but I do vastly prefer both. I find the .NET(MF) development environment far more productive for the projects I work on. Note I do understand NETMF is not applicable to all problems (for example, realtime).
It's cheap and affordable, yet it can do so much. The MakeZine section on it is great and has a ton of cool projects. I don't know why people are wondering what's so great about it, because it's really obvious why it is. When it comes down to it, an arduino is a $15 minicomputer.
Yes.
Yes, it does.
There was a time when it was difficult and expensive to develop embedded applications. Then MicroChip came out with the PIC. The tools were free. There was lots of helpful documentation. You could build a PIC programmer out of junk box parts.
If you were a small developer, you wouldn't bother with a company like Philips (and the others) whose tools were expensive and whose documentation was Byzantine.
Arduino is one step better. It was designed to be used by artists. There are tutorials for everything. It is SO easy to use.
Of course, Arduino isn't a chip, it's a little board. The chip is Atmel's AVR. I don't know what Atmel did to deserve their good luck. I'm guessing that the hard work of the Arduino folks has really increased Atmel's market share.
The lesson here is that it isn't the goodness of the chip. (The early PICs were really unfriendly to C compilers.) You can have the best chip in the world but nobody will use it if they aren't properly supported.
It's technically not, but the syntax is essentially the same. Most of your standard C functions are around too, but not all. If you know C, you can essentially write a C program, and it will probably work.
I looked into microcomputer's to experiment with and finally went with the ARMmite Pro, only to find out later that it is a Arduino-compatible device and what Arduino is, somehow in all my microcomputer searching I had totally missed that device. The ARMmite Pro is a great little board to play with, ARM 7 running at 60mhz, can be programmed using Basic or C, and (apparently) pin compatible with Arduino, all for $30. Not an Arduino killer, but a great way to 'upgrade' from Arduino without loosing form-factor or add-on boards.
DEMETRIUS: Villain, what hast thou done?
AARON: Villain, I have done thy mother.
Shakespeare invents 'your mom'
It does.
Arduino is the project, Uno is the board. There's actually a few other boards they've created: http://arduino.cc/en/Main/Hardware
If you like them you may also want to checkout many of the other microcontrollers in a Digikey or Mouser catalog. I collect them myself. Everything from PIC to Atmel-based, to Zigbee. They're all quite fun.
The main advantage of the Arduino is it's open source design. The other controllers are not as customizable _before_ production. With arduino you can add things if you need them on board.
Tiger Blooded Bi-Winning Machine
Sounds almost like a BeagleBoard, though that might be overkill compared to what you described.
Check out my world simulator thingy.
All the reasons the guy listed for why the Arduino 'wins' are not unique to the devices. You can get all of those same things out of a radio shack basic stamp.
Arduino won because the stuck a decent microcontroller on a solid board (I'm ignoring the absolutely retarded pin spacing issue that pisses everyone off) at a decent price with a serial boot loader already burned to the chip. The ATmega chips were popular long before Arduino, so when it came out suddenly all of us who had been futzing around with ATmega's for years finally had a source for a preassembled prototype board rather than constantly cobbling our own together. I've still got several PCBs I etched with a generic prototyping layout in my shop.
They took the need for an Atmel ATmega programmer out of the equation but otherwise you get just a slightly larger than the chip itself prototyping board.
The Arduino software is complete ass, the only reason anyone uses it is because they don't know there something better ... like say ... entering your code from the command line with cat > filename && cc filename. The libraries, while relatively easy to use are painfully slow and bloated for no reason, which is important when your counting clock cycles on microcontroller.
Arduino didn't win because its Arduino, it won because it used a microcontroller that had already cornered the market.
There will multiple ATmega chips (the ones used in the Arduino) in every household before the Arduino came into existence.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
I literally just opened the box of my first Arduino board about 15 minutes ago. I installed the IDE, plugged it into my computer, loaded the drivers, and sent a few sample programs to the tiny board with -zero- problems.
With an out-of-the-box experience like that, it's no wonder the darn thing is so popular.
LOAD "SIG",8,1
LOADING...
READY.
RUN
Arduino is a development environment around the Atmel ATMega microcontroller, for which several other development environments exist. Atmel makes a complete IDE including simulator, C compiler and assembler available for free.
This? http://en.wikipedia.org/wiki/Gumstix aka http://www.gumstix.com/ All models appear to have SD card readers.
The Arduino won? I didn't even know there was a contest!
There are lots of microcontrollers and boards out there: Basic Stamps, PICs, 68HC11s, Parallax Propellors. You can get some for as little as $3 each. There's probably more stuff out there for Basic Stamps than for the Arduino. There's definitely more PIC related stuff.
When our name is on the back of your car, we're behind you all the way!
LaunchPad does.
I don't see why this hasn't gotten more fanfare or attention.
A full dev kit costs $4.30. Some of the Arduino stuff I've seen starts at $40. You get 2 chips, a USB programmer, dev environment AND.... a real C environment. Not another language.
It has a ton of other add-ons like the EZ430-CHRONOS watch. After growing up watching Who Framed Roger Rabbit, who hasn't wanted to unlock their doors with Shave and a Haircut.
I wondered about that. 100K units is winning?
I sense that Arduino is awesome, don't get me wrong. If I were undertaking an embedded microprocessor project right now, I suspect I'd base it on an Arduino's architecture. But what, exactly, is "winning"? If it's a victory, who is it over? Or is it more of a "everyone wins, we just win differently" kind of victory?
All things considered, TFA smells like something between "hype" and "slashvertising".
Welcome to the Panopticon. Used to be a prison, now it's your home.
The Arduino won? I didn't even know there was a contest! There are lots of microcontrollers and boards out there: Basic Stamps, PICs, 68HC11s, Parallax Propellors. You can get some for as little as $3 each. There's probably more stuff out there for Basic Stamps than for the Arduino. There's definitely more PIC related stuff.
Basic stamps and PICs used to get a lot of usage in hobbyist projects, but that has changed in the last couple of years. First it started shifting from PIC to Atmel, and then to the (Atmel based) Arduino. It's been a while since I've seen a new project that someone had chosen PIC for.
IMHO the move to Atmle may have been partially due to the PICs super annoying architecture (bank switching for every other operation, for starters). The Arduino of course has a big advantage for people who don't want (or can't) design their own PCBs.
If look at Projects on Make, or elsewhere online, you'll see Arduino being used in the majority of the newer projects.
But of all that stuff, how much of it is touted on nearly every maker blog as, "I used the _____ board and the ___ to make these pretty lights glow in my project?"
How much of it is open source? So if you want, you can buy all the components from the local bits and pieces store and solder the board together yourself?
How much of it quickly, simply, and easily installs onto Linux, Macs, and PCs with almost no trouble? (Hell, I can't even get most my desktop hardware to do that one).
How much of it is used by a growing community of amateurs that know next to jack-shit about EE but somehow managed to make their pink unicorn shirt vibrate?
How much of the documentation for all that stuff is available for free on the internet? And easily found with a simple 3 word Google search?
Don't get me wrong, a lot of microcontrollers (including Basic Stamps and PICs) have a lot going for them. And all of them have dedicated communities. But I think the point about this article was that Arduino lends itself to people who don't know much, if anything, about electronics. And, even more importantly, those people have a habit about blogging or writing or even facebooking their latest projects since they consider themselves artists, rather than engineers.
I cut my teeth on microcontrollers with Arduino and I have a bachelor's in aero engineering. The reason I picked Arduino was because, after about 15 minutes of Google searching, I found more Arduino related stuff than anything else. As someone more interested in orbital mechanics and control systems engineering than in learning the ins and outs of EE and bare metal programming, that kind of environment appealed to me immediately. Granted, at some point in the future, I'll start to upgrade to more complex microcontroller boards. But for now, I want to be able to take the ideas I learned in school and build something with them almost immediately. I don't want to have to take another two courses in binary logic and analog-digital conversion hardware to make some motors spin based on the sensor readings from a rangefinder and an accelerometer.
Arduino does a great job at advertising itself as, "Easy to get started and expandable from there." That's appealing, very appealing.
Motorcycles, Robots, Space Gossip and More!
And once a lot of people were using it, they all started releasing their code. Sure there are other great code repositories, PIClist, AVRfreaks, but many of the people there are pretty DIY so they'll exchange snippets of code that they build into something finished. Arduino code is often complete: download this program to do this entire process. That mindset has attracted lots of people, who have contributed even more code, so it benefits from a networking effect, so now anyone who is releasing anything for the electronics experimenter market has to provide an Arduino sketch that handles the hardware being offered -- and that drives it even further.
There are cheaper platforms, there are faster ones, there are ones with much better hardware (and some that are all three, the MSP430 being a likely example) but nothing that combines the simplicity and codebase of the Arduino.
Nostalgia's not what it used to be.
Lots of interesting stuff out there in the world of micro-controllers, and now lot of it get available at reasonable prices. Not only as those dreaded $999 development kits.
If you look for something more powerful the STM32VLDISCOVERY http://www.st.com/internet/evalboard/product/250863.jsp, is a nice alternative at about $10. You get a modern and powerful ARM Coretex M3 with 128 KB Flash and 8 KB RAM. With lots of nice peripherals included.
The Papilio boards are FPGAs with an Arduino core. You can treat it as an Arduino with remappable pins(PWM wherever you want) or you can stick your own core on it.
Make also sells their own ARM-based MakeController board which is not Arduino based. If there would be any bias I'd expect it to be towards their own solution.
These hobby stores have so much room for all kinds specialty crap that it seems they could partner with Make Magazine to carry the parts needed for (at least some of) Make's current projects. It seems like this would be at least as profitable as many of their other merchandise lines.
The ardiuno is expensive, but it's easy to program with the included c#/java like language. Anybody can use it really. And anyone willing to invest a bit of time can easily learn the C-like syntax. It's relative powerful and it can make leds go blink in minutes after you unpack it. Personally I also have an arduino. I use it for prototyping. But the board is to expensive to use in applications. However, the chip itself the atmega is relative cheap and for your apps you don't need all that fancy stuff that's on the arduino. So you just buy the chip, program it in the arduino, and put in your electro-project.
Speaking as someone whose understanding of all this is basically at the level of "I know what a microcontroller is, but don't deal with them much"...
What the heck are we talking about? Neither the summary nor the linked article provides any context to those of us (most of the world's population) that isn't intimately involved with microcontrollers. What does "won" mean, exactly? Is this just a hobbyist platform? Does this dominate all microcontroller applications world-wide?
I shouldn't have to do a dozen Google searches to get context.
#DeleteChrome
(a listing can be found at http://arduino.cc/en/Main/Hardware )
I have tried to use Arduino boards in the past, and while they're really cool for hobbyist stuff, they are very hard to integrate into battery-operated things:
1. The operating voltage is 5V (some may be 3.3V, I forget) and draw a lot of current. Batteries that supply this kind of voltage are HUGE. It would be really nice if they had a design that was optimized for low voltages and low currents, like for mobile sensing, so that I could use coin cells.
2. The devices are really memory-limited. The Uno, which is probably the most popular, has something like 2kB of ram. I used the board to interface with some sensors for tracking a flight trajectory on-board, and I could only record a few seconds of data before running out of room. Wireless transmission wasn't really an option because of power (= more batteries) limitations.
3. Connecting to USB resets the board, wiping the memory, unless you cut a trace on the board. This is supposed to help facilitate loading new programs, but becomes an annoyance if you wanted to use it to transfer sensor data stored on-board to a computer. When you cut the trace to disable the autoreset, it becomes difficult to time the reset button manually so that your program uploads.
Overall, as an EE, I was very impressed at how easy it was to use, but I think the issues I mentioned warrant some fixing if Arduino is going to be used for things like sensing.
mspgcc works great for me.
You need a USB cable and a PC capable of running Java.
That's it. No JTAG programmer, no EEPROM burner, no ICSP interface.
Within minutes you can control actual real-world things like you used to be able to do with a parallel port (remember those?)
I love the Arduino, it's one of the best uC's I've ever used. It has a top notch C environment, good source of compilers and resources and amazing support through forms. If your beginning the trip down uC lane and your looking to get into amateur projects then I highly recommend the Arduino. It so nice to work with that in college we used it power are third year project.
You are using it wrong. The arduino itself uses 20ma. It has a sleepmode... For your data you should add an extra eeprom with i2c for example. Or even a flashcardwriter. You can run the arduino of a 9 volt battery btw. It takes anything from 9 to 17 volt I believe. Not completely sure and can differ by manufacturer. The RAM should be used as RAM btw. For variables. For your data use my earlier mentioned option or use the build in eeprom if it's big enough for your goal. I do agree that a bit more memory would have been nice. But this is ok. It gets most jobs done.
The stuff from Leaf Labs is a bit light in the RAM department for full-blown linux; but gives you a 72MHz, 32bit ARM in either an arduino shield-compatible format or a native format that exploits more of the microprocessor's pinout. Fully open toolchain and documentation. Not bad for $50. They apparently also have a version with an FPGA.
If you want to run a full embedded-linux computer, you pretty much have to go one step further. NSLU2s are discontinued now; but should run you under $100 for an ARM board with full debian support. Gumstix is a bit pricier; but smaller and has the advantage of being in production. The various Marvell *plug devices are also pretty cool for the $100 range...
It would also be nice with a similar system based around an FPGA.
I know that there are some people working on these sorts of ideas, so hopefully something will take off.
Uh, perhaps this board from Digilent? Or this kit from Xilinx? Or similar offerings from Altera and Actel?
What am I missing?
This was posted earlier on Hack-a-Day, and the title was somewhat different:
Why the Arduino Won, and How We Can Destroy It
Arduino is simple, it's fast, but it lets the users get by without actually having to know what they're doing. I would wager that at LEAST half of the Arduino users out there would not know the first thing about a memory structure diagram on any other microcontroller documentation, or how to program using ASM instruction opcodes, or any of the real intricate workings of the timers, registers, etc. The fact is, the Arduino lets people who have no idea what they're doing use a microcontroller, and it lets those that do know what they're doing use one without any real effort or due diligence.
This makes them popular, but the wrong choice. Saying they 'won' and they're here to stay is like saying "Fox news is a credible source of information, and it's not going anywhere". Do you really think it 'won' in any sense? They're still beat out 1000:1 or so for other common microcontrollers(PIC, AVR, MSP, etc) even in the hobby fields. They're not used even a little in professional development fields. For actual production-level electronics, you can't use some toy-like prototyping POS.
ad 2. Use logging shield. You can just dump tracking on SD card.
Same goes for Microchip and the PIC family (processors, not development boards). I would expect they are quite happy to cede a few 100k's of chips over the past few years, given that their main business line is everything that has an embedded processor. I doubt they could actually measure the market loss to Arduinos.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
Are you kidding? Just read the story!
For years, students, journalists, makers and old-school engineers have asked why the Arduino open source microcontroller platform has taken off, with over 100k units 'in the wild'
For years! folks have been asking why it took off! Years!
First wikipedia entry less than 5 years ago:
http://en.wikipedia.org/w/index.php?title=Arduino&oldid=56466347
Over 100K units in the wild! That's 100 TIMES 1000! WINNER!
Not trying to be a hater here, but seriously: you can get a Silicon Labs 8051-based kit, with a micro that has onboard DACs, ADCs, comparators, full-speed USB, and all of the good stuff one gets with an 8051, PLUS the JTAG debug/programming dongle (which Arduino kits DO NOT HAVE) for a hundred bucks.
OK, so the free SiLabs IDE is for Windows only. But they publish the programming interface protocol (C2 for the example '340 device), they fully support SDCC (as well as Keil, IAR and others) in their debugger and SiLabs support is excellent.
And you can buy the JTAG dongle for $35, which is a steal, especially if you remember the cost of the old Nohau emulators.
Arduino is popular among people who don't do this for a living. Which is fine, but it didn't win anything.
I remember scouring the suppliers to buy these years ago... collecting the "good ones" with more memory, etc.... saving them for various projects that I never got time for :)
20 years ago the idea of being able to build a little computer into random things around the house for $10 in parts was crazy cool... It's still cool, but less so :)
Say what you will about Oracle, but with OpenJDK, I can pretty much do what I want.
Except run on platforms that run verifiably type-safe .NET IL and nothing else. These platforms include at least Xbox Live Indie Games, the only set-top video game platform that officially allows micro-ISVs to develop and sell games for it, and Windows Phone 7. Say I want to write a video game whose physics and AI are shared among all platforms even if it has a separate graphics engine per platform. Can the Java programming language be compiled to IL, or just to JVM bytecode?
If you want extremely light, you don't want a prototyping board with big easy board-to-board pin headers. From the very link you posted, Arduino has the Pro and Pro Mini, which is powered from 3.3V (ie. button cells), and is as minimal a board as you can get without designing one yourself. As for data storage, are you suggesting there's a microcontroller in the same class as the Arduino's Atmel chips that have much more memory? I think you'd be limited to off-MCU storage no matter what platform you're using.
I believe someone mentioned something like "let there be light" and it's been going from there.
The criteria is pretty much a popularity contest that never ends.
Or are you one of those types that still thinks the Amiga is going to have a comeback any year now?
Uh, there are probably a billion microcontrollers out there, and how many 10's or 100's of millions of microprocessors (Intel, AMD, ARM, etc.) are sold each year?
Yet 100K Arduino "win," if you put enough qualifiers on the criteria (microcontollers, on a development board, costing between $25 and $50?). Enjoy the win.
"National Security is the chief cause of national insecurity." - Celine's First Law
PIC Microcontrollers have been around much long and probably have a lot more than 100k units shipped
Loser.
"National Security is the chief cause of national insecurity." - Celine's First Law
Connecting to USB resets the board, wiping the memory, unless you cut a trace on the board. This is supposed to help facilitate loading new programs, but becomes an annoyance if you wanted to use it to transfer sensor data stored on-board to a computer
Nah they've fixed that, the IDE can still send a reset signal to the board through USB but plugging the USB in certainly doesn't wipe the board anymore, I've used one for data logging via USB enough times and never had any trouble with it.
I think he never looked at the mbed NXP. Compared to the Arduino, the mbed blows it out of the water. The programming language is C++ and there are tons of great libraries out there. Want to turn some pins into a bus and interface with with old logic components? No problem just include the header file and a line of code that sets up the pins of your choice into a bus that you can now easy read and write to. If your LCD is supported, just wire it in and a simple printf for the lcd library prints to the screen. Oh and it has support for SD cards and reading/writing to them with simple easy to use libraries. Just setup an SPI port for an SD file system, wire it strait to the SD card slot and make some simple calls to a function to read/write data from the card. PWM drive a servo motor, there's a library for that. To many to list but there are easy to use libraries for many chips and devices out there.
For $59 you get the following I/O:
Digital I/O (up to 26)
SPI
Serial (up to 3)
I2C (up to 2 ports)
Analog In (up to 6)
Analog out
Ethernet (no matching transformer needed, you can stick the stripped ends of a CAT 5 cable right into a prototype board.)
USB host
CAN port
PWM (up to 6)
4 on board LEDs that are digital or PWM
The compiler works in your web browser so its truly platform agnostic. Its also cloud based, you can open a browser anywhere in the world, code, and have all of your notes and projects/code at your fingertips. Bring it to a friends house or professor, plug it into a PC, goto the mbed website and demo some code. Its that easy. You can also download and upload your code or libraries. Once your code is written, you compile and if successful a download dialog pops up and you download the code strait to the mbed, press the reset button and your code is now running. The mbed itself has a mini USB connector on it (separate from the USB host port) and it mounts up as a flash drive (2MB and you can read write to it from within your code!). You can swap binary files via drag n drop or from a command line. The USB port also doubles as a COM port (usb com port, no drivers necessary) to directly enable communication with the PC. The USB port can power the board as well as a few low current ancillary components. There are NO DRIVERS to install and no software to download/install. Everything is based on standards built into just about every modern OS. So it should work on Solaris and BSD as well.
The only drawback its compiler is online based but you could use the NXP tools if you wanted to work off line. Also you can't use every I/O at the same time as most pins are shard save for the Ethernet port and the USB host port. But that is not a big deal you have enough as it is.
I don't work for mbed but I have one in front of me and I play with it just about every weekend. Its so damn easy to use. I bought it about two years ago, a few days after it was released and before all the Arduino hype. I looked at Arduino and it looks like a really cheap alternative to the mbed but not as flexible or easy to use.
I had to plug the mbed because its developers really want to make a powerful and flexible MC dev platform that anyone can dive right into. You really see the effort they poured into it in order to establish a community effort to improve and share. And they did a fantastic job, no question about that. But it feels like the mbed as well as others, are getting drowned out by all the Arduino noise. Yea the Arduino is a nice little platform but its not the best nor the easiest MC platform out there. The only real strong point it has is its price.
Then you have this dopey ass hole write a bunch of fluff abut an imaginary battle, and then declares a winner when he makes no comparisons to any other platform. His article clearly shows he has picked a side and is willing to declare it superior to everything else without comparison. Best part is the bullet points he makes toward the bottom of the page apply to the mbed and many apply to other micro controller development kits as well.
Hey Phillip, pull your head out of your ass. Moron.
Only 100k? That doesn't seem like that many.
Umm other platforms installs are counted in the MILLIONS.. how can you call 100k a 'win' ?
---- Booth was a patriot ----
Order your Microcontrollers for $3-$4 from http://www.digikey.com/
Buy an ISP programmer from Pololu for $20 http://www.pololu.com/catalog/product/1300
Download AVR Studio 4 for free from Atmel
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
GO
1. Make a boost converter. They're super easy. Or buy one as an IC. They cost around $1.
2. You really should use external memory for datalogging, specifically an SD card controlled via SPI.
I don't know about #3, as I don't have much personal experience with them, but that is a nasty design flaw if you're right.
Based on what you mentioned about your project (battery-powered, USB connection, interfacing with sensors, and possibly wireless transmission), I'd actually recommend one of Cypress' PSoC3's. The microprocessor is more powerful and just as easy to code for, it has a built-in boost converter, and the chip also has built-in programmable analog and digital blocks that can be configured as, in your case: a full-speed USB port, SPI master for memory access, 20-bit ADC's for sensor reading, etc... and they are available as SSOPs for breadboarding (or you can shell out the $250 for a dev kit, but the chip itself is only $5).
It's here to stay because they purposely made it incompatible with breadboards and such by giving it an annoying pin spacing.
(Disclaimer: tooting own horn.) If you're interested, I recently put together an open-source Arduino variant designed for minimal power consumption (1uA sleep current, a few mA active) for battery and energyharvesting uses. This variant uses the *PA variant AVRs, which run down to 1.8V, and power is supplied through 'power shields' which can be interchanged for different power sources. It's still an 8-bit AVR, so it won't help you on RAM or processor speed, but it should be more than enough to run a FAT32/microSD logger library.
Caveat Emptor is not a business model.
Try a used inkjet/scanner combo with photo SD. That comes with sensors and prewired motor controllers. (see sig, though I haven't done an ARM based one yet, just PPC which are usually too old for SD slots, and nobody's shown any interest so development is stalled.)
Someone had to do it.
The Mbed is another board to consider to get a microcontroller project up and running quickly. It has a ARM processor, 512k flash, 64k RAM, and it plugs into a breadboard.
A C compiler is available online "in the cloud" to build your application with free libraries for the peripherals. It also has ethernet and USB, so it is quite a bit more capable than the Arduino.
See http://www.mbed.org/ for details.
16 will do, 8 will require a bit of effort choosing applications. You CAN cram uClinux into 2M, but you have to know what you're doing to yank ore stuff out of the kernel so it's not for beginners.
Someone had to do it.
I ordered the Launchpad a week or two after ordering my Arduino, and it took about two months to arrive :-) You're expected to know a bit more about what you're doing to use the MSP430, the programming environment's less friendly, the chip has even less memory, and installing the timer chip on the board requires surface-mount soldering, which is a lot harder to learn than regular through-hole. I'll get around to it in a couple of months, after my Arduino projects. (And the wristwatch version is amazingly cool.) There are also a couple of other cool boards to play with, such as the Atmel-designed AVR Butterfly which includes an LCD, some Freescale stuff, and a few others.
This month, however, I'm working with 555 timer chips, because sometimes an Arduino or MSP430 is just way too powerful and you need an even more minimal environment to work on, plus there's a contest and it's amazing what you can do with such a simple tool, and I've got the breadboards and LEDs and resistors around from the Arduino anyway. And the Arduino's a convenient power supply and voltmeter while I work on it.
Arduino's a nice programming environment, and it comes packaged with enough software, hardware, and examples that you can pretty much do anything you want at whatever balance of complexity you want. It's complete enough to get started and see how much you can do. You can start off high-level, try the examples, and then either go for larger projects or head down to the bare silicon, and once you've done stuff at the Arduino-board level, if you want to build more stuff with raw AVRs you've got all the tools you need.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
I ended up ordering about $100 worth of stuff including the basic Arduino, breadboards, and random things to plug in to them,. but once I got started, I've found that Radio Shack actually still carries electronic components! (:-) It's only about 5 feet of their shelf space, but the standard store has a bunch of drawers of LEDs, resistors, capacitors, alligator clips, a few simple ICs like 555s and op-amps, etc., and they've got another few feet of wall space with breadboards and soldering irons and such.
Of course, since this is Silicon Valley, I've also gotten components at Fry's, and there's HSC Electronic Supply for a huge assortment of components and tools, but Radio Shack's been a surprisingly convenient place to stop by and pick up the occasional bag-o'-resistors or replace the LED that you smoked.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
doo-doo head
I got into Arduino last year while looking for interesting toys to play with my kid. Even I got a EE as part of my double CS/EE major 15 years ago, I haven't really done any electronic after college. Arduino provides a quick way to get started. Out of box with easy to use IDE, I can make stuffs entertaining my kid and myself in no time.
The experience getting into Arduino reminds me a lot of the beginning days of Linux. There are more mature commercial options out there (e.g. Solaris, IRIX, even HP/UX) and other competing open source like Net/FreeBSD. Even GNU/Hurd was making progress. But one thing Linux got was a friendly community of beginners. Going through the Arduino forum gave me the same feeling of going through Linux forum back in 95: a lot of excitement about this and willingness to help each other and share. That's defintiely one thing other communities lack. One gets "did you real the source?" reply posting anything to a BSD group.
That's almost parallel to where Arduino is today. There are no lack of better or cheaper alternative but most of them are either established embedded communities or serious lack of documentations. Not friendly at all for the beginners. Arduino gives the beginners a friendly place to get started.
And Arduino goes behind just a AVR based board. It's really a ecosystem with standardized IDE and peripherals. Most people's first critics of Arduino, especially those already in the hardware hacking, is the use of AVR and often cite 8bits and the shortage of AVR last years as problem with Arduino. However, I don't really see that as a short coming of Arduino. I just got a Leaflab's Maple which is a ARM based board with Arduino compatible pin layout and IDE. Getting my projects over to Maple from Arduino is smooth. I don't see Maple as a competitor to Arduino but a member of Arduino family.
The article is right on. There will be a lot of competitors now Arduino is on the spotlight but most of them will fail because they don't get the point of Arduino. It's not about raw CPU power or fine point of the system components, it's about community. And ones don't win the hearts of the community by belittle the community's core.
You CAN cram uClinux into 2M, but you have to know what you're doing to yank ore stuff out of the kernel so it's not for beginners.
You can use dynamic RAM (and even the smallest configuration available will be larger than anything uClinux would be able to fill). It can be a painful experience on Xilinx FPGA with soft MPMC (usable but takes disproportionally large amount of resources), however Spartan-6 has hard MCB, so it should be possible to stuff MicroBlaze and DDR2/DDR3 controller into a relatively cheap development board configuration. Not sure about tools licensing -- MicroBlaze is included free of charge with full (but expensive) license but as far as I know, not in Webpack, and Xilinx provides MicroBlaze development kits at less-than-insane (few hundreds to a thousand dollars) prices, however you have to choose the kit wisely, as smaller FPGA will be almost completely filled up with a minimal system, thus defeating the purpose of using an FPGA.
I work with Virtex-5 (so the above mentioned MPMC eats a considerable amount of resources), and was able to stuff a perfectly usable uClinux-based system into XC5VLX50T (see https://github.com/jdkoftinoff/mb-linux-msli and https://github.com/jdkoftinoff/mb-gcc4-msli ) No idea which development board would be the closest equivalent of my current configuration, and how much it would be justified for electronics amateur, but it is great when you want plenty of custom hardware and network-accessible Linux-based system all implemented in one FPGA.
Contrary to the popular belief, there indeed is no God.
I was thinking of something in the $50
Buy an openWRT router, problem solved.
Who logs in to gdm? Not I, said the duck.
Try a used inkjet/scanner combo with photo SD. That comes with sensors and prewired motor controllers. (see sig, though I haven't done an ARM based one yet, just PPC which are usually too old for SD slots, and nobody's shown any interest so development is stalled.)
No wonder, since "895cxi hack" in google doesnt return any results. :/
What do you know about ARM based one? I happen to have HP Photosmart 8250 that is begging to get hacked since 2009
http://www.elektroda.pl/rtvforum/topic1476830.html#7236348
How did you figure out how to flash yours?
Who logs in to gdm? Not I, said the duck.
But...why would you do such a thing?
So that you can port your Android, BlackBerry, or Java applet game to Xbox 360 and Windows Phone 7 without having to do a laborious, error-prone, line-by-line rewrite of the physics and AI. Also so that fixes to bugs in the physics in AI in one version will carry over to the other versions.
Well, not quite sure if the "ROM" on the cxi is writable yet, so I've been loading codeinto RAM over the parport from what I sussed out looking at flash upgrades for a unit that did have a writeable "ROM".
ARM is going to be pretty tricky at least for HP. They have custom coprocessor configs -- not even the standard coprocessor stuff is there, and there's custom stuff in its place using the same coprocessor line. This is going to make it even more difficult than the Coldfire boards to wedge into the uclinux build system, which assumes that all Coldfire have a SIM, which the deskjets do not. Fortunately you can dump the firmware image about the same on the ARMs as what's described on the wiki -- I have a psc 2170 or somesuch I've started to dig through for hardware registers but haven't gotten very far on it yet. I seem to recall seeing indications that the firmware on that could be taken from SSD cards.
Other vendor's ARMs might be more standard. I have a lexmark which rumor has might already be running linux from the vendor.
Someone had to do it.
If you're trying to make $10 alarm clocks as a production product, you won't be using a full-scale Arduino system, you'll design a circuit board and use exactly the parts you need, and rather than the Atmel AVRmega 328 you'll use whichever of its relatives has just enough pins, RAM and flash to do the job, and you'll have to pay people (or yourself) for the production work and figure the labor costs as well.
If you're a hobbyist, you're doing it for the learning experience and coolness factor, and once you've figured out how it works, using the Arduino, you might very well make a custom one using perf-board and the chip and whatever blinky-lights and power supplies you'll need.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Various people have complained about the TI MSP430's crippled compilers, which limit you to something like 4KB of code. It turns out that for the TI Launchpad and their other cheap development boards, that's really not a problem, because the processor chips they come with only go up to 2KB of memory anyway. TI makes some similar chips with more memory and some with less, and the free crippleware compilers may not handle the biggest ones, but they're fine for the basic platforms.
On the other hand, as far as I can tell from really brief experience, the TI development environment seems a bit closer to the metal than Arduino's is, and because there's even less memory than in the AVRs, sometimes you need that. For example, if you want to tweak Pin 4 on an Arduino, you can tell it "digitalwrite(pin4,1);" and it'll work. With the TI, you have to tell it something like "mask=0x08; port1.register |= mask; port1.output;", which is pretty much what the Arduino environment was doing behind the scenes anyway, and if your Arduino project is going too slow, you'll find lots of commentary that you need to tweak the bits yourself the way the TI does.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Documentary about Arduino - subtitles in English or Spanish, 28 minutes. Talks with the original Arduino development team about their goals and their development process, Sparkfun and Makezine who sell it, the Makerbot people about using their cheap 3D printer for open hardware, various sets of educators and design people about what they're doing, how much fun it was, teaching kids to understand the world they live in, etc. From pretty much the beginning it was an open source project, partly because they wanted to get the social involvement of people helping each other and partly because the school they were working at was going to be closing so they wanted to have their work survive past that, rather the way people do open source at startups.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
http://www.arduino.cc/en/Main/ArduinoEthernetShield I
Nick Waterman, Sr Tech Director, #include <stddisclaimer>
Phidgets... correct me if I'm wrong... Are just USB I/O boards, they're not complete microcontrollers, are they? I mean you could use one (for example) to control a bunch of LEDs from a PC, but not to continue controlling the LEDs once you've removed the PC?
Nick Waterman, Sr Tech Director, #include <stddisclaimer>