Posts: 65
Joined: Tue Dec 18, 2012 4:24 pm

ANNOUNCE: OpenJDK project for Device I/O

Sat May 31, 2014 12:00 am

Hi all,

We (Oracle) have a lot of customers and partners who are interested in accessing low-level I/O like GPIO, I2C, UART and similar interfaces from Java ME and SE. We have for a while been working on a library that provides this sort of functionality. We are now open sourcing this in OpenJDK and are inviting community members to help enhance and extend this library, as well as port and optimize it to different types of hardware.

There is some overlap between our Device I/O and Pi4J. Pi4J is (and will remain) much richer in functionality, but was really intended for the Raspberry Pi and not for other platforms. We have been discussing with Robert Savage (Pi4J author and frequent contributor on this forum) how to handle this overlap and the current thoughts are that Device I/O may be the right place to handle the basic I/O with Pi4J as a rich layer on top. We have a similar thread going with some of the LeJOS (Java on Lego Mindstorms) community members.

With Oracle's investment in Java for embedded devices and Internet of Things, there will be more announcements like this one. Stay tuned!

For more information see:

Best regards,

Henrik, Oracle Java team

User avatar
Posts: 766
Joined: Wed Aug 28, 2013 4:09 pm
Location: UK

Re: ANNOUNCE: OpenJDK project for Device I/O

Sat May 31, 2014 5:33 am

Sounds like good news all round :)
Can't find the thread you want? Try googling : YourSearchHere site:raspberrypi.org

User avatar
Posts: 425
Joined: Thu Oct 25, 2012 7:34 am

Re: ANNOUNCE: OpenJDK project for Device I/O

Sun Jun 01, 2014 8:17 pm

Spot on!

Lower level, generic API for access to device I/O (and other hardware) + implementations (pi4j & lejos, but also HaikuVM and similar) are really good combination. If done properly, richer, higher level device definition/implementation can be, then, delivered seamlessly across the platforms!

I already have pi4j style interface implementation for lejos, so I can use same i2c device abstractions across both platforms. Same went for HaikuVM, too! I am sure similar things can, then, be implemented for other platforms (including access to serial devices, counter/timers, various i2c/SPI/one wire sensors, displays, etc).

Aside of pi4j as implementation for RPi, we might need another, more generic project/place to keep all such device abstraction contributions in one place (if nothing else, but reference to implementations). Why wouldn't we have library similar to arduino (or such) and over, nice generic abstraction layer? :)

Return to “Java”