An operating system in Java for the Lego Mindstorms RCX microcontroller
Pekka Nikander
Abstract
The Lego Mindstorms is a Lego bricks based robotics toy series
produced by the Lego Group, based on the ideas developed at the
Massachusetts Institute of Technology in the Programmable Brick
project. The heart of a Lego robot, the RCX microcontroller, hosts
a Hitachi H8 microcontroller with 28 kilobytes of memory avail-able
for downloadable firmware and applications. In addition to the GUI
based programming environment provided by Lego, a number of
alternative programming environments have been developed for the
RCX. However, these alternative programming environments are
written in C, tightly bound to the hardware, and provide only
relatively low level services. The strong hardware dependency makes
it hard to debug programs; in practice, a hardware simulator is
needed, and such a simulator does not yet exist in an open source
form.
In this paper we present a new type of operating system and
new programming environments for the Lego RCX brick. The operating
system is written almost completely in Java, and currently
provides runtime support for Java, C and C++ programs. In the case
of Java applications, simulation and debugging is relatively
simple as it can be performed on a standard Java Virtual Machine
with just a small hardware simulation package.