Profile picture of Christian Villarreal

Christian Villarreal

Robotics & Digital Systems Engineer

Tecnológico de Monterrey, Campus Monterrey

View Projects Download Resume

About Me

I am a senior full-time student pursuing a B.S. in Robotics and Digital Systems Engineering at Tecnológico de Monterrey since 2022 with expected graduation in 2026. Currently a General Visting Exchange Student of Computer Science and Technology at Beijing Institute of Technology who completed a month-long summer program for Emerging Technologies in Electronics Engineering.

Avid Software and Electronics and Embedded Systems Member of the Unmanned Surface Vehicle project at VantTec since 2023 and participant of several international robotics competitions and researcher at the Multi-Robotic Systems Laboratory in multi-agent robotic and unmanned aerial vehicle experiments. Currently learning about and developing autonomous navigation, control systems, computer vision, and AI projects.

Skills

Projects

Autonomous Navigation System with Vision, Machine Learning and Control

Final project of the "Intelligent Robotics" undergraduate course where Closed-Loop PID and Image-Based Visual Servoing (IBVS) Control, Deep Learning, Classical Computer Vision, and Embedded Systems learnings are applied to a differential-drive robot named PuzzleBot provided by Manchester Robotics Ltd. capable of navigating autonomously in a structured environment. This was made possible by the guidance and teachings of professors Dr. Luis Alberto Muñoz Ubando, Mario Guillermo Martínez Guerrero, and Arturo Eduardo Cerón López.

🎯 Key features:

  • Line tracking with homography & Bird’s Eye View (BEV) transformation, powered by CLAHE, filtering, and morphological operations.
  • Traffic light & sign detection with YOLOv10 + TensorRT at >100 FPS on Jetson Nano, fine-tuned for robust performance.
  • Intersection handling via classical vision, Finite State Machine (FSM), and dynamic waypoint generation.
  • Hybrid architecture: Jetson Nano (ROS 2 + high-level control) + ESP32 Hackerboard (microROS + low-level control).
  • Modular ROS 2 implementation in Python/C++, with real-time visualization in RViz & OpenCV.

🎥 Demo highlights:

  • Robot’s physical & electronic design.
  • Distributed system architecture.
  • Full autonomous run: line following, sign recognition, traffic light handling.
  • Real-time visualization tools.
View on GitHub

VantTec Unmanned Surface Vehicle (USV)

The Unmanned Surface Vehicle (USV) consists of an autonomous boat project carried out within the student group VantTec team.

  • The USV project has the purpose of meeting all the challenges of the annual RoboBoat competitions organized by RoboNation.
  • It seeks to integrate control systems, mission solutions, autonomous navigation, and object recognition.
  • The project has assisted the team in publishing scientific research papers on topics related to control, 3D vision, and obstacle detection.
  • It has been focused on innovation and social, economic, and environmental well-being through the AWAS project: Autonomous Water Management System.

This project has received multiple awards which are listed below:

  • Received Special Persistence Award of $250 from RoboNation for our outstanding participation as finalists in the RoboBoat 2024 competition with our V-TEC-S-III unmanned surface vehicle project.
  • Top 3 Finalist in Launch Category of XIGNUX Challenge 2024 for data-driven project "Autonomous Water Administration System" involving an autonomous unmanned surface vehicle with sensors for water-body monitoring in Mexico.
  • 2nd Place at products or services for technology-based entrepreneurship category for "Autonomus Water Administration System" project at the 24th Expo Ingenierías event held by Tecnológico de Monterrey.
  • 3rd place at social impact category for "Autonomous Water Administration System" project at the 25th Expo Ingenierías event held by Tecnológico de Monterrey.
View on GitHub

Multi-Robot Control and State Monitoring for Swarm Experiments

Project developed with the guidance and assistance of professor in control systems Dr. Luis Guerrero Bonilla at the Multi-Robotic Systems Laboratory (MRSL) at the Tecnológico de Monterrey campus from the city of Monterrey. implements a MATLAB-based interface for automatic discovery, connection, and control of multiple mobile robots (Puzzlebots) in a ROS2 environment. It connects to Vicon motion capture topics for real-time position feedback, establishes ROS2 publishers for wheel velocity commands, and organizes all communication into a MATLAB object for streamlined multi-robot operation.

🎯 Key features:

  • Vicon topics associated with PuzzleBots are scanned for real message traffic while preventing wasted connections to inactive topics and subscribers and publishers are dynamically created to receive Vicon-based pose data and send wheel velocity commands.
  • Any number of PuzzleBots are supported with the required communication channels, operating within a specified DDS Domain ID.
  • This experiment tested the ability of PuzzleBots to autonomously reach an initial position and perform for a defined number of iterations navigation within a circle gradient.
  • The use cases of this experiment include the control of a fleet of differential drive robots in formation or distributed tasks, navigation testing leveraging precise motion capture for closed-loop control experiments, and a robust base for implementing localization, path planning, and control algorithms.
View Demonstration Video

Visual Tracking Surveillance of Land Mobile Robots by Unmanned Aerial Vehicle

Final project of the "Unmanned Aerial Vehicles" module of the "Intelligent Robotics" course taught by engineer in communications, electrical engineering and control systems Dr. Herman Castañeda. It consisted of the a DJI RoboMaster TT unmanned aerial vehicle with Image-Based Visual Dynamic Servoing capabilities in order to patrol and monitor the activity of a differential drive robot. This was performed at the Multi-Robotic Systems Laboratory.

  • The differential drive robot called Puzzlebot, whose trajectory is independent of any eternal robot. In theory, the robot can perform any trajectory.
  • The DJI RoboMaster TT unmanned aerial vehicle will implement robot monitoring actions through its lower camera using the Visual Tracking technique.
  • The drone will begin taking off before the Puzzlebot moves to center itself on it. As the robot moves, the drone uses OpenCV detection for ArUco markers to find the marker in its video stream. It also uses PD controllers to adjust the drone's position: one for left/right movement based on the marker's position on the x-axis and the other for forward/backward movement based on the marker's position on the y-axis. It also maintains altitude with simple height control, keeps the height within a tolerance range of ±10 cm, and manages the loss of marker detection when hovering.
  • The execution flow is as follows: Initializes the connection of the drone, the camera, and the Puzzlebot to begin its trajectory. The drone takes off and climbs to the target altitude. It enters the control loop to track markers. Finally, when the drone runs out of flight time or is interrupted by the user, it must land.
View on GitHub

Dexterous Manipulation of 9 D.O.F Robotic Hand

Final project of the Kinematics module for dexterous manipulation in a three-fingered robotic hand with 9 D.O.F.

  • Applies the Fixed-Point Rolling-Sliding motion planning algorithm for dexterous manipulation in a three-fingered robotic hand with three degrees of freedom each.
  • The algorithm considers kinematic constraints, grip stability, and compliant movements, enabling precise object manipulation.
  • The implementation included mathematical analysis, the definition of kinematic equations, the simulation of the 9 D.O.F hand, validation done with examples, and an analysis of future improvements for performance optimization.
  • The results demonstrate the viability of the algorithm, suggesting improvements for future applications in advanced robotics.

To learn more about the Fixed-Point Rolling-Sliding Algorithm implemented in this project, check out the following resource: https://ieeexplore.ieee.org/document/525326

View on GitHub

PID DC Motor Control with ROS2 and Micro-ROS

Main project for the undergraduate course "Robotics Fundamentals" which applies Digital Control System Design, ROS2 Interfacing, micro-ROS, and Experimental Mathematical Model Coefficients Determination and Controller Performance Validation. This project was made in collaboration with Manchester Robotics Ltd. as a training partner. The project aimed to precisely control the velocity of a DC motor.

  • A PID controller was implemented within the ROS2 and micro-ROS robotics frameworks that simplify robotic application development bridged with embedded and deep-embedded robot components.
  • The system receives via a ROS2 topic a variable reference angular velocity value generated by a setpoint node which represents the desired angular velocity.
  • A motor control node uses this data to generate a control signal based on the encoder information to determine the current angular velocity value.
View on GitHub

Prototype Tractor Dual-Mode Waypoint Navigation System

Main project of the undergraduate course "Design of Advanced Embedded Systems" which implements Design and Analysis of Algorithms, Digital Signal Processing, Shared-Memory Architecture, and Communication Interfaces. This project was made in collaboration with John Deere as a training partner. This was also made possible by the guidance and teachings of professors Dr. Alfonso Ávila Ortega and Raúl Peña Ortega.

  • The project consists of a dual-mode waypoint navigation system.
  • In internal mode, the system utilizes encoder-based odometry and IMU orientation for waypoint following. Raw counts measured from wheel-mounted encoders, pre-processed by an Arduino Nano, and transmitted to the main MCU via CAN for distance conversion and pose data obtained from an MPU6050 IMU are fused.
  • In external mode, it interfaces with John Deere's GPS for marker position-based navigation.
  • The results demonstrate the viability of the algorithm, suggesting improvements for future applications in advanced robotics.
  • The system involves a tricycle-style vehicle representative of a John Deere tractor prototype. It employs a NUCLEO-H745ZI-Q STM32 development board to execute motion control with synchronized front steering and differential rear drive.
  • A shield-style PCB board was also designed to interface with the STM32 board to integrate various components and connection interfaces required for the tractor navigation system.
View on GitHub

Automatic Analog and Digital Control Loops in a Dynamic Process

This project applied Classic/Modern Control Theory, Temporal Analysis, Computerized Control, and System Identification to regulate a DC motor's shaft position using an Analog PID Controller.

  • The Analog PID Controller was implemented with operational amplifiers, resistors, capacitors, and potentiometers for tuning.
  • An AS5600 magnetic encoder was incorporated to provide angular feedback via a 3D-printed setup.
  • The circuit consisted of three phases: A subtractor that calculated the error, a PID for proportional, integral, and derivative value summation, and an inverter.
  • A motor control node uses this data to generate a control signal based on the encoder information to determine the current angular velocity value.
  • The controller was tuned manually via potentiometers and its performance was evaluated with an oscilloscope.

This project applied Classic/Modern Control Theory, Temporal Analysis, Computerized Control, and System Identification to regulate a DC motor's shaft position using a Digital PID Controller.

  • The Analog PID Controller was implemented with operational amplifiers, resistors, capacitors, and potentiometers for tuning.
  • As software, MATLAB (System Identification, PID Tuner, Simulink), STM32Cube IDE, Arduino IDE, and Excel were used.
  • The motor system was identified via pseudo-random PWM inputs from Arduino that generated motor response data, System Identification analyzed CSV logs of total angle, velocity, and time to derive a 97.87% accurate transfer function, and PID Tuner optimized parameters for faster, and more precise digital control.
View on GitHub

John Deere Tractor Automatic Transmission Controller Prototype

Main project for the undergraduate course "System Design on Chip" which applies STM32 Microcontrollers, Raspberry Pi Microprocessors, Computational Organization, Embedded Linux, and Real-Time Operating System (RTOS). This project was made in collaboration with John Deere as a training partner.

  • The project aimed to simulate the automatic transmission controller of a driving John Deere tractor by integrating STM32 and Raspberry Pi into a prototype.
  • An STM32 NUCLEO-F103RB microcontroller processed in a rate-monotonic scheduling (RMS) priority algorithm motor revolutions per minute and agricultural tractor velocity, marching and acceleration data to visualize in an LCD 16x2 screen and transfer to a Raspberry Pi 3 via UART in a Python developed graphical interface to show historical data.
  • A potentiometer was used to manipulate the simulated tractor's acceleration and a matrix keypad to control braking and traction direction.
  • The data is then transmitted to an LCD screen and to an interface made in Python inside the Raspberry Pi via UART.
  • The program was divided into tasks whose required execution times were measured and priorities were determined based on their importance.
View on GitHub

John Deere Tractor Driving Simulator

Main project of the undergraduate course "Design with Programmable Logic" which implemented Unity Game Development, VHDL Programming, the Quartus Prime Intel software, State Machines, Field-Programmable Gate Arrays (FPGAs), and Soft-Core Processors. This project was made in collaboration with John Deere as a training partner.

  • This project consists of a John Deere Tractor Driving Simulator developed with the Unity game engine included with vehicle control via a Terasic DE10-Lite FPGA board programmed with Quartus Prime software in VHDL.
  • The design of a user interface composed of a configurable logic device, the Field Programmable Gate Array, provided two useful tools and a unique enriching experience for the creation of prototypes necessary to validate ideas, concepts, and solutions to real world problems.
  • The DE10-Lite FPGA Board was fundamental in our project and facilitated the creation of electronic device prototypes with embedded systems in an efficient and economic form.
  • FPGAs allow for configuration and re-configuration of hardware according to the specified needs of the project.
  • The FPGA board contained an accelerometer that was used for steering control, switches for gear selection, and buttons for throttle and brake.
  • This information registered by the board is sent via TTL/USB to the Unity developed game simulation running on a desktop computer.
  • When a crop is picked up, a life is lost by colliding into an obstacle, or the time is run out, this data is sent through the same channel to reflect the changes in a 7-segment display on the board. Finally, a Gumnut soft-core processor was used to interact with all interfaces via Gumnut Assembly (Gasm).
View on GitHub

Signal Conditioning System and Analog Filters for Sensor Applications

Main project for the undergraduate course "Design of Electronic Circuits" under the guidance of the associated director of mechatronics and biomedical engineering at Tecnológico de Monterrey Dr. José Isabel Gómez-Quiñones and electronics and communications engineer Dr. Rodolfo Anaya-Zamora, which applies Circuit Design, Electronic Circuit Simulators like LTSpice to evaluate circuit models and designs, Analog Signal Processing, and Embedded Prototyiping to implement an electronic circuit prototype with expected characteristics and functionalities of the objective application.

  • I designed and simulated a signal conditioning system in LTSpice and the real world. A voltage-to-voltage converter using two op-amps, resistors, and power supplies to linearize the non-linear output of an MQ-135 gas sensor was built.
  • This sensor was connected to an Arduino UNO microcontroller to record min/max values when exposed to alcohol.
  • Then, a 2nd-order Butterworth low-pass active filter was designed and validated through LTSpice before physical implementation to process the sensor signal, mapping the output voltage to a 0-100 scale for accurate readings.
  • Finally, the system once built was tested with input frequencies of 50 Hz, 30 Hz, and 350 Hz, successfully filtering out the 350 Hz and beyond noise.
  • Furthermore, I designed and simulated two different filters. First, a 3rd-order Butterworth high-pass filter in LTSpice at two different cutoff frequencies: 500 Hz and 15 kHz. Second, I developed a Chebyshev filter with specified parameters: Passband ripple (in dB), stopband attenuation, and cutoff frequencies for passband and stopband.

AquaNet IoT System for Pet Fish Care

Main project for the undergraduate course "Internet of Things Implementation" and was selected among many others to be presented in the Expo Ingenierías 2023 event held in Tecnológico de Monterrey in the city of Monterrey, Mexico.

  • Fish care requires constant attention from pet fish owners: Monitoring pH levels, lighting, and food, among other things, are all aspects that owners must manage. It can be challenging or even stressful for some.
  • An STM32 NUCLEO-F103RB microcontroller processed in a rate-monotonic scheduling (RMS) priority algorithm motor revolutions per minute and agricultural tractor velocity, marching and acceleration data to visualize in an LCD 16x2 screen and transfer to a Raspberry Pi 3 via UART in a Python developed graphical interface to show historical data.
  • Issues such as constant owner intervention and the complexity of temperature, pH, and feeding regulations are part of the lives of fish owners.
  • AquaNet is a comprehensive system designed to regulate and maintain optimal environmental conditions in pet fish aquariums.
  • This system uses NodeMCU using C++ for sensor and actuator activation, React and Vite for a web application and an SQL database to record and visualize sensor and actuator data in real time, and Postman API for building and using APIs to communicate both instruments.
  • Our project was praised by our hardware and software professors Claudia M. Solís Garza and Yesenia Sarahi Rivera Leyva as the best in the group, with highlights including the LED lights, 3D-printed containers, and the overall successful execution of a challenging water-related model.
  • The functional website and prepared presentation were noted as strong points and our team work was reflected in the high-quality result.
View on GitHub

RoBorregos Candidates 2022 Tournament Robot

This tournament had the objective to find outstanding students to join the RoBorregos robotics team based on their performance in solving the challenge, share robotics knowledge within the community, and achieve both personal and professional growth for the applicants.

  • Zone A had the objective of finding the end of the maze by passing through as many colored squares as possible and correctly identifying whether they are blue, red, or green through displays, sounds, movements or any other means.
  • An STM32 NUCLEO-F103RB microcontroller processed in a rate-monotonic scheduling (RMS) priority algorithm motor revolutions per minute and agricultural tractor velocity, marching and acceleration data to visualize in an LCD 16x2 screen and transfer to a Raspberry Pi 3 via UART in a Python developed graphical interface to show historical data.
  • Zone B consisted of classifying an object based on its color by moving it to an unloading zone corresponding to its color.
  • Zone C required detecting an infrared ball while avoiding crossing white lines to reach it.
  • The final zone, the Ramp, required the robot to climb the ramp and completely position itself on the upper platform.

BlackBox Digital Wallet | Financial Access Security Device in the Metaverse

According to UpCity, as of 2022, only 50% of business owners and tech experts have a cybersecurity plan in place, with just 43% feeling prepared for a cyberattack. Meanwhile, cybercrime has cost U.S. businesses over $6.9 trillion. This growing threat puts both businesses and consumers at risk, as cybercriminals exploit personal data, hijack digital resources, and deceive victims.

  • During the HackMTY 2022 hackathon hosted at the Tecnológico de Monterrey university in Monterrey, Mexico, insurance firm Chubb challenged participants to develop a solution to secure Metaverse users' financial assets.
  • We designed BlackBox, a secure digital wallet that protects private keys and enables wireless authentication for services within the Metaverse. After 24 hours of development, BlackBox was recognized as the best solution for Chubb's challenge, earning 1st place.
View on GitHub BlackBox Server View on GitHub BlackBox App

Resume

Download my latest CV for more details about my education, experience, and technical skills.

Download Resume in English Download Resume in Spanish

Contact

Email: christianvillarrealt@outlook.com

GitHub: github.com/christianrvillarrealt

LinkedIn: linkedin.com/in/christianrvillarrealt