What is JStamp?

JStamp is an exciting new product from Systronix. In the simplest terms, JStamp is a computer. Like most other computers, it has a CPU, RAM, ROM, power supply, and I/O. Aside from that, JStamp is unlike most other computers. The most obvious difference is its size (1 inch by 2 inches), but perhaps its most significant difference is that it is programmed entirely in Java. This is not to be confused with systems that merely restrict one to programming in Java, yet execute proprietary opcodes at the native level. On JStamp, Java is the native level. That point bears repeating: On JStamp, Java is the native level.

Welcome to the Native Level

The fact that Java is the native level makes the JStamp very fast; there is no Java interpreter layer between your Java code and the silicon. It allows JStamp to be very small; there is no need for extra memory to store a Java interpreter. It means that JStamp runs real Java; the JStamp runs actual Java byte codes. There is no compile-time, build-time, runtime, or at-any-other-time translation of Java byte codes into proprietary opcodes. This leads to the slogan that JStamp is real fast, real small, real Java.


The CPU on JStamp is the aJ-80 from aJile Systems. The aJ-80 is programmed entirely in Java. The standard Java Virtual Machine byte codes are its native instruction set. The aJ-80 is rated for a maximum operating frequency of 80 MHz. It is possible to configure JStamp to run at many clock speeds; as slow as 7.372 MHz or far faster than the aJ-80's maximum rated frequency of 80 MHz. Due to the 7.372 MHz crystal used on JStamp, the highest in-spec clock frequency is 73.72 MHz. JStamp's power use is proportional to its speed; the slower you run it, the less power is uses. This is very useful for battery powered systems.

The aJ-80 contains a number of built-in I/O peripherals. These include two UARTs, a serial peripheral interface (SPI) controller, three very versatile 16-bit timer/counters, as well as general-purpose I/O ports.

The aJ-80 also includes an industry standard test interface known as a JTAG interface. The JTAG interface is used for loading and debugging programs on JStamp. It is both fast and powerful, providing the ability to debug your program while it is running in-circuit. Effectively, it makes the JStamp its own in circuit emulator. (Believe it or not, the 'J' in JTAG does not stand for Java!)


The JStamp contains 512 Kbytes of static RAM. This RAM is not battery backed and its contents are lost when power is removed. Because of this, programs are not normally stored in RAM except during the development process.


The JStamp contains 512 Kbytes of flash ROM. A different version of JStamp, called the JStamp-Plus, contains 2 MB of flash ROM. The extra flash ROM is the only difference between the JStamp and the JStamp-Plus . For normal deployment, programs are typically stored in flash ROM. The flash ROM is also used to store a local file-system, if any.

Power Supply

The power supply and JStamp is a switching voltage regulator. The raw supply voltage to JStamp can be between 5 and 14 volts unregulated DC. The switching voltage regulator generates 3.3 volts (regulated ) for the on-board circuitry and provides up to 100 milliamps of regulated 3.3 volts DC for use by off-module circuitry.


Almost all of JStamp's 40 pins are used for I/O. The I/O pins are connected to the aJ-80's built-in I/O peripherals. The JStamp module also contains an LED. On the first version of JStamp, this LED was simply a power indicator. On subsequent versions, this LED can be controlled via software, but defaults to being a power indicator .

Copyright © 2001 Smart Software Consulting