I’ve been messing around with the forth programming language lately. Yes I could run something like gforth or other interpreter on the desktop but its more fun to play with real hardware. My current setup of running a version of flashforth hosted on an ATMega328 chip was just too brittle and clumsy.
Then I read about the Scamp computer!
So what is a Scamp computer? It is a self-contained forth computer running its own version of flashforth on a stick. Simply connect using a usb interface and terminal software (I’m using screen on linux/OSX). No need for extra hardware to get it running.
It has lots of nice output pins, an onboard LED array and an easy i2c interface.
You can find all the details of the Scamp from the Udamonic Website. Best of all, the creator John, is also in Australia so I was more than happy to purchase one to play around with it (support your local small business!). There are lots of examples and tutorials on his site on how to program and code using forth and getting started with the Scamp. I also spoke to John in a few back and forth emails and he mentioned that he is working on a Scamp3 which should have SPI, Serial and Clock interfaces exposed as well.
Here is also a great introduction video on the scamp here by 0033mer on YouTube, which is where I initially discovered the scamp and basically sold it to me.
I’m not exactly sure what I intend to do with it yet, but it just seems cool to have an entire embedded computer system (os + dev environment) on something the size of a stick of gum. It is really great to use to experiment communicating with modules and hooking up a oscilloscope/logic analyzer and see how things work in detail.
The only downside (if any) is that I’m used to programming AVR based microcontrollers and not PIC microcontrollers. But after reading the datasheet on the hardware I found it to be not to difficult to understand it.
I’ve also found that it is easier work in modules, working with a known setup (like the scamp), so when connecting an LCD screen for example, you only have to debug your LCD connections, rather than trying to debug the complete setup.
Once I’ve played around with the scamp a bit more I’ll setup a git repository to put my collection of experiments into for others to play around with if they so wish.