for communicating to serial / parallel ports you could use "javacomm" from sun. and for communicating with usb devices I didn't know any APIs . if you get something for it please let me know .