QuickStart 1: Comparison of Programming Tools

Programming the Propeller can be accomplished in a variety of ways. The two most common methods are the Parallax Propeller Tool, and Brad’s Spin Tool. Parallax’s Propeller Tool is designed to operate on Microsoft Windows platforms.  Brad’s Spin Tool (BST) expands platform support to include Microsoft Windows, Macintosh, and Linux operating systems. Both programming tools are free of charge. While both of these programs perform the same basic task, there are several feature differences. This QuickStart lesson provides an overview of both of these programs, and their advantages.

The Propeller Tool

The Propeller Tool provided by Parallax has been the long-running standard for those using Microsoft Windows XP, Vista, or Windows 7. Downloading and installing its setup executable results in the installation of USB FTDI support (required by the USB interface on the Propeller board), the Parallax font, Parallax Serial Terminal, as well as the programming environment itself. Before connecting your P8X32A QuickStart board to your computer, install the Propeller Tool Software[1]. This will establish the aforementioned FTDI driver so that Windows will recognize the USB Serial converter on your board correctly when plugged in. Upon starting the Propeller Tool for the first time, you are asked to associate .spin and .eeprom files with the tool, which is generally a good idea.

Screen capture of the Propeller Tool software

The Propeller Tool is organized into four main sections. The window on the upper left is the Object View pane, which indicates the current Spin program loaded. In this case, the program is not yet saved so it is labeled as "Untitled." This area will also show additional connected objects included in your program once you compile the code for the first time.

The middle and lower windows on the left indicate the current working folder, and display the other Spin files which are contained in the selected folder.

The folder "Propeller Library – Demos" is an excellent starting place to explore a new Propeller. If you have a video connection to your TV, the "Graphics_Demo.spin" program is highly recommended. It is an impressive demonstration of the video capabilities the Propeller.

The large, multicolored section is the Editor pane. Notice the tab at the top of the window? Multiple spin programs or objects will open with multiple tabs. This is especially useful when you are troubleshooting or need to copy/paste some working code from another spin program.

The Help menu includes a link to Propeller Help, which describes the Propeller Tool’s features, menus, editing tools, and shortcut keys. It also contains an overview of the P8X32A hardware, and a 10-lesson Spin Tutorial. The Help menu also links to several useful PDF documents including the Propeller Quick Reference, and digital copies of the Propeller Manual and the Propeller Education Kit Labs: Fundamentals text. The Propeller Datasheet and reference schematic are also included for those who are interested in creating their own Propeller designs.

One important editing feature unique to the Propeller Tool is the Block Group Indicators. These light grey connectors show at a glance which lines of Spin code are grouped together functionally, such as with if or repeat statements.

Screen capture of Block Group Indicators with a REPEAT command in the Propeller Tool

Brad's Spin Tool

Brad's Spin Tool (BST)[2], created by Propeller enthusiast Brad Campbell, supports Microsoft Windows, Macintosh (MacOS X Intel and PowerPC), and Linux (Linux i386 and X86-64).  BST is a good alternative for some rare, very large Propeller programs that won't compile under Propeller Tool.

BST was created with the Propeller Tool user in mind, so it offers much of the same basic functionality, such as using the same common keyboard shortcuts and commands.

Screen capture of Brad's Spin Tool software

On the surface BST appears have the same basic layout and functionality of Propeller Tool, but there are several differences.

BST includes a serial terminal much like the Parallax Serial Terminal.  BST’s serial terminal includes a connection management feature, keeping it out of the way of programming the Propeller when the terminal is active.  However it does not include support for all of the control characters available in the Parallax Serial Terminal, so programs which use the PST object (part of the Gold Standard) may not work correctly with the BST serial terminal.  Depending on your debugging requirements, you may want to keep both serial terminals on hand.

BST includes compiler optimization options which intelligently remove unused portions of code at compile time.  Traditionally, all code included in your Spin programs are compiled into your resulting binary regardless.  The Unused Code Optimizer in BST looks at code paths and leaves out methods that are never called, often resulting in significant size savings.  

Additionally, BST provides complete project management when saving, allowing BST to open exactly where you left off.  It remembers all of the code windows you had open, where directory selectors are pointed, down to the where each window was scrolled to.   Support for programming two connected Propellers is also included allowing you to assign the second Propeller to F11.

Installation of Brad's Spin Tool

The installation of BST can be a little more involved as it requires separate installation of both the USB FTDI drivers as well as the Parallax font. In Windows you can take a shortcut by installing the Parallax Propeller Tool first, establishing those requirements for BST.

Installation of BST for the Macintosh is almost as easy as Windows. Visit FTDI's page[3] to get the latest FT232R driver. Download the version for Intel and PPC base.

Once installed, download the Parallax font[4]. Double click the font file, selecting, “Install Font.” The final step is the installation of BST itself which can be obtained from the BST homepage.

Installation of BST for Linux requires only download of the font and the Linux version of BST itself as the FTDI requirements are already met. The Linux version has no external dependencies.

Important Keyboard Shortcuts for Propeller Tool and Brad's Spin Tool

CTRL+S

Save File

Save your current Spin code.

F7

Identify Hardware

Identify your Propeller

F8

View Info

Compile and check code for errors.  This can be done without the Propeller connected.

F10

Load RAM

Load the current code into the RAM of the connected Propeller.   The code will be lost from the Propeller board once it is switched off.

F11

Load EEPROM

Load the current code into the EEPROM chip of the connected Propeller.  The Propeller may be switched off without losing the program.

 

Features Comparison: Propeller Tool vs. Brad's Spin Tool

 

Parallax Propeller Tool

Brad’s Spin Tool

Operating Systems

Win32

Win32, Mac, Linux

Built-in Serial Terminal

Yes

Yes

Block Group indicators

Yes

No

Block editing selection

Yes

Yes

Optional Line Numbers

Yes

Yes

Bookmarks

Yes

No

Built-in Character Chart

Yes

Yes

Multiple View Modes

Yes

Yes

Compiler Optimization Options

No

Yes

Complete Project Management

No

Yes

Multi-Propeller Management

No

Yes

 

References: 
  1. The Parallax Propeller Tool is available from the software page.
  2. Brad’s Spin Tool: http://www.fnarfbargle.com/bst.html
  3. FTDI Chip Drivers: http://www.ftdichip.com/Drivers/VCP.htm
  4. The Parallax font is available from the software page.