{"id":13504743,"url":"https://github.com/ev3dev-lang-java/ev3dev-lang-java","last_synced_at":"2025-10-12T22:49:33.822Z","repository":{"id":1954242,"uuid":"45205585","full_name":"ev3dev-lang-java/ev3dev-lang-java","owner":"ev3dev-lang-java","description":"A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev \u0026 the LeJOS way.","archived":false,"fork":false,"pushed_at":"2024-03-12T20:38:06.000Z","size":125501,"stargazers_count":103,"open_issues_count":25,"forks_count":45,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-09-18T21:39:12.445Z","etag":null,"topics":["brickpi","ev3","ev3-robot","ev3dev","ev3dev-lang-java","frc","java","lego","lejos","mindstorms","mobile-robots","motor","opencv","pistorms","raspberry-pi","robot","robotics","robots","ros","wro"],"latest_commit_sha":null,"homepage":"http://ev3dev-lang-java.github.io/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ev3dev-lang-java.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-29T19:27:15.000Z","updated_at":"2025-09-08T18:11:18.000Z","dependencies_parsed_at":"2025-02-09T07:42:54.795Z","dependency_job_id":null,"html_url":"https://github.com/ev3dev-lang-java/ev3dev-lang-java","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/ev3dev-lang-java/ev3dev-lang-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fev3dev-lang-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fev3dev-lang-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fev3dev-lang-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fev3dev-lang-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ev3dev-lang-java","download_url":"https://codeload.github.com/ev3dev-lang-java/ev3dev-lang-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ev3dev-lang-java%2Fev3dev-lang-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013282,"owners_count":26085250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brickpi","ev3","ev3-robot","ev3dev","ev3dev-lang-java","frc","java","lego","lejos","mindstorms","mobile-robots","motor","opencv","pistorms","raspberry-pi","robot","robotics","robots","ros","wro"],"created_at":"2024-08-01T00:00:50.639Z","updated_at":"2025-10-12T22:49:33.798Z","avatar_url":"https://github.com/ev3dev-lang-java.png","language":"Java","readme":"# ev3dev-lang-java\n\n*EV3Dev-lang-Java* is project to learn Java and create software for Mindstorms Robots using hardware supported by [EV3Dev](http://www.ev3dev.org/)\n\u0026 the [LeJOS](http://www.lejos.org/) way.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](/LICENSE)\n[![Travis CI](https://travis-ci.org/ev3dev-lang-java/ev3dev-lang-java.svg?branch=develop)](https://travis-ci.org/ev3dev-lang-java/ev3dev-lang-java)\n\n![ScreenShot](https://raw.githubusercontent.com/jabrena/ev3dev-lang-java/master/docs/images/theThreeAmigos.jpg)\n\n# How to test?\n\nFor non Linux computers use:\n\n```\n./gradlew dockerTest\n```\n\nFor Linux computers use:\n\n```\n./gradlew test\n```\n\n## Introduction\n\nIn Lego Mindstorms ecosystem, the default solution to develop Java software for Lego Mindstorms\nwas [LeJOS](http://www.lejos.org/) but now exists one alternative, `EV3Dev-lang-java` a Java project\nrunning on the top of [EV3Dev](http://www.ev3dev.org/).\n\nLego Mindstorms ecosystem is `a nice educational way to learn Java programming in general and Robotics in particular`.\nNow, it is possible to install a complete Linux distro in the third generation of the product and others companies like\n[Mindsensors](http://www.mindsensors.com/) \u0026 [Dexter Industries](https://www.dexterindustries.com/) has released products\n which interact with Sensors \u0026 Actuators from Lego ecosystem and that boards can use the Power of the popular board\n [Raspberry Pi 3](https://www.raspberrypi.org/)\n\nBut, with the help of `EV3Dev`, it is possible to have the same Linux experience for multiple boards.\nSo... why not develop a Java library for that Linux Distro? The answer is `EV3Dev-lang-java`.\nThe project, takes the good things of both worlds: EV3Dev with the complete linux experience\nand LeJOS with the rich local navigation stack and the remote support in the future.\n\n**What Debian versions are supported with this library?**\n\nThe library has support for `Debian Jessie` \u0026 `Debian Stretch`.\nIn this release, we have finished the support for `Debian Stretch` for EV3 and you could\n use OpenJDK 11, or OpenJDK 15 and it is amazing!\n\nIf you need to use any Raspberry Pi Boards, I recommend to use the stable `EV3Dev`\n[Debian Jessie](http://www.ev3dev.org/downloads/) release.\n\n**What is the hardware platforms supported in this project?**\n\nUsing the same `Java` objects, it is possible to deploy the software for Robots on EV3 Brick, Raspberry Pi 3 with BrickPi 3 \u0026 PiStorms.\n\n| # | Element  | EV3 P-Brick                                | Raspberry Pi 3 Model B+            |\n|---|----------|--------------------------------------------|------------------------------------|\n| 1 | Hardware | EV3 Brick                                  | BrickPi+, BrickPi3, PiStorms       |\n| 2 | SoC      | TI Sitara AM1808                           | Broadcom BCM2837B0                 |\n| 3 | CPU      | 1× ARM926EJ-S @ 300MHz ([max 456MHz][clk]) | 4× ARM Cortex-A53 @ 1400MHz        |\n| 4 | RAM      | 64 MB LPDDR                                | 1024 MB LPDDR2 (900 MHz)           |\n| 5 | USB Host | 1× USB 1.1  (without onboard hub)          | 4× USB 2.0 (from onboard hub)      |\n| 6 | Year     | 2010                                       | 2018                               |\n\n[clk]: https://lechnology.com/2018/06/overclocking-lego-mindstorms-ev3-part-2/\n\n## Project architecture\n\nThe project has been designed with the following solution in mind:\n\n| # | Layer            | Option 1                                   | Option 2                |\n|---|------------------|--------------------------------------------|-------------------------|\n| 1 | Platforms        | BrickPi BrickPi3 PiStorms              | EV3                     |\n| 2 | OS               | Debian Jessie                              | Debian Jessie/Stretch          |\n| 3 | JVM              | OpenJDK 15                               | OpenJDK JRI 11 / 12 / 13 / 14 / 15          |\n| 4 | EV3Dev Kernel    | 4.4.47-19-ev3dev-rpi2 | 4.14.71-ev3dev-2.3.0-ev3 |\n| 5 | ev3dev-lang-java | 0.7.0                                      | 2.4.12                   |\n\n**Note:** At the moment, we will maintain the whole solution until the next `LEGO Mindstorms` product estimated\nfor next January of 2022.\n\n## Features included in the whole project\n\n**Java features**\n\n* OpenJDK Java 11/12/13/14/15 support for EV3 Brick, Brickpi+/PiStorms + Raspberry Pi 3\n* Java profiling tools Support ([Oracle mission control](http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html) \u0026 [JConsole](http://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html))\n* Logging support based on [SLF4J](https://www.slf4j.org/)\n* Centralized logs with [Kibana](https://www.elastic.co/products/kibana)\n\n**Platform features**\n\n* Support for EV3 Brick, PiStorms v1/v2, BrickPi+ \u0026 BrickPi 3\n\n**Lego Mindstorms features**\n\n* Regulated Motor Support\n* Unregulated Motor Support\n* Sensor Support (EV3 sensors)\n* Sounds Support\n* EV3 LCD Support\n\n**Robotics**\n\n* Automatic installation of [OpenCV](http://opencv.org/)\n* [eSpeak](http://espeak.sourceforge.net/) TTS (Text to speech) Support\n* [LeJOS Sensor filter](http://sourceforge.net/p/lejos/wiki/Sensor%20Framework/) Support\n* [LeJOS local navigation stack](https://github.com/ev3dev-lang-java/lejos-navigation) Support\n* [RPLidar A1/A2](https://github.com/ev3dev-lang-java/usb-devices) (2D Lidar) Support\n\n## Subprojects\n\nStable projects:\n\n- [OpenJDK for EV3](https://github.com/ev3dev-lang-java/openjdk-ev3): A custom OpenJDK JRI/JDK (9,10,11,12) build for EV3\n- [EV3Dev-lang-java](https://github.com/ev3dev-lang-java/ev3dev-lang-java): Low level integration with EV3Dev\n- [lejos-commons](https://github.com/ev3dev-lang-java/lejos-commons): LeJOS interfaces \u0026 utilities\n- [Installer](https://github.com/ev3dev-lang-java/installer): A set of Bash scripts to automate some operations with your brick\n- [Template project](https://github.com/ev3dev-lang-java/template_project_gradle): A Gradle project ready to test the project\n- [Examples](https://github.com/ev3dev-lang-java/examples): A repository with several examples about the usage of this project\n\nIncubator projects:\n\n- [lejos-navigation](https://github.com/ev3dev-lang-java/lejos-navigation): LeJOS navigation stack\n- [Usb Devices](https://github.com/ev3dev-lang-java/usb-devices): A library to use Arduino, Grove Sensors, GPS, IMU, LIDAR, and more devices...\n- [ROS](https://github.com/ev3dev-lang-java/ros): A library to publish Sensor data to ROS for SLAM purposes\n\n## Roadmap\n\nReview the `backlog` to follow the features in course:\n\nhttps://github.com/ev3dev-lang-java/ev3dev-lang-java/issues\n\n## Getting Started\n\nTake a look the documentation to use the project:\n\nhttp://ev3dev-lang-java.github.io/docs/support/index.html\n\nand use this easy template project with examples to use the project in a quick way:\n\nhttps://github.com/ev3dev-lang-java/template-project-gradle\n\n## Examples\n\nTake a look the following repository to learn how to use this project:\n\nhttps://github.com/ev3dev-lang-java/examples\n\n## Videos\n\n- https://www.youtube.com/watch?v=6l5NqRXmz7s\n- https://www.youtube.com/watch?v=Gxew3aNH6ks\n- https://www.youtube.com/watch?v=1d9q24aNMHQ\n- https://www.youtube.com/watch?v=SIwG848ODI8\n\n## UML Design\n\n![ScreenShot](https://github.com/ev3dev-lang-java/ev3dev-lang-java/raw/master/docs/uml/graph.png)\n\n## Architecture decision record (ADR)\n\n* [Why this project was started](./docs/adr/adr-lejos-support.md)\n* [Logging support](./docs/adr/adr-logging-support.md)\n* [New Display API](./docs/adr/adr-display-api.md)\n* [Changes to leJOS sensor API](./docs/adr/adr-lejos-sensor.md)\n* [Support for newer Java versions](./docs/adr/adr-openjdk-builds.md)\n\n## References:\n\n* LeJOS: http://www.lejos.org/\n* LeJOS Git: http://sourceforge.net/p/lejos/ev3/code/ci/master/tree/\n* LeJOS Forum: https://lejos.sourceforge.io/forum/search.php?keywords=ev3dev\u0026sid=8642d9d1b361bcfdcdeabb26db89e632\n* EV3Dev: http://www.ev3dev.org/\n* EV3Dev // Getting Started: http://www.ev3dev.org/docs/getting-started/\n* EVEDev // Linux Kernel Drivers: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/\n* Dexter Forum: http://forum.dexterindustries.com/search?q=java\n* AdoptOpenJDK CI: https://ci.adoptopenjdk.net/view/ev3dev/\n* OpenJDK: https://openjdk.java.net/\n","funding_links":[],"categories":["EV3"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fev3dev-lang-java%2Fev3dev-lang-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fev3dev-lang-java%2Fev3dev-lang-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fev3dev-lang-java%2Fev3dev-lang-java/lists"}