JStik™
Java Module Comparison
revised 2005 Sep 23
JStik Photo
RealTime Java
for the
real world
[Purchase JStik]

JStik is powered by
realtime, native-execution, Java Technology
JStik Home
JRealTime
JStamp
SaJe
JCX
JSimm
TStik


JStik, JStamp and SaJe - what's the difference? And what about TStik and SNAP?

JStamp, JStik and SaJe are all high speed native-execution modules based on the aJile 32-bit core. JStik has a 32-bit wide data path to external memory (vs JStamp's 8-bit path) so it can fetch opcodes and data in one cycle. This makes JStik 4-5X faster than JStamp at the same clock rate. SaJe also has 32-bit wide external memory and has higher speed SRAM so it's access to SRAM is about 20% faster than JStik. When accessing flash SaJe and JStik are the same speed. All these systems are highly deterministic and are excellent for hard realtime control.

TStik is based on a much lower cost 8-bit 8051 super core, the Dallas/Maxim DS80C400. TStik executes an interpreted JVM, so it is significantly slower than native-execution systems -- but it also costs less. TStik hits an unbeatable cost/performance point - for about the same price as a PIC-based Javelin you get megabytes more memory, real Java support, ethernet, CAN, and a lot more. But - don't use TStik for hard realtime control.

SNAP fits between TStik and JStik in terms of cost and performance.

Which is best for me? It depends on your needs of course, but here is our general answer to this common question: Best overall value: TStik. Best for battery operation: JStamp. Best realtime performance: JStik or SaJe. Best for fitting an existing BASIC stamp socket: Javelin. Best performance upgrade for an existing TINI SIMM72 socket: SNAP. Best for robotics: JStamp. Best floating point performance: JStik or SaJe.

For some comparative benchmarks see: http://www.practicalembeddedjava.com/benchmark/benchmark.html


JStik, TINI390, TINI400 TStik2, JStamp, SaJe, SNAP, Javelin compared (email us with any corrections or additions)
 
TINI390 1MB
Dallas/Maxim
TStik2 TINI400
Systronix
Javelin Stamp
Parallax
SNAP
Imsys
JStik
Systronix
JStamp+
Systronix
SaJe
Systronix
JVM edition,
type, size
custom 1.1.8 version
firmware, 448 KBytes
custom 1.1.8 version
firmware, 448 KBytes
subset of JavaCard?
J2ME/CLDC
plus java.net
J2ME/CLDC
native, 0 KBytes
(in silicon)
J2ME/CLDC
native, 0 KBytes
(in silicon)
J2ME/CLDC
native, 0 KBytes
(in silicon)
Java Tools
Standard JDK
Standard JDK
custom Parallax JIDE
Standard JDK
Standard JDK
Standard JDK
Standard JDK
use standard .class files?
yes
yes
no
yes
yes
yes
yes
RealTime Java Support?
no
no
no
no
partial
partial
partial
Native methods?
yes, 8051 assy language
yes, 8051 assy language
no
yes, in C
yes, in Java note 6
yes, in Java note 6
yes, in Java note 6
JINI support
possible (Note 8)
possible (Note 8)
no
??
possible (Note 8)
no (no ethernet)
possible (Note 8)
thread switch
2 msec
2 msec
only one thread
??
1 usec
<8 usec?
<1 usec
execution (byte codes per sec)
??
?? faster than TINI390
8000?
8X faster than TINI
15,000,000
3,000,000
>15,000,000
# of threads
16 max
16 max
1
unlimited
(to max heap size)
unlimited
(to max heap size)
unlimited
(to max heap size)
SRAM
512 KB or 1 MB note4
512 KB or 1 MB
32 KBytes
8 MB DRAM
2 MB
512K
1 MB
Flash
512K note1, note4
2 MBytes
32 KBytes
2 MB
4-8 MB
2 MB (JStamp+)
4 MB
UARTS
1x RS232
1x TTL or 1Wire
115 kbaud
1x RS232, 2x TTL
1x 1Wire
115 kbaud
three full duplex or 7 one-way in firmware, 57.6 kbaud
three full duplex
2x RS232
or TTL, 115 kbaud
2x TTL, 115 kbaud
1x RS232
1x RS232 or 1Wire, 115 kbaud
External UARTs?
yes, up to two (SimmSerial)
yes, via SPI
no?
yes, SImmSerial
Yes, up to 12 with JSimmQuadSerial
possible via SPI
yes, via SBX (SBX2 adds one UART RS232/485/IrDA)
javaxcomm
serial I/O?
yes
yes
no
yes
yes
yes
yes
SPI
yes, firmware
yes, firmware
??
yes
yes, hardware
yes, hardware
yes, hardware
System Bus
TINI proprietary, unbuffered on SIMM72
modified TINI proprietary, no memory mapped I/O
BASIC Stamp pinout
TINI390 on SIMM72
SimmStick compatible JSimm
DIP package, JSimm compatible
SBX
High Speed I/O interface
unbuffered SIMM72
8-bit data path
no memory mapped I/O
(but plenty of other I/O)
no
no
buffered highspeed I/O bus, 2mm connector, 8-bit data path, addresses, strobes and chip selects
22 I/O bits, but none are byte wide
buffered 8-bit data path on SBX connector (slower than JStik's high speed I/O bus)
Other I/O interface
SPI, I2C, CAN
SPI, I2C, CAN
??
SPI, I2C, CAN
SPI, I2C
SPI, I2C
SPI, I2C
IrDA support
yes
yes
no
yes, on SimmSerial
yes
yes
yes
ethernet
10BaseT
10/100BaseT
no
10/100BaseT
10BaseT
no
10BaseT
1Wire net
yes - onboard
yes - onboard
no
yes - onboard
yes (note3)
yes (note3)
yes - onboard
1Wire Java API support
yes
yes
no
yes
yes
yes
yes
Size (inches)
4.25 x 1.25
SIMM72
4.25 x 1.25
SIMM72
1.2 x 0.3
DIP24
4.25 x 1.25
SIMM72
3.00 x 2.65
SIMM30
1.00 x 2.00
DIP40
3.9 x 6.2
Euroboard
voltage range
5V
5V, onboard 3.3V regulator
5-15V, 50 mA
5V
3.3 or 5-14V
note2
3.3 or 5-14V
note2
6-20 VDC
power for you
none
none
none?
none
3.3V at 100 mA
note2
3.3V at 100 mA
note2
none
power (running)
1.25 W
TBD, less than TINI390
300 mW
500 to 1000 mW
note 5
80 to 300 mW
note 5
500 to 1000 mW
note 5
cost @10
$69 if available from Dallas/Maxim
$103
2009 April
$81
2009 April
$213
2009 April
$350
2009 April
$149
2009 April
$199 closeout
2009 April
Key benefit
lowest cost embedded Java system with ethernet
TINI400 in familiar SImm72 format, upgrades most TINI390 systems which don't need memory-mapped I/O
fits in BASIC Stamp socket
high speed option for TINI SIMM72 socket
fast, low power, small native Java system with ethernet
lowest cost/power, smallest size native Java system
fastest realtime native Java system
URL
note1: TINI uses all but 64K of its flash for the firmware JVM. You can store one Java program in the remaining flash. It is also possible to extend the flash off-TINI -- for example our STEP+ board has an external flash socket.
note2: JStamp and JStik run on 3.3V internally, and have an onboard switching regulator. JStamp and JStik can be powered with either 3.3V regulated or 5-14 VDC unregulated. JStik can power its RS232 level shifters and parallel I/O port buffers with 5V or 3.3V. JSimm pin 5 is the optional 3.3 VDC power input or output pin. If you provide 5-14VDC to JStamp or JStik, they provide 3.3V at 100 mA for your external use.
note3: 1Wire net requires external serial adapter or expansion board
note4: TINI applications typically reside in SRAM. SRAM is also shared by the heap and file system. Only 64 KBytes of TINI390 flash is available for user program or data.
note 5: the processor clock is user adjustable from 1X to 14X times the frequency of the crystal
note 6: aJile controllers native instruction set is Java, therefore Java is its "assembly code" so high speed native methods are written in Java!
note 7: See the JIR project at SourceForge. IrDA adapter hardware is required for all systems.
note 8: PsiNaptic released JMatos™ software for TINI in 2001 but the current free releases are lagging several months behind TINI firmware releases. A release is possible, but not currently available, for J2ME/CLDC such as JStik and SaJe. JMatos is available for multiple platfroms, but PsiNaptic would rather include it as part of a licensed release optimized for your specific needs. Contact them at their website for the latest details.
 
Systronix® 939 Edison St, Salt Lake City, Utah, USA 84111
Tel +1-801-534-1017, Fax +1-801-534-1019
email: info@systronix.com Time Zone: MDT (UTC-6)
 

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Systronix is independent of Sun Microsystems, Inc.
TStik, JStik, JCX, JStamp, JSimm, JDroid, and JRealTime are trademarks of Systronix, Inc.
1-Wire, iButton and TINI are trademarks of Dallas Semiconductor
Simmstick is a trademark of Dontronics