# Parallax SX

Parallax SX is a discontinued line of microcontrollers that was marketed by Parallax, from a design by Ubicom. Designed to be architecturally similar to the PIC microcontrollers used in the original versions of the BASIC Stamp, SX microcontrollers replaced the PIC in several subsequent versions of that product.

## Production

The designs for the devices are owned by Ubicom (formerly Scenix, hence "SX"). The SX dies were manufactured by UbiCom, who sent them to Parallax for packaging. Ubicom had made processors with 18, 20, 28, 48 and 52 pins, but because Parallax did not have packages for 18 and 52 pins chips, the SX-18 and SX-52 were discontinued.

### End-of-life

On July 31, 2009, Parallax announced that the SX line had reached its production EOL (End-of-Life) as Ubicom would no longer be manufacturing dies based on the designs; after the supplies from the final "lifetime buy" have been exhausted, the associated products cannot be restocked. In the same announcement, Parallax expressed that availability of its own products based on SX devices would not be impacted and that technical support would remain available.

## Technical details

The Parallax's SX series microcontrollers are 8-bit RISC microcontrollers (using a 12-bit instruction word) which have an unusually high speed, up to 75 MHz (75 MIPS), and a high degree of flexibility. They include up to 4096 12-bit words of Flash memory and up to 262 bytes of random-access memory (RAM), an eight bit counter and other support logic. They are especially geared toward the emulation of I/O hardware in software, which makes them very flexible. While Parallax's SX micros are limited in variety, their high-speed and additional resources allow programmers to create 'virtual devices', including complete video controllers, as required. For example, there are software library modules to emulate I2C and SPI interfaces, UARTs, frequency generators, measurement counters and PWM and sigma-delta A/D converters. Other interfaces are relatively easy to write, and existing modules can be modified to get new features.

## Development and debugging

The Sx-Key is produced by Parallax and used to program the SX microcontroller and then debug it. There is also a cheaper version called the SX-Blitz that does not contain a debugger. Do note that there are two Sx-key products, one is an actual hardware device the other is the software, they share the same name.

### Windows

If you are running on the Microsoft Windows platform, you would want to grab a copy of the SX Key software from Parallax's website. It contains many useful tools for beginners as well as for people more familiar with the SX to aid in development. It comes with the SXsim, and an assembler/programmer to allow programming of the SX using either an SX Key or SX Blitz.

### Issues

There are some known issues with the SX Key software on Windows Vista, the Sx-key software requires certain DLLs that are not distributed with Windows Vista.

### Alternate tools

There is also a C to SX compiler, that will allow you to write C programs for the SX. They are then converted from C into SX ASM. There are two versions available.

#### CCS SX/C

There is a commercially supported version of a C compiler for the SX, it is known as the CCS SX/C, and was available for $199.0. This software is officially supported by Parallax, and they have a partnership to work together on making the SX/C compiler a first class citizen. It integrates with the SX Key software to then program the SX.

#### C4SX

C4SX is a free C to SX assembly compiler that is available from rwsenser. Please note that this software is untested by Parallax. There is a thread in the Parallax support forums about C4SX that might be helpful to those looking at using C for the SX.

## Linux/Unix-based development
### gsasm

gsasm is an assembler for the SX assembly to a hex file. The project lives on SourceForge and can be found at http://sourceforge.net/projects/gsasm/. Note, it is still in its infancy, and while it produces proper hex files to be programmed, it has its rough edges and limitations. Please read the release notes, and see if a more applicable solution would not be to use Wine.

### gSXprog

gSXprog is the programmer that may be used to program the SX using the SX Key revision C and older. Code exists to program with the SX Blitz in CVS, but it is not guaranteed to work. If you downloaded gsasm you will have also obtained a copy of gSXprog. You will be able to use gSXprog to program the SX using a hex file produced by gsasm or from the SX Key software.

### Wine

The SX chip can be programmed with the SX Key software, gSXprog, and SXsim. SX Key Software has been reported to work well under Wine (a Windows compatibility layer for Linux platforms).