Back in the Before Times, when microcontroller development required ultraviolet light, building anything was a pain. You probably had to burn a ROM onto a chip with a parallel programmer, there was no in-circuit programming, and who knows what would happen if you needed a serial port.
This changed in the early 90s with the introduction of the BASIC Stamp from Parallax. This was a simple microcontroller development board using Microchip PIC. With a little bit of clever firmware developed by Parallax, you could write code in BASIC, upload your code over a serial or parallel port (which every computer had), and blink a LED with just a few lines of code. All microcontroller development boards — including the Arduino — owe a debt to the BASIC Stamp. It is the grandfather to the Arduino, and it is very, very old.
Microchip didn’t update the BASIC Stamp, but that doesn’t mean someone else can’t handle that. [Bruce Eisenhard] is crowdfunding an improved, updated version of the famous 24-pin BASIC Stamp. It’s got modern parts, runs seven hundred times faster than the original, and is still chock full of BASIC interpretation.
This upgraded Stamp is built around NXP’s LPC11U3 micrcontroller, an ARM Cortex-M0 part with about a hundred times more Flash than the chip in the original Stamp. Programming is done through modern IDEs, and yes, there’s a USB port. This project is pin-compatible with the original BASIC Stamp, so if your microcontroller project from twenty years ago is dying, this is the replacement for you.
The BASIC Stamp was an awesome device for its time, even though it cost more than two hundred dollars in today’s money. [Bruce]’s campaign is offering one of these for $25, which is pretty reasonable for what it is.
52 thoughts on “A Modern, Upgraded BASIC Stamp”
I beg your pardon! You mean Parallax. Microchip only makes the processors and probably the storage devices used on the Stamp. But how are you doing this with regards to the tribble invasion where you are?
And honestly, Parallax DID update the Stamp, or more accurately replaced it with their Propeller platform.
They never did a drop in replacement, which this kickstart project is. As the Propeller does not have 5V tolerant IOs, and other than a user generated BASIC, they forced all their users to switch to Spin until they had a variety of C’s years later.
There were several drop-in replacements for BS2, starting with the 2sx (based on the ill-fated Scenix processor), and peaking with the (currently sold) 2px, which is about 5x faster than the original (and supports additional instructions.)
Parallax didn’t do a lot of the things I thought they should do (use internal EEPROM rather than external, for instance), and didn’t “aggressively” chase either performance or end-user cost, but it’s not like they didn’t do anything…
I’m a big fan of Parallax but didn’t the Intel 8052-AH BASIC predate the BASIC stamp by a few years?
Indeed. I believe Mr. Ciarcia, made several such systems. A Z8 based one, and the Intel one, and also a TINY-BASIC one, which was INS8073 based.
I just wanted to do the same remark.
The interpreter was not open source, however i had a copy. Based on this i built a flight controler for my ultra light plane in mix 80… :)
Yeah, I was using a board called the Tattletale, by Onset computing back around 88/89, and was using boards produced by Centroid CNC a bit before that .. and there were a number of FORTH SBCs in popular use at the time.
Moore Products had a number of mission-critical industrial controllers that were field programmable in the mid 80s (Moore is featured in Leo Brodie’s “Thinking Forth”, which was released in 1984). Not exactly hobbyist stuff, although with a re-flash, it certainly could.be. And the Centroid CNC boards were pretty easy to use for applications other than stepper motor control and g-code interpretation.
Nothing beats a REPL when you are debugging finicky hardware, and nothing beats non-volatile configurability for making field programmable appliances.
The wdespread use of interpreted code stored in battery-backed static ram is probably nearly as old as low power SRAM chips. Anyone know when the HD6116 was introduced?
The largest improvement of the BASIC Stamp series over the previous stand-alone BASIC-programmable microcontrollers is that the BASIC Stamps have built-in regulators, programming circuitry, and bootloaders.
The BS1 can run from a 9-volt battery, and is programmed with a direct connection to a few pins on a parallel port. The BS2 and later can also run from a 9-volt battery, and they are programmed over an RS-232 serial port, again with a direct connection.
The Propeller Microcontroller isn’t a module like the BASIC Stamps, so it does include a regulator and can only communicate at 3.3 volts, but it does have a bootloader that allows programming with a direct connection to a 3.3 volt serial port, such as the one on a Raspberry Pi.
Parallax had the Basic Stamp, but they also offered and supported an assembler and programmer that directly programmed PIC chips. There was a split in the company. One group continued with the Basic Stamp and the other group left and formed Tech-tools which supported programming PIC chips directly with an 8051 type assembler. Unfortunately Microchip never accepted Tech-tools 8051 type assembler and it languished. I really liked working with their 8051 assembler which had great documentation. Today Tech-tools is mostly into logic analyzers.
Basic Stamp was a godsend to hacking back in the day. Tried one and after that never ordered just one at a time. Still have a few in the parts bin. They were like having a swiss army knife in the toolbox instead of just a plain jackknife.
Then this would be like a Leatherman.
Well, this is certainly interesting.
I wonder how this Stamp’s BASIC compares to PICAXE BASIC…
Don’t know much about Stamp Basic, but PICAXE’s is pretty good. PICAXE has always seemed to be quite reasonable in terms of price. You can buy the 28X2 chip for £6.73 or the ‘ready-to-use’ module version for £14.99. Not sure how these compare in terms of specs with the Stamp.
The basic stamp was my first micro and PBasic was my first micro language
I hade a school stamp (through hole easy to repair version of the BS1) that only cost £40!
i payed close to $120 for a basic stamp 2 kit back in the day … not too far off
yep I remenber the basic stamp being well out my reach financially when at school, eventually I got my hands on a cheap pic programmer board but it wasnt till a few years later. IIRC the pic programmer was £40 or so and the stamp was into 3 figures. I wish the stamp had been offordable at the time, like the arduino is currently, would have been amasing.
I bought the last 2 BS school boards for $20 at the local Radio Shack.
If you are stuck with Basic, ESPBasic (https://www.esp8266basic.com/) does the same on an ESP8266 board for less money, with more power and Wi-Fi onboard. Plus it is Open Source!
In my view, the open-source toolchain seems to have been the secret sauce that allowed Arduino to catch the interest of pure-software types, where all the closed-source microcontroller toolchains in the past hadn’t done that.
I don’t think that the closed-source compilers were that much of an impediment to the adoption of earlier microcontrollers. There was always free (but slightly limited) compilers for PICs, and the SourceBoost compiler is free. And most of the popular microcontrollers had free IDEs.
The bigger impediment was the bewildering array of available PICs, each with a different set of cofigurations and capabilities. I got around that by only using 3 or 4 different PIC models.
But with the nicely set up IDE, the well-designed hardware, and the strong community, there’s no question that Arduino greatly lowered the bar to access for a much greater audience.
BASIC on a microcontroller was never my cup of tea, but I appreciate how the Basic Stamp and the PicAxe allowed more people to try their hands at microcontrollers.
I think the availability of hardware had a lot to do with it too. I used the 8051AH BASIC a long time ago, but the hardware was “do it yourself”, availability was poor, and documentation not much better. With sites like ebay, ready made hardware can be yours at a click of the mouse and be delivered to your door within a week. Documentation and examples are aplenty, and there always seems to be someone on a forum willing to help you flash a LED. It was no so back then! If you couldn’t get it to work yourself – tough luck!
You do know Parallax does have the Propeller now. Much faster, eight core, and can be programmed using multiple languages. You can use c, spin, assembly, and google’s blockly. You can use linux, raspberry pi, Crome, MAC, and Windows plus anything that uses web browser thanks to blocky.
Wait!! What??!?!? I have a Propeller beginner’s kit collecting dust sitting on my desk and you mean to tell me I can use assembly and blockly??? I am so getting the toolchains. Any suggestions on an IDE to use for this?
Thank you kindly.
when i was younger a teacher suggested i get a basic stamp. but i was poor and my foray into the embedded world had to wait for cheap chinese arduino knockoffs some decades later. its still my go to when i can get a thing i can program immediately for $3. and i dont have to rip up old projects for parts either. the basic stamp was way too expensive durring its reign.
also i have a profound dislike for interpreted languages. especially on an mcu where resources are scarce and performance and other resources are so easily pissed away. in this reguard you can take arduino a lot further than you could the stamp. with arduino, if get tired of the cruft, you can just bypass it. just access registers directly and ditch the arduino easy mode. its so much easier to wean yourself off of the crutches. you learn basic and your like wtf is a register? start at the bottom and work your way up.
The basic stamp 2 was a great intro to microcontrollers for a young person who knows nothing about them, but I did get super confused when I got to registers. Though it might have made it easier to learn if I had had a real Arduino instead of a thermostat controller I rescued from the garbage at my dad’s workplace and reprogrammed with AVRdude.
Holy shit, your first foray into Arduino was using a salvaged thermostat as an Arduino? Am I reading that right? That’s super hardcore!
Interesting take. I started with assembly (on a trash 80 – hence microcomputer). When I got into microCONTROLLERs, I used assembly by choice (an 8051). Later though I used the 8051 BASIC to quickly develop and debug the code structure, and then rewrote it in assembly.
The BASIC was horribly slow, crashed often, but super easy to change and tweak. The assembly was the opposite – fast, reliable, but hard to tweak (for major functionality, not just changing a few constants!).
As a nostalgia thing it might be fun. It’s how I got into microcontrollers myself.
Built several small robots that ran around the floor based on these.
But apart from its price at the time, it was quite limited and we’ve moved on since then.
It can’t offer any advantages over the many alternatives that are available now.
A simple basic interpreter that could run on one of the many modern cheap controllers would be a better use of their time and backers money. The pin footprint would be easy to match with most of them.
Well, Basic Stamp was nice….15 years ago.
But since this time, we had the Arduino, the Mbed that is now supported by MCUs up to 200 MHz, ESPBasic as mentioned before. Shall you need easy to use and powerful apps on USB, go to Teensy, etc.
Times have changed, MCUs have evolved ans Basic Stamp’s place is in a museum
Interesting, but what happened to that copper pour on the PCB? (see the kickstarter page) Was it done by hand? It looks very jagged, like it was created out of separate fat traces.
Yep it was done by hand in a ancient tool, one that I started using back when the BASIC stamp was fairly new. I’m not cheap just haven’t seen anything much better than that obsolete Traxmaker which I purchased a full license to back then.
User interface on Eagle and KiCAD drive me nuts
DIPtrace does not allow net list imports, which I really rely on, as I update the schematic not the layout
I tried Mentors tools at Digikey and they wanted a license fee for the libraries which would be fine if they had library elements for everything except parts announced last week (which they didn’t)
I have one user that imported the files into Altium and I make look into that (I used to use their tools for FPGAs)
I can post a netlist or those Altium files when we get closer to building some more parts.
Hey, that’s what OSS is all about. just hack a better interface onto KiCad!
I believe the Intel basic chips predate this… 8051 derivatives with ROM basic..
8052-AH and the CMOS versions of the same….
Better go with µPython.
I agree. PBASIC got me into programming, but Python is a real language. It has lists and classes and all those things that PBASIC sorely lacks.
I’ve always wondered if Python could work as a good replacement for LISP. Thoughts?
While I’ve contributed to micropython I think an overlooked language is Forth. It’s blazing fast on a modern core and is almost as fast as assembly. You could easily interactively program using serial. It’s a powerful language for resource constrained systems. There’s a lot of forth code running in space.
Pretty sure the 68HC11EVB evaluation board with BUFFALO monitor predates the BS. Found mine the other day while cleaning! :)
HC11 was a fun little micro. With that setup I recall having to write the program in asm, compile, then upload the HEX file over the serial port to run it.
Most of my early microcontroller projects used variations on the 68HC11. Getting a hold of a decent C compiler was sometimes a challenge (lots of half-assed ones out there), but the chip worked quite well. I learned how to do a lot of useful stuff with it.
Around the same time (courtesy of FIRST Robotics in high school) I was exposed to the BASIC Stamp. I honestly hated the thing. It was so horribly handicapped that 90% of the work wasn’t figuring out what we wanted the code to do… It was figuring out how to make it work with such an awkwardly limited environment. We had like 32 *bytes* of RAM to work with, had to use counter loops for things that were supposed to be timer interrupts, and I think getting math to work as-expected was also a pain.
I personally have no love for the BASIC Stamp. I really do not like environments that slap on the “kid gloves” just to make them seem more approachable to people who are scared off by actually having to learn something.
Don;’t forget about Geoff’s Micromote – PIC32 with a BASIC interpreter.
It works with almost all of the PIC32’s from the 28 PDIP one to the latest MZ variants.
All sorts of modern BASIC devices based on the Micromite:
Ah the Basic Stamp. Never had one, but it was the Arduino before there was Arduino. And darn expensive. I had a copy of the book “Robot Builder’s Bonanza” 2nd edition, but never built anything from it, because the projects all revolved around Basic Stamp at like 5x the price of the book itself.
Around the same time IIRC the PIC16C84 was in its heyday. If you could put up with the quirky ASM syntax and didn’t mind etching your own board, it was the king of cheap uC for hobbyists!
As a teenagers(I’m 40 now) I would have liked to play around with stamps.
But the price per modul/chip was to high for me.
So I started with “C-Control” by Conrad. Based on the HC6808 and their BASIC-Interpretation ( very instable on batt jitters btw)
25,- each @2001.
But 2003 I started with the Mega8, STK500 (110€), GNU-C and – important change – internet forums like “Mikrocontroller.net”. Men! What a difference in prices.
I watched the Arduino projekt many year before I burned one on a Mega8.
In my opinion Atmels Mega 8 with GNU-C and a payable Development Board with easy accessable UART for debugging was the death for Basic Stamp.
Arduino “just” brought the existing needs of tinkerer and maker on one plattform.
Want one that is Arduino shield compatible and costs only $2.00?
Ebay link https://www.ebay.com/itm/Arduino-Shields-pin-compatible-50-MHz-ARM-controller/142531257359?epid=1677378957&hash=item212f86640f:m:mnLStrtEPHXRjrJdQjl2HiA
Board-mounted 50 MHz ARM M0 CPU (LPC1114)
Programmable in a compiled BASIC or C
Support for Arduino Sketches
20K user code space (1600 Instructions)
2K user data
32K flash size
4K RAM size
< 50 mW
5-7V DC input
Connections for 22 digital I/O
6 x 10 bit analog A/Ds
Programming dongle sold separately
I bought the lowest 2 BS shoal boards for $20 at the local Radio Shack.
BASIC on a microcontroller was never my loving cup of Camellia sinensis, but I apprise how the Basic postage and the PicAxe allowed more people to examine their hands at microcontrollers.
Its awesome and work like a rocket
Does Walmart Sell Stamps in US
THANK YOU ALL
This kickstarter project has been funded, with 2 weeks to go. I think this will be a useful tool in your bag of tricks. The community is important to any project like this, and we look forward to projects you build with it. I am tool builder and think tools like this are an important building block. I hope you’ll agree that this is a good start. Again thank you!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)