Sep 252006
 

Parallax’s Basic Stamp is the mainstay for hobbyists wanting to add intelligence to everyday devices. A new system called Arduino provides the benefits of the Basic Stamp at a greatly reduced cost, increased speed, and is entirely open-source.

arduino vs basicstamp chips

A Little Background

Tiny computers surround your life. In your coffee maker, remote control, vacuum cleaner, telephone, and clock radio, these little computers (aka microcontrollers) are getting smarter and cheaper and becoming more pervasive every day. They can be had for less than a dollar. And you can program them as easy as you can write a web page.

To program microcontrollers in the old days (i.e. a few decades ago), the requirements were an expensive development environment costing thousands of dollars and a professional electrical engineer. In the early 1990s, Parallax had the idea of embedding a simple BASIC interpreter on a microcontroller, mounting it on an stamp-sized module, and providing lots of add-on devices, excellent documentation, and example circuits and code. The friendly Basic Stamp created a whole new market of hobbyist-oriented microcontroller devices and the standard by which other such devices are judged.

The reasons why the Basic Stamp was a hit are obvious in retrospect. BASIC is an easy computer language to pick up. People without knowledge of computer programming can pick it up quickly. Parallax’s wonderful examples showed how with just a handful of extra parts and a few lines of code you could create all manner of smart objects. In an afternoon you could create your own robots, games, data collectors and toys. In the process you’d learn about microcontroller techniques.

Basic Stamp Issues

The Basic Stamp does have a few downsides:

  • Expensive — The Stamp itself is $50 and to program it you really need a development board for another $70. Even without the dev board, a $50 part makes you reluctant to use one for every room of the house, let alone for every appliance in your house.
  • Slow — The Basic Stamp re-interprets your BASIC program each time it’s run, placing a limit on the fastest it can do things. Time-critical are beyond its capability.
  • Low Memory — There’s not much room in a Basic Stamp for anything but simple programs.
  • Closed — If you want to modify the BASIC interpreter in the Stamp to add new commands or remove the ones you don’t use, or even learn how it works, you’re out of luck. It’s closed nature meant for the longest time only Windows PCs could program Basic Stamps.

Enter Arduino

Arduino solves most of the above issues with the Basic Stamp. The most noticable is cost:

arduino vs basicstamp

Getting to the “Hello World” of microcontroller projects, the blinking LED, on Arduino costs $32 compared to the $119 for a Basic Stamp. This is perhaps a little unfair because the Basic Stamp board contains a full bread-boarding space. A similar setup for Arduino would cost about $60, still a 2x savings (and can made cheaper if you want). A more telling cost comparison is the “consumable” cost. If you accidentially blow out the chip on each board how much does it cost to replace it:

arduino vs basicstamp chips

The standard Atmel AVR ATmega8 chip used on the Arduino board can be obtained for less than $4. The Basic Stamp must be obtained from Parallax and costs $50.

This order-of-magnitude cost reduction opens up entirely new avenues for embedding intelligence. Where before it would be economically infeasible to have a 100-Basic Stamp project, with Arduino and an AVR programmer like the $34 AVR-ISP, you can program as many ATmega8 chips to work with Arduino as you like.

What is Arduino

Arduino is two things:

Like the Basic Stamp, Arduino solves in a simple, elegant way the usual difficult problems of microcontroller programming (setting up a working board, talking to the board, making compilable code) With a Arduino board, doing a blinky light “hello world” takes less than 5 minutes. For example, below is the same functioning code for Basic Stamp and Arduino.

Basic Stamp Arduino
'{$STAMP BS2} 
'{$PBASIC 2.5}
OUTPUT 14
DO
  HIGH 14
  PAUSE 1000
  LOW 14
  PAUSE 1000
LOOP
int ledPin = 13; 
void setup() {
  pinMode(ledPin, OUTPUT);
}
void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

The differences are minimal. However unlike the Basic Stamp, with Arduino you can use real GCC C code to implement your algorithms and access all the hardware of the AVR chip.

Go Forth and Hackify

Try out Arduino. Go to SparkFun.com and buy an Arduino board, then download the software and start playing. Check out the many examples or visit the playground to see how people are hooking up their Arduinos to the world.

Note the above thoughts are not unique to me. Several others have made similar observations. Tom Igoe of ITP, especially, gave a much more detailed analysis at the Sketching in Hardware ’06 conference.

 Posted by at 10:18 am

  70 Responses to “Arduino, the Basic Stamp killer”

  1. […] the Basic Stamp killer – [Link] Tags: Arduino, Basic Stamp, Microcontroller, Parallax Filed in Arduino | 10 views No […]

  2. One thing your comparison doesn’t take into account is support. I have seen many people start with Arduino and migrate simply because they can’t get any help or support when there’s an issue. Code help is scattered across many websites with varying responses from that particular user base. On the BASIC Stamp there are thousands or code examples for many things. To many the cost is worth the hair saved when there’s an issue.

    Some also prefer BASIC to a C variant that they may have to learn. And if learning a new language or starting from scratch most people will just go to the Propeller chip, which far outperforms the Arduino in every way and has eight cores and can also be programmed in C. Without additional hardware the Propeller can generate NTSC and VGA video, each core has 2 counter-timers and there are hundreds of objects available for a large number of ICs and sensors.

    But on your original title, I don’t think the Arduino will or has affected the BASIC Stamp in any way.

  3. Hi Chris,
    Your comment about support was true in maybe 2007 but is no longer. Just look at the trends: google trends for “arduino”, “basic stamp”

    Even without that, the Arduino Learning page, the Arduino Reference page, and the many other available tutorials available directly on the Arduino website refute your point a bit.

    As for Propeller, it’s a great chip and can do amazing things. However, because of developments in the last few years, if your main need is video output or more power, I would recommend a Raspberry Pi ($35) or BeagleBone Black ($45), both of which are about the same price as a Propeller dev board with VGA port. And since both of these run a full version of Linux, you get the power of being able to interact meaningfully on the Internet via Ethernet or WiFi. Or connecting USB webcams or thumbdrives.

  4. Just to throw something else into the mix: around 1998, I got into BASIC stamps, because I didn’t want to learn assembler for simple robotics projects. There was obviously no Arduino then. However, at $50 each, I couldn’t put a Stamp into every project I built… so I started thinking about PICs. At that time, compiler options were pretty limited: MicroEngineringLabs’ PicBasic, professional C/C++ compilers, and not much else. However, around 2003, I discovered the free JAL compiler (which is still actively being improved and upgraded).

    The JAL syntax is reminiscent of Pascal, but it’s really its own language. It is very easy to learn and quite well supported (for freeware). Add one of the PIC prototyping PCBs available in any size and complexity from many different vendors, and you have a powerful setup.

    Arduinos and related items are cool, and have enabled MANY people to get into embedded devices. However, for me, $30 per project is still a bit spendy. I like to throw a $2 PIC into a project and not worry about being able to afford the next project…

  5. Dear Friends! I am 69 years old. I learned to program Arduino in 30 days. You are younger and sure you can learn in 15 days. Before to decide which microcontroller I had to learn programming, I examined nearly all the existing. I agree with the thoughts of Todbot, because they are well documented. And something more:
    The figures speak! Have a look at eBay:
    -Mini USB Nano V3.0 ATmega328 5V Micro-controller Board Arduino 7.28$ Free shipping
    -2012 Version Board ATmega328P UNO R3 ATmega16U2 & Free USB Cable for Arduino
    11.00$, free shipping

    Have a nice day!

  6. @Ben
    Hey ben,
    I doesn’t throw 30$ into one arduino project!
    I bought many atmega328p chips and just build the clock and the power on a perfboard,
    voila!
    One selfbuild arduino compatible platform only cost you abut 5$.

    Arduino is great!

  7. Hello All,

    Time to let the Basicstamp discussion rest in peace. We can choose for Microchip or Atmel on the same terms now. Pinguino platform is similar to Arduino but uses the Microchip processors.

    These processors have a built in USB support to make it even easier to use them. I designed a board for the Pinguino software named PING2550. It is an open hardware project.

  8. Hi every one

    I have been using the Basic Stamp for years for circuit board testers, cable testers etc.
    The reason I read this site was to see if switching to Arduino would be a better product for future projects.

    In software comparison above it was apparent that the Pbasic was much easier to code than in C.
    The Stamp module described (or used) in the example is not one that I would recommend because it is very limited in speed and program complexity that it is capable of. I would recommend the BS2e or above.
    The BS2e runs at the same speed as the BS2 but can hold up to 16K of code (spread over 8 program slots). The BS2 and the BS2e run 4000 instructions per second, which is more than fast enough for most house hold projects. For projects that have a need for speed you can go to the BS2P which runs at 12000 instructions per second with up to 16K of code (over 8 slots). The devices that I build (some times) are pretty complex because I have my devices make decisions based on data collected.

    The cost is high for the modules, but their flexibility and power input / output is good (30mA). I would prefer not to have to spread my programs over several slots but it is easy to do.

    What this all comes down to is that to program most functions, to send and receive data, to use A/Ds, to
    turn on and off other devices it is far easier to program in Pbasic. The example above does help to prove the point. Pbasic has functions that send data to LCDs or other devices in a single statement.
    To declare varibles is very easy ( X var byte, or X var word etc) no problem with brackets or braces.

    The cost is high for the modules (overly inflated), but the ease of use is also high. And if you do actually
    fry a module Parallax may replace it at no charge (except shipping). I have also been looking at the propeller chip with 8 programs running in parallel (at 80 M hz), but I am reluctant to go through the process
    of re-learning C. I have only burnt 3 modules in the last 9 years of using them and one was replaced by Parallax (I didn’t know about their great warranty plan on the first 2). If Parallax were to cut the price by 60% for their modules there wouldn’t be any need for Arduino.

    As far as the Windows issue goes I don’t understand that, the programmer works smoothly in Windows, it finds the USB port automatically, the programmer can talk back and forth to the boards, no problem, no issue.

    Once a module is programmed it doesn’t need a connection to the PC, you can send updates to your customers / friends without them being able to see the code, they just plug the PC into the board and down load.

    In short, if you want something fairly fast running (up to 19000 instructions per second), has every thing built right onto the module (just connect to power supply up to 12V on some modules others are ~8V) and then connect your project to the 5V output from the module (up to ~500mA). You can be coding simple things like the above in 15 minutes (for the first time you use the programmer. And programming more complex code in just a hour or so. Also there are many example programs listed for parts that are sold through Parallax (I look up the part on Parallax’s web site, get the code sample, then buy the part through Digikey.com). I have purchased a lot of the sensors from Parallax, but for A/ds, shift registers and the like
    Digikey is cheaper and easier.

    I know this has been very wordy but the Basic Stamp should not be down played, it has saved my bacon
    in many projects, it is very robust and capable and re-usable.

  9. The Basic Stamp doesn’t support interrupts. How about the Arduino?

  10. The standard Arduino library supports the two main interrupts INT0 and INT1. Through standard libraries you have access to PinChange interrupts that works on 20 of the I/O pins. And if you know the AVR chip, you can easily access all the hardware interrupts directly (like interrupts for timers, SPI, I2C, A/D, etc.). But you usually don’t need to go that low-level.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>