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.
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.
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.
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 |
- The Parallax Propeller Tool is available from the software page.
- Brad’s Spin Tool: http://www.fnarfbargle.com/bst.html
- FTDI Chip Drivers: http://www.ftdichip.com/Drivers/VCP.htm
- The Parallax font is available from the software page.


