Parallax
(I have been very busy with multiple non-embedded projects … very shortly, I’m going to be back to spending probably most of my time on controllers and robotics.)
I did, however, begin running through a lot of the explanatory experiments that come with the Parallax development board. Boy, Parallax makes programming easy! Rather than the usual assembly or C programming (which are easy for me, fortunately), the Basic Stamp 2 is programmed in their own version of BASIC.
The integrated development system on Windows, compiles the BASIC source programs into a tokenized internal format, which is in turn executed by an interpreter on board the Basic Stamp (which is based on a PIC controller). Yeah, your programs are not going to be super fast but for so many applications, they are plenty fast enough.
Their BASIC includes built in functions like RCTIME that enable you to easily time the discharge of an RC circuit – and use this as a crude timing source and a simple way to convert a potentiometer setting into a digital value. The key is that Parallax hides much of the typical complexity of microcontroller programming in to some reasonably high level functionality designed as functions of their BASIC language.
The main drawback is extremely limited RAM space that limits the Basic Stamp to relatively simply applications. Parallax chips and development boards are also pricier than a number of alternative products from other vendors. There is no floating point number support either – so you need to fake floating point numbers using fixed point integers, or buy their add -on floating point module.
I had an odd initial reluctance to working with the Basic Stamp – that was geez, professionals don’t program in Basic – they program in C or assembler. Which is a bit of programming machismo when the real focus must be on how quickly can we deliver the right solution.
In reality, a lot of university engineering courses and professional engineers are using the Parallax chips to develop real world solutions. Because Parallax has made it is simple and easy to do so. It really is more important for us to deliver a quality product quickly than to feel macho because we code in asm or C.
That said, I think Parallax has done a good job creating solutions that span the beginning hobbyist or high school student, up through college and on to professional level solutions – provided you can live within their limitations, notably on RAM and speed.
They have other chips besides the Basic Stamp, including the new Propeller. The Propeller is a microcontroller featuring 8 independent processing units – they call them “cogs”. These can be used independently or they can share information to work on a problem together. I have not used this chip yet – but the potential applications are very intriguing.
For the hobbyist – or software centric enthusiast – Parallax manuals can be downloaded for free and they provide literally tons of sample circuits and sample code. If you don’t know electronics, its pretty easy to follow their circuits and build out from their samples. If you don’t know software, you can readily adapt their source code.
Parallax also provides a great many other products including other processors, sensors, motor and servos, motor and servo control systems, robotic kits and much more.
The more I get into the Parallax solutions, I can see why many of us might want to nearly standardize on Parallax for delivering quick solutions. I’ll likely have more to say about Parallax in the future as I just ordered a bunch of parts from them to start working on some new projects.
I may use the parts for either Parallax or AVR Atmel-based projects. Time will tell!
Other options for those who are looking for low cost and pretty straight forward designs is the Arduino project boards and software. These can be prorammed in C and have options for way more RAM than is available on the Basic Stamp.
Another company puts out a product they call the C Stamp, directly competitive with the Basic Stamp modules, but providing more RAM, more I/O pins and programming C (MPLAB, in fact, from Microchip). The C-Stamp programming language provides a large number of functions that tend to mimic similar functionality provided by the PBASIC language used on the Basic Stamp. The idea, likely, is to make it easy to transition from programming in BASIC to C.
All of these products have, through language keywords or library functions and classes, provided a good deal of functionality that hides the otherwise difficult tasks of performing certain types of operations with microcontrollers.
hi, i have a parallax continuous rotation servo, i was wondering if i could program them in c language instead of Basic.