PreonVM is an implementation of the Java virtual machine developed by Virtenio.
The PreonVM was initially developed to run on the Atmel AVR ATmega256, but has been ported to ARM Cortex-M3 systems.
The PreonVM requires no additional operating system and runs directly on the microcontroller.
This makes it possible to reduce the class file size by about 80%, which is required for a small device.
The PreonVM comes with a library of driver classes for IO like I2C, SPI, USART, CAN, PWM, IRQ, RTC, GPIO, ADC, DAC and with drivers for some sensors and IC's.