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 1/5] 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 2/5] 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 3/5] 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 4/5] 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 5/5] 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.