circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

May 2004, Issue 166

Embedded Java Controllers


by D. Jay Newman
Before you start piecing together your next robotics puzzle, consider what Jay has to say about the power of embedded Java controllers. In this article, he introduces you to Systronix Java controllers and the SimmStick bus they use. He concludes with information about the code and hardware that he used to create a simple motor controller for R/C servos.

I’ll admit it. I’m used to programming when I have lots of memory. Although the first computer that I built had 18 KB of RAM, which was large for the day, every year computers gain more memory. I wouldn’t even think of buying a laptop with less than 1 GB of RAM now—and perhaps more by the time this article sees print.

Later, I became interested in embedded systems. The rules changed. I stepped into a time machine, and suddenly I had RAM that could be measured in kilobytes again, and not many of those. Even the stamp-type controllers still had extremely limited memory. Also, most of these microcontrollers were programmed in assembly language, C, and Basic. Yes, I can handle all of these languages, but I prefer Java and a bit more memory.

Then a small company called Systronix came out with the JStamp. This is an aJile aJ-80 Java processor put into a 40-pin-wide DIP package with 512-KB RAM and either 512 KB or 2 MB of flash memory. And its native machine language is Java bytecodes! So, I ordered a JStamp+ (the one with 2-MB flash memory) and started developing. This controller is more powerful than any of the other Stamp processors I’ve found, and it is reasonably priced.

Systronix then came out with the JStik, which uses an aJ-100 processor that benchmarks approximately four to five times faster than the aJ-80 and has much more RAM and flash memory. The JStik also has built-in Ethernet, two COM ports, a high-speed I/O (HSIO) port, and the JTAG connector for programming.

My goal here is to introduce you to the Systronix Java controllers, the SimmStick bus used by them, and the differences between Java 2 Micro Edition (J2ME) and standard Java. Furthermore, I’ll explain the code and hardware needed to create a simple motor controller for R/C servos. I would also like to say up front that I use embedded controllers for robotics. However, pretty much everything in this article applies to other embedded systems as well.