Abstract
Ev3dev Lang Java is an open-source Internet of Things (IoT) project. A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way. In Lego Mindstorms ecosystem, the default solution to develop Java software for Lego Mindstorms was LeJOS but now exists one alternative, EV3Dev-lang-java a Java project running on the top of EV3Dev. It is built using Java. Key capabilities include: OpenJDK Java 11/12/13/14/15 support for EV3 Brick, Brickpi+/PiStorms + Raspberry Pi 3; Java profiling tools Support (Oracle mission control & JConsole); Logging support based on SLF4J. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
In Lego Mindstorms ecosystem, the default solution to develop Java software for Lego Mindstorms was LeJOS but now exists one alternative, EV3Dev-lang-java a Java project running on the top of EV3Dev.
But, with the help of EV3Dev, it is possible to have the same Linux experience for multiple boards. So... why not develop a Java library for that Linux Distro? The answer is EV3Dev-lang-java. The project, takes the good things of both worlds: EV3Dev with the complete linux experience and LeJOS with the rich local navigation stack and the remote support in the future.
Lego Mindstorms ecosystem is a nice educational way to learn Java programming in general and Robotics in particular. Now, it is possible to install a complete Linux distro in the third generation of the product and others companies like Mindsensors & Dexter Industries has released products which interact with Sensors & Actuators from Lego ecosystem and that boards can use the Power of the popular board Raspberry Pi 3
2. Objective
A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.
This project demonstrates how Java can be applied to a real-world Internet of Things (IoT) problem.
3. Key Features / Modules
- OpenJDK Java 11/12/13/14/15 support for EV3 Brick, Brickpi+/PiStorms + Raspberry Pi 3
- Java profiling tools Support (Oracle mission control & JConsole)
- Logging support based on SLF4J
- Centralized logs with Kibana
- Support for EV3 Brick, PiStorms v1/v2, BrickPi+ & BrickPi 3
- Regulated Motor Support
- Unregulated Motor Support
- Sensor Support (EV3 sensors)
- Sounds Support
- EV3 LCD Support
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- JDK 11 or later
- Maven / Gradle
- IntelliJ IDEA, Eclipse or Android Studio
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/ev3dev-lang-java/ev3dev-lang-java.git
cd ev3dev-lang-javaFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by ev3dev-lang-java and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship