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.
Does it run C ?
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.
The Arduino is great because it creates a community and it makes it easier to build 8-bit systems. It creates a community and it saves time, even for experienced EE:s. That's great. The thing is that it was never very hard to build a low-speed 8-bit system anyway. The Arduino saves time, but it doesn't save massive amounts of time.
Now, if someone could make a project that has a 32-bit medium clock rate (~100 MHz) MCU, enough RAM to run a tiny Linux distribution and an SD-card slot that would be awesome.
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.
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
When did they announce the contest? What was the criteria for winning?
"National Security is the chief cause of national insecurity." - Celine's First Law
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
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!
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.
Open source and multiplatform support were important goals for the Arduino project. There was a production quality open source compiler for the AVRs, meaning Linux and Mac support. Mac and Linux support from other vendors has been a tiny afterthought at best. This wasn't so much something Atmel did - Atmel seemed more interested in supporting the IAR compiler with their example code and app notes.
That said, you could argue the C-focused design of the architecture made it easier to create a GCC port for AVR than it would be to do the same for the low-end PIC architecture.
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.
Arduino may be the greatest hardware/software/community combo ever, but Make sells these things. Doesn't that suggest at least some bias in the blog post?
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
When an open system reaches critical mass, it's here to stay. Proprietary systems can hold a monopoly for a while, but not forever, because there's always an incentive to jump ship when the opportunity arises.
It's definitely somewhat limiting, and there is a byte limit size with the default compiler. But it's very easy to set up and I think I got mine for nearer $2. While there are still some USB haters out there, it did seem to work really well when I tried it.
I think the real killer will be when someone can hit the $20 point with wifi on the board.
(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.
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
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.
PIC Microcontrollers have been around much long and probably have a lot more than 100k units shipped
any word on when the Ethernet version will be coming?
I never got the Arduino-hype. To me Phidgets are superior in every way.
I think that the Arduino just "got it right." It is easy to just get things working. Sure you could do all the work yourself, but just throwing on a display, a keyboard and cutting and pasting some code and you have your own laptop computer you built yourself. Sure, it is not powerful, but so what, you built it.
The only thing that could make Arduino even more powerful for me would be to have something like the handheld GP2X Wiz with an Arduino board sticking out with a set of i/o ports and a little power so you could wire things up to the Arduino, but have all the programming power of an Arm processor to run those things.
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.
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.
If you want low power use the MSP430. TI were smart when they got analog engineers to design the system.
The MSP430 can runs in the uA regions and 0.1uA in sleep.
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
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.
There are some great Arduino compatible boards (shields) that help with the recording data problem.
I find this one really good for a quick way to record a lot of data (SD card shield):
http://www.australianrobotics.com.au/?q=node/68
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.
One of good arduino is JeeNode: http://shop.moderndevice.com/products/jeenode-kit small arduino with radio communication.
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
1. 3.3V does not a huge battery require. And yes, they run on 3.3.
2. No they're not. Just look at the spec - 16k, 32k, etc. And we're talking embedded apps, not database servers.
3. No it doesn't.. You're not talking like someone that's ever used one of these things.
In summary, either you're way behind the curve, or you're a deliberate fudster.
Hi all,
Well, I designed a little microcontroller-based system that *could* be (in modified form) be a possible candidate for the 'Audrino killer' title?
Flea86 Retro Gaming Project
Granted - it isn't an open-source design, lacking some connectivity options (only RS-232 and serial expansion bus at present).
Best regards,
Valentin Angelovski