Why are BASIC stamps so $$$?

Experts,
I have a book called Physical Computing (Dan O'Sullivan and Tom Igoe; 2004 978-1-59200-346-4) and it describes using microcontrollers from the BASIC stamp line (Parallax Basic Stamp 2, NetMedia BX-24, Basic Micro Basic Atom Pro 24, etc.). I bought it when getting back into electronics (again), before following the Arduino AVR, STM32, and Espressif path I'm still on.

When I look at the prices of these tiny microcontrollers they are $30 or so. I'm sure they are worth it, but the prices being an order of magnitude higher, I had to wonder...

What is it about these modules that make them so expensive compared to the lines that have been chosen for the Arduino?

Are there any scenarios where these win hands-down? If I wanted to offer repairs, coding, etc. on them, which markets would I find that make good use of them?

Arduino took a very cool little processor, added a bootloader to it, put it on a board that made it easy to use and has been selling millions(billions including knockoffs likely) of them since.

They program in a version of Basic which 14 years ago made them good for grade school projects.

A key part of the original IBM XT computer, if there was no disk operating system the computer would boot into a BASIC compiler.

The price of the "BASIC Stamp 2 Interpreter Chip" is $16.99:

That chip is the PIC16F57-I/P, which you can purchase from DigiKey in single quantity for $0.88:
https://www.digikey.com/product-detail/en/microchip-technology/PIC16F57-I-P/PIC16F57-I-P-ND/613201

What you're paying for is Parallax's proprietary BASIC interpreter on the chip, not the hardware itself.

You do need to consider that a lot of development time went into writing this software and the support materials, and for a fairly small market (especially at the time when it came out). So that will be one factor in the pricing. Another factor is simply that they thought they could charge that much. When the BASIC Stamp was released everything in that field was ridiculously expensive. I think they were primarily targeting the educational market, where prices tend to be quite high.

I'm sure the BASIC Stamp was really helpful to some people in its time but the paradigm of the Arduino is so much superior. We are using a professional programming language with professional open source tools. With the Stamp, if you wanted to continue on the learning trajectory you were always going to hit a point where you had to ditch the BASIC language and all your code and start fresh with a completely different toolchain, workflow, even a complete change from interpreted to compiled. With Arduino this is not the case. The transition from amateur to professional is pretty smooth.

they thought they could charge that much.

And they were right, at least until Arduino came along and China started cloning devices.
The Basic Stamp was pretty much the immediate predecessor to Arduino, and it was widely used in hobbyist, "art", and educational communities. It was much cheaper than its predecessors (generally BASIC52 systems costing upward of $100.) It was also a more expensive time to manufacture such products, especially if you wanted to sell through distributors (a rough rule-of-thumb is that retail price for an electronic product will be about 5 times component costs.

the prices of these tiny microcontrollers they are $30 or so.

The price of an Arduino is also $30 or so. I think it would be really difficult to have something that sold at Radio Shack (RIP) for much under that price. The distributor and retail markups kill you, but a manufacturer can't undersell his distribution channels if they want to keep them.

Are there any scenarios where these win hands-down?

Sure. If you want to implement or modify something for which the code is already written for a Basic Stamp. There are a couple of things have come up on these forums that it can do that are a bit non-trivial to port to Arduino:

  • READ/DATA - yeah, there are many ways to do this on Arduino as well, but most are a lot more complicated.
  • unidirectional software serial. You know all those "Serial LCD backpacks" and "Serial Servo Controllers" and such you can buy? We owe the Basic Stamp for those. Since the interpreted BASIC was so slow, they used a "SEROUT pin, data" command that would bit-bang standard serial, on any pin...

Thanks everyone!

Slumpert:
...They program in a version of Basic which 14 years ago made them good for grade school projects.

A key part of the original IBM XT computer, if there was no disk operating system the computer would boot into a BASIC compiler.

I thought it was an interpreter.

Back in the day, BASIC was a very useful language. As a scientist, I learned FORTRAN in the 70s, but it was not well represented on microcomputers of the day. BASIC did the same stuff, but did not need a file cabinet full of punch cards! I wrote a fairly large QA suite in BASIC in the early 80s, and it ran well for years. It wasn't til the 90s that I learned about compilers, assemblers and C. (oh my!)

The IBM PC BASIC was an interpreter. I'm not sure that anyone used the ROM Basic; although wikipedia said that the Disk Basic(s) used the code in the ROMs as well.

The microsoft BASICA was actually quite a nice version. Had capabilities for dealing with the display and function keys, and a "much better than the BIOS" COM port driver. And as Chris implied, you didn't have a lot of other choices, back in the early days. Wikipedia said it needed 48k of RAM plus the ROM BASIC (32k), so you could probably run the equivalent on a Zero or Due with no problem (and many times faster!)

It looked like http://www.oocities.org/westfw/ibmftp.bas.txt

Probably the reason that BASIC didn't catch on as much as C was that there was really poor standardization. While your BASIC Stamp programs might have looked "vaguely similar" to an IBM PC program, and a bit more like an Apple ][ BASIC program, you were essentially looking at re-writing anything but the simplest code to move from one type of computer to another. :frowning:
The BASIC Stamp BASIC did a really good job of addressing the needs of ... the class of small microcontroller programs that it was aimed at.

The original BASIC stamp was introduced in the early 90s before microcontrollers with integrated EEPROM existed. The choice was between one-time programmable devices and UV-EPROM devices. Using an interpreted language allowed them to burn the interpreter on the microcontroller and put the user code in a separate EEPROM so the code development cycle could be relatively quick.

During this era I had a "low cost" Microchip development kit that went for about $100 US if I recall correctly. It included a couple UV microcontrollers samples, a board to burn them via a PC centronics parallel printer port, a DOS-based assembler and simulator, and a thick user manual. I don't recall if a C compiler was offered at that time, but if so it would have cost more than a little and, given the simplicity of the MCU, was hardly necessary. I erased the chips by putting them directly on a florescent light for 20 minutes or so rather than spring for a proper UV setup. Shortly after this Microchip offered their first EEPROM device, the 16C84 which was compatible with the programmer and is mostly what I used.

I mention this to illustrate how the BASIC Stamp was at the time, a very competitive product. Today it doesn't seem to be, but if they're still being sold someone must be buying. In any case, as noted above, the cost is driven by the proprietary nature of the device so there isn't much in the way of competition. Also I expect sales volume is relatively low.