Why use this project?
Introduction
EV3-lang-java is a Java project to build software for robots inheriting concepts from LeJOS.
The library interacts with EV3Dev, a Debian Linux-based operating system which expose a interface to interact with Sensors & Actuators in an easy way.
Why use this project?
What is the innovation?
- OpenJDK 11/12 ea
- Java development on top of a Debian, a full featured Linux distro
- Possibility to interact with others programming languages
- Usage of the same library for EV3 Brick, BrickPi3, BrickPi+ & PiStorms
- Support USB devices
- Support for Raspberry Pi
- Modular design
Features
Platforms Supported
- EV3 Brick
- BrickPi3
- BrickPi+
- PiStorms v1/v2
Features
JVM
- OpenJDK 11/12 ea
- Java profiling tools Support
- Logging support
Features
Native libraries
- ROS Kinect
- OpenCV 2.4.x
- Serial RXTX
Features
Robotics
- Regulated Lego Motor Support
- Unregulated Lego Motor Support
- Lego Sensor Support
- LeJOS sensor framework support
- LeJOS navigation stack support
- LeJOS subsumption support
- eSpeak TTS (Text to speech) Support
Release (v1.0.0)[CURRENT]
- Java Debian Package for EV3Dev (EV3 Scope)
- LCD Support for PiStorms
- Debian Stretch Support for Raspberry boards
- Improve OpenCV Support
- New website
- AdoptOpenJDK CI Integration
- OpenJDK 11/12 ea support for EV3Dev Debian Jessie/Stretch
- LCD Support for EV3 for Debian Stretch
- Only one library to add support for Debian Jessie & Debian Stretch
- Sensor API Refactoring (Inner classes)
- Automatic Installer for OpenJDK 11
- OpenJDK 10 for EV3 Brick (Debian Stretch)
- Automatic Java install for EV3 Brick
- Debian Stretch Support
- LEGO EV3 Sensor performance improvement
- USB GPS Support
- Unit Testing support
- Adding Unit testing
- Add JMX MBEAN about Battery
- BrickPi3 Support
- MEMS IMU BNO055 Support
- RPLidar A2 Support
- Arduino Support
- ROS Support
- Adding support for Profiling Tools
- Enabling Stop modes for BrickPi+ & PiStorms
- Add Button, LED & LCD Support for EV3
- [POC] ROS2Java test on Ubuntu
- Development of Battery Monitor
- Adding lejos-navigation
- Support for LIDAR RPLidar A1
- Install Java 9 JDK for Brickpi+/PiStorms + Raspberry Pi 3 in an easy way
- Enabling sound support for Brickpi+/PiStorms + Raspberry Pi 3
- [POC] Install ROS Kinetic on Brickpi+/PiStorms + Raspberry Pi 3
- [POC] ROSJava node creation
- Full regression for kernel: ev3dev 4.4.47-19-ev3dev-rpi2
- OpenJDK 9
- Support for BrickPi+
- Support for PiStorms v1 & v2
- ELK Stack Support (POC)
Release (v0.3.0)
- Full regression for kernel: ev3dev 4.4.32-17-ev3dev-ev3
- Fixed some problems with Motors
- Adding support for Polarity
- Adding support for Stop option
Release (v0.2.0)
- Regulated Motor Support
- Unregulated Motor Support
- Sensor Support
- OpenCV Computer Vision Support
- Sounds
- LeJOS Sensor filter Support
- eSpeak TTS (Text to speech) Support
- Log support
Release (v0.1.0)
- Initial Development
- Rudimentary motor support
Hardware supported
![]()
Hardware supported
![]()
Hardware supported
![]()
Hardware supported
![]()
Hardware supported
- Raspberry Pi 3 Model B Rev 1.2
![]()
Hardware supported
2D LIDARs
![]()
Hardware supported
2D LIDARs
![]()
Hardware supported
Arduino boards
![]()
Hardware supported
Arduino shields
![]()
Hardware supported
Arduino shields
![]()
Hardware supported
USB GPS
![]()
Bonus Extra
Support for ELK Stack.
Centralized logs in an easy way for your robots.
![]()
Bonus Extra
Review the JVM data with your favourite Java profiler.
![]()
Getting Started
Read the docs to learn how to use this project step by step.
Once you have your laptop/brick with the infrastructure ready, enjoy with the following examples.
Project examples
Projects using the library: