From 0beaee0ad30ab1a7332ef35d7c47dad545e1b3d3 Mon Sep 17 00:00:00 2001 From: Bartosz Meglicki Date: Thu, 22 Sep 2022 18:12:58 +0200 Subject: [PATCH 01/16] Mapping - honorably mention code reused in NASA Astrobee ISAAC flight software `wifi-module` - the `wifi module` was originally omitted in description for clarity - as not ev3dev specific enough - to implement module a separate library `wifi-scan` was written `wifi-scan` library - code was reused in NASA Astrobee ISAAC flight software - and deserves at least a honorable mention and link - as ev3dev project spin-off that launched into space... --- projects/_posts/2016-08-07-Mapping.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/projects/_posts/2016-08-07-Mapping.md b/projects/_posts/2016-08-07-Mapping.md index 865762a1..765a55b4 100644 --- a/projects/_posts/2016-08-07-Mapping.md +++ b/projects/_posts/2016-08-07-Mapping.md @@ -38,6 +38,10 @@ The meta-repository of the project is [ev3dev-mapping]. This is my personal project. While I am quite happy to share the results, please keep in mind that I am pursuing my own goals here. +
+{% include /style/icon.html type="info" %} +Some of the generic [libraries](https://github.com/bmegli/wifi-scan) written for this project [ended up](https://github.com/nasa/isaac/blob/3a7bdcae46e255cb9060a80f1a6e70af187f631c/astrobee/hardware/wifi/include/wifi/wifi.h#L2) in NASA ISAAC flight [software](https://nasa.github.io/isaac/html/wifi_driver.html) for Astrobee robot operating inside the International Space Station. That's some open source in the wild! +
## Examples @@ -157,7 +161,9 @@ The position and heading data is interpolated individually for each laser readin The `drive component` translates input from the user (keyboard, pad, numerical, ...) using the motion model and sends it to the `drive module`. The `drive module` controls the motors. -The `control component` and the `control module` are not in the scheme for clarity. The `control component` sends to `control module` requests to enable/disable modules. +The `wifi component` and the `wifi module` are not in the scheme for clarity. The `wifi module` sends wireless signal strength information to the `wifi component`. The data is reflected in the UI. + +The `control component` and the `control module` are not in the scheme for clarity. The `control component` sends to the `control module` requests to enable/disable modules. The `control module` replies with module states. ## Building Instructions @@ -212,6 +218,8 @@ If you have some question or problem open an issue in one of the [ev3dev-mapping [mi-xg1300l] - CruizCore XG1300L driver documentation +[wifi-scan] - C/C++ library for monitoring signal strength of WiFi networks + [X3DOM] - open-source framework for declarative 3D graphics on the Web ### tutorials and learning @@ -265,6 +273,7 @@ If you have some question or problem open an issue in one of the [ev3dev-mapping [xv11lidar]: https://github.com/bmegli/xv11lidar [mi-xg1300l]: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#mi-xg1300l +[wifi-scan]: https://github.com/bmegli/wifi-scan [How to interface XV11 LIDAR to EV3 using ev3dev]: https://www.youtube.com/watch?v=G6uVg34VzHw [EV3 Gyro vs CruizCore XG1300L vs Odometry - Position Estimation]: https://www.youtube.com/watch?v=vzND_ISdhEs From fca2d193312da94772e4b09dea6aca26a7f958f4 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Wed, 24 May 2023 10:25:14 -0500 Subject: [PATCH 02/16] remove snapshots section The JFrog account was deactivated so the links no longer work. Fixes: https://github.com/ev3dev/ev3dev/issues/1570 --- docs/getting-started.md | 1 - downloads.md | 15 --------------- 2 files changed, 16 deletions(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index a022e81b..3871e3e0 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -291,4 +291,3 @@ favorite language is probably supported. Pick your language and write some code! [microSDHC]: https://en.wikipedia.org/wiki/Secure_Digital#SDHC [microSDXC]: https://en.wikipedia.org/wiki/Secure_Digital#SDXC [releases]:https://github.com/ev3dev/ev3dev/releases -[nightly]:https://ev3dev.jfrog.io/artifactory/snapshots/ diff --git a/downloads.md b/downloads.md index 2f1d28c3..e4a88695 100644 --- a/downloads.md +++ b/downloads.md @@ -142,21 +142,6 @@ redirect_from: /download/

Other Images

-
-

Snapshot Releases

-

- We occasionally build images for testing purposes. These images - are published without any prior testing and there are no release - notes. However, you might be interested in these images if you - want to try out the latest new features and bug fixes. -

- -

Previous Releases

From 834c78ccb76152cdcc59d670cc2699a622b6c8d1 Mon Sep 17 00:00:00 2001 From: Seva167 <90449186+Seva167@users.noreply.github.com> Date: Thu, 16 Nov 2023 23:21:33 +0700 Subject: [PATCH 03/16] Create 2023-11-16-Ev3-Doom-port.md --- projects/_posts/2023-11-16-Ev3-Doom-port.md | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 projects/_posts/2023-11-16-Ev3-Doom-port.md diff --git a/projects/_posts/2023-11-16-Ev3-Doom-port.md b/projects/_posts/2023-11-16-Ev3-Doom-port.md new file mode 100644 index 00000000..e52b2276 --- /dev/null +++ b/projects/_posts/2023-11-16-Ev3-Doom-port.md @@ -0,0 +1,35 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@Seva167" ] # your GitHub user name + +programming_language: "C" # The programming language used in this project + +youtube_video_id: 34S983xN5W8 # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +# project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/Seva167/ev3doom" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "A 1993 game classic powered by your robots." +--- + +**A complete port of Doom engine for EV3. Works very well for this hardware.** + +Code on [Github](https://github.com/Seva167/ev3doom) + +![screenshot](https://raw.githubusercontent.com/Seva167/ev3doom/main/images/screenshot.png) + +- Fully compatible with the original Doom +- Uses dithering for better graphics +- Music and sound are working (if you compile it with sound support) + +You can download precompiled binary on [releases](https://github.com/Seva167/ev3doom/releases/latest) page + +Port is based on [Doomgeneric](https://github.com/ozkl/doomgeneric) + +For help create an issue on [github](https://github.com/Seva167/ev3doom/issues) + +Enjoy! From fba0905304f5362e81c1fa731bdd8211d1add172 Mon Sep 17 00:00:00 2001 From: ldev <78647417+Xgames123@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:22:20 +0100 Subject: [PATCH 04/16] evdrive proj --- projects/_posts/2024-02-20-evdrive.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 projects/_posts/2024-02-20-evdrive.md diff --git a/projects/_posts/2024-02-20-evdrive.md b/projects/_posts/2024-02-20-evdrive.md new file mode 100644 index 00000000..7eaee7f5 --- /dev/null +++ b/projects/_posts/2024-02-20-evdrive.md @@ -0,0 +1,26 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@xgames123" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "python" # The programming language used in this project + +youtube_video_id: g0dI3Tlzhqg # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +# project_homepage_url: "https://github.com/Xgames123/evdrive" # Homepage for this project +source_code_url: "https://github.com/Xgames123/evdrive" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "steering wheel + pedals made with lego ev3" # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- +**Steering wheel + pedals made with lego ev3.** + +Code and build instructions on [github](https://github.com/Xgames123/evdrive) + +## Known Issues +- It simulates an xbox controller so It probably won't work on some driving games that don't support controllers +- Force feedback doesn't work yet From b7737d00587f3cee4646f7c94667c9ecea1ecc7e Mon Sep 17 00:00:00 2001 From: Ray Luo Date: Sat, 6 Apr 2024 21:51:38 -0700 Subject: [PATCH 05/16] Mention how to update apt --- docs/getting-started.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/getting-started.md b/docs/getting-started.md index 3871e3e0..11a3d71b 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -244,6 +244,15 @@ available hardware. {% include /style/begin-section.html %} +## Step 5.1: Update `apt` + +Currently, the image file downloaded from step 1 was built in 2020, +some of its built-in packages are dated, and `apt` does not work out of the box. + +To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match +https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list + + ## Step 6: Connect to the EV3 via SSH Now that you have a network connection, you should connect to your EV3 with SSH. From 3e1cd08c7db45393f6faf6ea4434d78d1b20b169 Mon Sep 17 00:00:00 2001 From: Ray Luo Date: Mon, 8 Apr 2024 10:20:53 -0700 Subject: [PATCH 06/16] Address PR review feedback --- docs/getting-started.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 11a3d71b..755f936a 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -244,14 +244,6 @@ available hardware. {% include /style/begin-section.html %} -## Step 5.1: Update `apt` - -Currently, the image file downloaded from step 1 was built in 2020, -some of its built-in packages are dated, and `apt` does not work out of the box. - -To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match -https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list - ## Step 6: Connect to the EV3 via SSH @@ -281,6 +273,19 @@ you're good to go! {% include /style/begin-section.html bg="dark" %} +## Step 6.1: Optional: Update `apt` + +Currently, the image file downloaded from step 1 was built in 2020. +`apt` does not work out of the box. + +To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match +https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list + +Specifically, you can run `sudo nano /etc/apt/sources.list`, +delete the old content from that file, +and replace them with the content from the link above. + + ## Step 7: Choose a programming language and write some code {% include /style/icon.html type="info" %} From 6c4a6dc3fee83642409f08ccf9026c4dad5f1ff2 Mon Sep 17 00:00:00 2001 From: Ray Luo Date: Sun, 30 Apr 2023 16:37:51 -0700 Subject: [PATCH 07/16] Mentions how micropython is run differently --- docs/programming-languages.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/programming-languages.md b/docs/programming-languages.md index c46bdd8a..1d38837a 100644 --- a/docs/programming-languages.md +++ b/docs/programming-languages.md @@ -50,12 +50,28 @@ This brings some advantages, like programs starting significantly faster than regular Python, but comes at the cost at not being fully compatible with code written for regular Python. +MicroPython works as a different Python interpreter, rather than as a library. +It can be invoked by running it from the command line, for example: +`micropython -c "import sys; print(sys.version)"` or +`micropython -c "from ev3dev2.sound import Sound; Sound().speak('hello world')"`. +You may add this as the first line of your Python script to run it with MicroPython: +`#!/usr/bin/env micropython`. + +**TIP:** `ev3dev-lang-python` is also partially compatible with MicroPython. + [Pybricks] is a specialized version of MicroPython for LEGO MINDSTORMS and LEGO Powered Up smart hubs. Pybricks v2.0 is used by LEGO Education as their [Python for EV3](https://education.lego.com/en-us/product-resources/mindstorms-ev3/teacher-resources/python-for-ev3) solution and is the same version that is available in ev3dev-stretch. -**TIP:** `ev3dev-lang-python` is also partially compatible with MicroPython. +You may run Pybricks from command line like this: +`brickrun -r -- pybricks-micropython -c "from pybricks.hubs import EV3Brick; EV3Brick().speaker.beep()"`. +You may add this as the first line of your Python script, +`#!/usr/bin/env pybricks-micropython`, +and then run it from the brick's file browser to run it with Pybricks. + +**TIP:** If you are into using Python's interactive mode when trying Pybricks, +you can use `brickrun -r -- pybricks-micropython`, or its shortcut `pybricks-repl`. [Get started with MicroPython](https://pybricks.github.io/ev3-micropython/){: .btn .btn-default } From b401cfbdf73ba3c9d1f851af99d435221b00f797 Mon Sep 17 00:00:00 2001 From: maehw Date: Tue, 21 May 2024 11:32:12 +0200 Subject: [PATCH 08/16] Update URL to LEGO Mindstorms EV3 product page in index.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The old URL redirects to a page with title "LEGO® MINDSTORMS® – Invent a Robot" - however, also "Showing 0 Products" and hence no images or usable info about the EV3. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 0c822cd7..218a2e5e 100644 --- a/index.md +++ b/index.md @@ -34,7 +34,7 @@ jumbotron-content: |

ev3dev is a Debian Linux-based operating system that runs on several LEGO® MINDSTORMS compatible - platforms including the LEGO® MINDSTORMS EV3 + platforms including the LEGO® MINDSTORMS EV3 and Raspberry Pi-powered BrickPi.

From c97749bec51a0b4a6798aaa86139b4d02451ddc0 Mon Sep 17 00:00:00 2001 From: maehw Date: Tue, 21 May 2024 11:45:34 +0200 Subject: [PATCH 09/16] Make sources.list link clickable in getting-started.md --- docs/getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 755f936a..3e21242d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -278,8 +278,7 @@ you're good to go! Currently, the image file downloaded from step 1 was built in 2020. `apt` does not work out of the box. -To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match -https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list +To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match [SourcesList] Specifically, you can run `sudo nano /etc/apt/sources.list`, delete the old content from that file, @@ -304,4 +303,5 @@ favorite language is probably supported. Pick your language and write some code! [microSD]: https://en.wikipedia.org/wiki/Secure_Digital#SD [microSDHC]: https://en.wikipedia.org/wiki/Secure_Digital#SDHC [microSDXC]: https://en.wikipedia.org/wiki/Secure_Digital#SDXC +[SourcesList]: https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list [releases]:https://github.com/ev3dev/ev3dev/releases From 0c09a86b6f5b734f124e48acb810a60cf20feede Mon Sep 17 00:00:00 2001 From: maehw Date: Thu, 23 May 2024 20:04:39 +0200 Subject: [PATCH 10/16] Update docs/getting-started.md Co-authored-by: David Lechner --- docs/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 3e21242d..1545a576 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -278,7 +278,7 @@ you're good to go! Currently, the image file downloaded from step 1 was built in 2020. `apt` does not work out of the box. -To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match [SourcesList] +To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match [this file][SourcesList] Specifically, you can run `sudo nano /etc/apt/sources.list`, delete the old content from that file, From 29c4ae3490cb8d933362f6decdbf861f0f462f92 Mon Sep 17 00:00:00 2001 From: Chinedu <75739107+TheNoobInventor@users.noreply.github.com> Date: Fri, 15 Nov 2024 23:46:53 +0100 Subject: [PATCH 11/16] Create 2024-11-15-EV3-Segway-NodeRED-Beacon.md --- .../2024-11-15-EV3-Segway-NodeRED-Beacon.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md diff --git a/projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md b/projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md new file mode 100644 index 00000000..670cb238 --- /dev/null +++ b/projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md @@ -0,0 +1,23 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@TheNoobInventor" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "MicroPython" # The programming language used in this project + +youtube_video_id: rd8de9ClbUM # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +source_code_url: "https://github.com/TheNoobInventor/lego-ev3-segway" # Provide a link to your code +building_instructions_url: "https://robotsquare.com/2014/06/23/tutorial-building-balanc3r/" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "A segway robot is built with the LEGO MINDSTORMS EV3 robot kit and the EV3 Gyro sensor. " # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- +The self-balancing code is written in MicroPython using EV3 MicroPython which runs on top of the ev3dev Operating System (OS). The robot can be controlled using Node-RED through MQTT or with the EV3 infrared beacon. + +- **Name:** Chinedu Amadi +- **Location:** Nigeria +- **Feedback:** You can create an [issue](https://github.com/TheNoobInventor/lego-ev3-segway/issues) in the project repository. From 9406b13140124d81249468d74e6268362adede2a Mon Sep 17 00:00:00 2001 From: Slash34 <90929320+Slashingbee@users.noreply.github.com> Date: Sun, 1 Jun 2025 22:05:28 +0200 Subject: [PATCH 12/16] Add EV3Aero project to projects list (#448) --- projects/_posts/2025-05-26-EV3Aero.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 projects/_posts/2025-05-26-EV3Aero.md diff --git a/projects/_posts/2025-05-26-EV3Aero.md b/projects/_posts/2025-05-26-EV3Aero.md new file mode 100644 index 00000000..2d071129 --- /dev/null +++ b/projects/_posts/2025-05-26-EV3Aero.md @@ -0,0 +1,27 @@ +--- +title: EV3Aero +author: ["@Slashingbee"] +programming_language: Python +project_homepage_url: https://github.com/Slashingbee/EV3Aero +source_code_url: https://github.com/Slashingbee/EV3Aero +building_instructions_url: https://github.com/Slashingbee/EV3Aero#installation +youtube_video_id: 6nR1NGUVFuk +excerpt: Modular flight controller for LEGO Mindstorms EV3 running ev3dev. Build custom flight simulator controllers using LEGO motors and sensors. +--- + +EV3Aero is an open-source project that allows you to build a modular flight controller using LEGO Mindstorms EV3 running ev3dev. The system enables creating joysticks, throttles, and other flight controls compatible with flight simulators. + +## Features + +- Modular design allowing flexible hardware customization. +- Uses LEGO motors and sensors for unique, customizable controllers. +- Compatible with various flight simulators. +- Open source under the Apache-2.0 license. + +## Installation and Usage + +Detailed installation and setup instructions are available in the [README](https://github.com/Slashingbee/EV3Aero#installation). + +--- + +Feel free to contribute, test, and develop new features for the project! From 71b6d5d0b1d5957fba68213b784e6bfe9698e166 Mon Sep 17 00:00:00 2001 From: R Date: Wed, 16 Jul 2025 15:47:55 +0100 Subject: [PATCH 13/16] Correct the bootloader magic address --- docs/kernel-hackers-notebook/ev3-eeprom.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/kernel-hackers-notebook/ev3-eeprom.md b/docs/kernel-hackers-notebook/ev3-eeprom.md index e96b0977..7ea5acb5 100644 --- a/docs/kernel-hackers-notebook/ev3-eeprom.md +++ b/docs/kernel-hackers-notebook/ev3-eeprom.md @@ -48,7 +48,7 @@ If you have a serial terminal connected to Input Port 1, you will see the follow Jumping to entry point at: 0xC1080000 -NOTE: You can enter firmware update mode by writing 0x5555AAAA to memory address 0xFFFF1FFA (part of the 128K on-chip ram of the AM1808 processor) and then rebooting with `reboot -d -f -i`. This reboots without properly shutting down (see `reboot --help`), so we don't want to do this in ev3dev. On the official LEGO firmware, the firmware update writes over everything so it doesn't matter if it does not shut down properly. +NOTE: You can enter firmware update mode by writing 0x5555AAAA to memory address 0xFFFF1FFC (part of the 128K on-chip ram of the AM1808 processor) and then rebooting with `reboot -d -f -i`. This reboots without properly shutting down (see `reboot --help`), so we don't want to do this in ev3dev. On the official LEGO firmware, the firmware update writes over everything so it doesn't matter if it does not shut down properly. ## Hardware Version From 4f3ef1ed55409c5ea5eaf97de46dc030d19b5fd3 Mon Sep 17 00:00:00 2001 From: Project516 <138796702+Project516@users.noreply.github.com> Date: Fri, 18 Jul 2025 23:40:08 -0500 Subject: [PATCH 14/16] Update getting-started.md Change etcher link to v1.17.0 --- docs/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 1545a576..01f9ed83 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -87,7 +87,7 @@ if you do not want to lose them! Now it's time to write the image to the card. -1. Download and install Etcher from [their website](https://etcher.io). +1. Download and install [Etcher v17](https://github.com/balena-io/etcher/releases/tag/v1.17.0) `Newer versions are broken and don't work with the ev3dev image!` 2. Launch Etcher after it has finished installing. {% include /util/screenshot.html source="/images/etcher/home.png" caption="Etcher home screen" width="600px" %} From 8013fc0860864be1d371f7f754436cc233d01d7b Mon Sep 17 00:00:00 2001 From: Project516 <138796702+Project516@users.noreply.github.com> Date: Sat, 19 Jul 2025 00:21:43 -0500 Subject: [PATCH 15/16] Update getting-started.md (#451) Add spacing around the notice and make warning bold. --- docs/getting-started.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/getting-started.md b/docs/getting-started.md index 01f9ed83..a7512dc5 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -87,7 +87,10 @@ if you do not want to lose them! Now it's time to write the image to the card. -1. Download and install [Etcher v17](https://github.com/balena-io/etcher/releases/tag/v1.17.0) `Newer versions are broken and don't work with the ev3dev image!` +1. Download and install [Etcher v17](https://github.com/balena-io/etcher/releases/tag/v1.17.0) + + **Newer versions are broken and don't work with the ev3dev image!** + 2. Launch Etcher after it has finished installing. {% include /util/screenshot.html source="/images/etcher/home.png" caption="Etcher home screen" width="600px" %} From 47388d15b6c9cb57a11f8faaa0684f394131d94f Mon Sep 17 00:00:00 2001 From: JSDaleman Date: Mon, 11 Aug 2025 20:20:02 -0500 Subject: [PATCH 16/16] Feat: New project ev3 MQTT ROS --- projects/_posts/2025-08-11-ev3-MQTT-ROS.md | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 projects/_posts/2025-08-11-ev3-MQTT-ROS.md diff --git a/projects/_posts/2025-08-11-ev3-MQTT-ROS.md b/projects/_posts/2025-08-11-ev3-MQTT-ROS.md new file mode 100644 index 00000000..a9cbc0a8 --- /dev/null +++ b/projects/_posts/2025-08-11-ev3-MQTT-ROS.md @@ -0,0 +1,48 @@ +--- +title: "ev3 mqtt ROS" +author: ["@JSDaleman"] +programming_language: Python +project_homepage_url: https://github.com/JSDaleman/ev3_mqtt_ros/blob/main/README_EN.md +source_code_url: https://github.com/JSDaleman/ev3_mqtt_ros +building_instructions_url: https://github.com/JSDaleman/ev3_mqtt_ros/blob/main/README_EN.md#%EF%B8%8F-lego-ev3-connection-with-ros +youtube_video_id: NIEbXVXS-eo +excerpt: This project controls a LEGO EV3 gyro-sensor driving base via ROS and MQTT, enabling remote teleoperation and simulation in RViz/Gazebo. +--- + +# 🤖 ev3_mqtt_ros + +[![Python](https://img.shields.io/badge/Python-3.8+-3776AB?logo=python&logoColor=white)](https://www.python.org/) +[![ROS](https://img.shields.io/badge/ROS-Noetic-blue?logo=ros&logoColor=white)](https://www.ros.org/) +[![MQTT](https://img.shields.io/badge/MQTT-v3.1.1-660066?logo=eclipse-mosquitto&logoColor=white)](https://mqtt.org/) +[![LEGO EV3](https://img.shields.io/badge/LEGO-EV3-E2231A?logo=lego&logoColor=white)](https://www.lego.com/en-us/themes/mindstorms) +[![License](https://img.shields.io/badge/License-MIT-green)](LICENSE) + +🚀 **Learn, build, and control!** +This project is designed for students, researchers, and robotics enthusiasts who want to explore mobile robot teleoperation using real hardware and industry-standard tools. By combining **ROS**, **MQTT**, and **LEGO EV3**, it offers a practical way to understand robotics concepts, sensor integration, and simulation—all in one package. + +--- + +## 📚 About the Project + +Hi, my name is **Juan Sebastián Daleman**. I am a graduate student at **Universidad Nacional de Colombia**, based in Bogotá D.C., Colombia. +This project was developed as part of the *Fundamentals of Mobile Robotics* postgraduate course, within the [Labsir](https://github.com/labsir-un) research group. It is an open-source initiative aimed at exploring mobile robotics using professional tools such as **ROS** to control and process various sensors, while also simulating robot behavior in a virtual environment. + +--- + +## ✨ Features + +- 💻 **Cross-platform compatibility**: Works on Linux (native), Windows via WSL, or Raspberry Pi. +- 📡 **Sensor integration**: Supports the LEGO EV3 gyro sensor, with potential for ultrasonic, color, and touch sensors. +- 🎮 **Custom teleoperation interface**: Control the robot using a keyboard, joystick, or GUI via rqt plugin. +- 🔗 **MQTT broker flexibility**: Compatible with HiveMQ, Mosquitto, or local MQTT brokers. +- 🖥 **Simulation and visualization**: Full support for RViz and Gazebo with 3D robot models. +- ⚡ **QoS and latency optimization**: Adjustable MQTT Quality of Service and network tuning for low-latency control. +- 🛠 **Extensibility**: Modular ROS node structure to easily add new sensors, actuators, or behaviors. +- 🎓 **Educational focus**: Designed for learning ROS, MQTT, and robotics in academic or hobbyist contexts. +- 📊 **Logging and monitoring**: Record and review robot data using rosbag or MQTT logs. +- 🌐 **Remote deployment**: Send and run code on the EV3 over SSH without a physical connection. + + +## 📬 Contact +If you would like to contact me, please email **juan@sebastiandaleman.com**. +For comments or questions, feel free to create an [issue](https://github.com/JSDaleman/ev3_mqtt_ros/issues) in the repository.