diff --git a/docs/getting-started.md b/docs/getting-started.md index 1545a576..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 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" %} 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 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! 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.