Hardware for the Propeller JVM


Practically any Propeller based hardware will run your Javelin compatible Java 1.1 application with the Propeller JVM. Below are some platforms available from Parallax.com. The end of life Javelin is shown for comparison.

Each board shown has unique and useful attributes. Some boards have USB serial port built-in, and others do not. Not having the USB built-in offers advantages: lower cost since only one PropPlug is needed; each USB connection driver creates a new COM port on a PC (sometimes undesirable).

The PPDB requires hookup wires for breadboard and other connections, but allows flexibility for pin assignments. The demo board has a small breadboard area and connections predefined. PropRPM provides an RS232 connector on DB9 instead of USB serial port. PropRPM also has predefined connections for NTSC composite TV output on the RCA jack.


Javelin Stamp $89.99

Spin Stamp $49.99
Requires PropClip $14.99

Proto Board USB $29.99

Proto Board $24.99
Requires PropPlug $14.99

PPDB Board $169.99

PropRPM $49.99

Servo Controller $39.99

SchmartBoard $39.99
Requires PropPlug $14.99

PropStick $79.99

Backpack $49.99
Requires PropPlug $14.99

Propeller Platform $34.99
Requires PropPlug $14.99

Propeller Platform SD $39.95
Requires PropPlug $14.99

Prices are for reference only as of June 1, 2010 and are subject to change at the vendor. This is not an offer to sell products at the listed prices.


The only critical difference for various Propeller hardware platforms besides pin assignments is the Propeller crystal frequency in use. The Propeller crystal frequency must match the code. The Spin Stamp for example uses a 10MHz crystal. The Propeller Proto-Board and others use a 5MHz crystal. This complicates things a little for the Spin Stamp since the code by default specifies 5MHZ.

To make Propeller JVM work with Spin Stamp, the pjvm_demo.spin file clock definition lines need to be changed. The default code looks like this:
con
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000
  '_clkmode = xtal1 + pll8x
  '_xinfreq = 10_000_000
          
Note that there are 2 settings and one is commented out with ' marks. If you are using Spin Stamp, you should change the code to look like this:
con
  '_clkmode = xtal1 + pll16x
  '_xinfreq = 5_000_000
  _clkmode = xtal1 + pll8x
  _xinfreq = 10_000_000
          

If you have a hardware configuration with a crystal other than 5MHz or 10MHz, the code would be changed accordingly. There is another way to handle this issue to make software updates easier and will be included later. Today, if you get a new JVM, the clock settings will be over-written.