High Performance, Low Cost…

The Parallax Propeller Chip

Many of my early projects used the PIC (Microchip) family of microprocessors. In the early 2000's I became involved in an initiative called TASEAP, or the Thai-Australia Science and Engineering Assistance Program. Under the auspices of this program I designed a circuit board that I called “LabDAS”, short for Laboratory Data Acquisition System, and developed a lecture and lab course based on LabDAS to teach Instrumentation to chemists.

In the ensuing years I ran numerous hands-on workshops using these boards at numerous Thai universities from Hat Yai (in the southern province of Songkhla) to Chiang Mai in the north. My very first LabDAS board (pictured below) was based around the BS-2 Basic Stamp OEM module made by a company called Parallax, based at Rocklin, near Sacramento, California.
Stacks Image 40
In 2006, Parallax released a new chip, the P8X32A, dubbed the "Propeller." The Propeller is a 32 bit microprocessor whose architecture supports true multi-processing via 8 internal cores known as “cogs”. In this architecture, each "cog" executes its own code, written in a custom language called SPIN as well as assembler. This architecture can achieve truly deterministic performance for up to 8 different processes running simultaneously while offering 12.5 nsec timing resolution, if required. For instrument control applications, these 8 cogs each have access to a shared set of 32 programmable I/O pins and also round-robin access to 32kB of HUB RAM.
Stacks Image 42
The Propeller chip is a fantastic platform for building scientific instruments. Why ? - it is inexpensive and fast, the I/O pins are very flexible and also easily configured, on-board counters allow all user processes to be tightly controlled, allowing them to execute in precisely known amounts of time, and large user tasks can be decomposed naturally into smaller tasks each managed by code running on a devoted cog. This latter point proves to be very significant as all instruments are best understood as a set of inter-related functional "blocks”. Individual cogs can handle the processing required by each of these blocks. A large user base of Propeller code "objects" is also available here that can be harnessed to develop projects.

Nearly all of the instruments described on this website use the Propeller chip. Two additional components complete a core "nucleus" for instrument development. These are a 24LCXX serial EEPROM (for permanent program storage) and a USB-to-serial/parallel UART interface (either an FTDI FT232R or FT245R). USB connectivity to a host PC provides fast upload and download of data from/to the Propeller. Having this common nucleus for each instrument speeds development, and allows one to concentrate on the unique features of each design. A custom development board configured with this minimal chip configuration and with many of the I/O pins brought out to headers is shown in the image below.
A typical instrument project involves some additional interfacing, for example adding various sensors and some analog I/O. A tremendous synergy is possible by making the instruments LabVIEWTM-based, as this gives them a truly professional look and feel. More information about LabVIEWTM can be found here.

mini-DIN6 Connectors on Propeller-Based Instruments
External connectors on Propeller-based instruments are made via mini-DIN6 connectors.

Two such connectors can be seen on the PCB opposite. The pin numbering on a mini-DIN6 connector as viewed when looking at the pins is shown in the middle diagram. Detailed pin assignments for different instruments can be found elsewhere on their respective pages.