5. Device Setup - mcgill-robotics/auv-embedded-2026 GitHub Wiki
This page is a workspace installation guide for all tools currently used by our team. This guide is written for working with Windows. If you are using Linux or macOS, you will need to run a virtual machine. oPlease talk to a lead about that.
This page may contain information relating to ROSSerial. As of September 2025, our team has fully migrated from ROSSerial (ROS 1) to micro-ROS (ROS 2). All new code contributions must use the micro-ROS library. Support for rosserial has been deprecated and will not be merged into the main branch.
Embedded Systems Setup
-
Install Arduino IDE
- Why?: Easiest way to get started with MCUs.
- Download the Arduino IDE from the official Arduino website and follow the installation instructions.
-
Optional: Install STM32CubeIDE
- If you plan to program STM32 microcontrollers, download STM32CubeIDE from the STMicroelectronics website and follow the installation instructions.
-
Install Git
- Why?: This is how you manage versions of code.
- Download Git from the official Git website and follow the installation instructions.
-
Clone the AUV Embedded Repository
- Why?: This is where all code for all MCUs used for AUV lives.
- Create a folder where you want to put the repository, e.g. "Robotics".
- Within your chosen folder, open your terminal or command prompt and run the following command to clone the repository:
git clone https://github.com/mcgill-robotics/auv-embedded-2026
-
Install Visual Studio Code (VSCode)
- Why?: Text editor and more for writing code for MCUs.
- Download and install VSCode from the official VSCode website.
-
Install PlatformIO Extension in VSCode
- Why?: Because the AUV's system consists of multiple MCUs. PlatformIO is a way of managing, delivering, and developing code for all the MCUs in an organized way.
- Open VSCode, go to the Extensions view by clicking on the Extensions icon in the Activity Bar on the side of the window, and search for "PlatformIO IDE". Click on Install to add the extension.
- PlatformIO allows you to build and upload code to microcontrollers like the Teensy 4.0 without requiring you to manually install all the libraries.
- You will likely need to install python for PIO to work.
- For more specific steps related to your OS, please see the System Requirements page in the Platform IO Documentation.
-
(Optional Advanced Setup) Install WSL and ROS2
- Why?: Because the AUV's computer (jetson) runs a Linux OS, so if you want to use your computer to communicate with MCUs during operation of the system the same way the AUV's computer does you need to install that OS on your computer.
- Follow How to install Linux on Windows with WSL to install Ubuntu 22.04.
- If you have previously installed other versions of Ubuntu in your wsl, run
wsl --list --verboseand thenwsl --set-default Ubuntu-22.04to set the 22.04 as default. - Method 1: ROS2 alone inside WSL
# Source the ROS 2 installation
source /opt/ros/humble/setup.bash
# Create a workspace and download the micro-ROS tools
mkdir microros_ws
cd microros_ws
git clone -b humble https://github.com/micro-ROS/micro_ros_setup.git src/micro_ros_setup
# Update dependencies using rosdep
sudo apt update && rosdep update
rosdep install --from-paths src --ignore-src -y
# Install pip
sudo apt-get install python3-pip
# Build micro-ROS tools and source them
colcon build
source install/local_setup.bash
# Download the micro-ROS-Agent packages
ros2 run micro_ros_setup create_agent_ws.sh
# Build the agent packages
ros2 run micro_ros_setup build_agent.sh
# Source the final installation
source install/local_setup.bash
PCB Design Setup
-
Install Altium Designer
- Download and install Altium Designer from the Altium website.
-
Install LTspice (recommended)
- Download LTspice from the Analog Devices website to simulate circuits as you develop your PCBs.
Notes
-
ROS1 vs ROS2: If you want to run ROS 1, then install Ubuntu 20.04. If you want ROS 2, then install Ubuntu 22.04. Choose which one based on software requirements and by asking the electrical leads. It may or may not be simpler to run Docker to simulate the environment.
-
If you want to run ROS 2, you will require a 32-bit microcontroller (no Arduino Uno will not work, yes Teensy 4.0). To patch your Arduino IDE to be able to upload Micro-ROS to the Teensy, check the steps in this link: Installing Micro‐ROS on Teensy.
-
For WSL installation, check this link: Installing ROS Noetic on WSL with Ubuntu 20.04 (for Windows).