PROJECTS
PROJECTS
Motor Control using FreeRTOS (April 2026 - Present)
About:
The inspiration for this project came from the industrial motor control systems I have worked with in my current job. I always wanted to learn what happens under the hood. The goal of this project is to build an end-to-end motor control system, including a frontend UI, a backend server using FastAPI in Python, and low-level firmware for motor control. So far, I have built a simple PID controller to track the encoder position of a hobbyist brushed DC motor. The next steps involve deploying FreeRTOS tasks to manage real-time tasks, such as control loops and controlling more than one motor, as well as non-real-time tasks, such as status monitoring.
Skills and Softwares used : C programming, python, STM32, Control Theory, RPI
Github link: https://github.com/bhagyeshagresar/MotorControl_using_FreeRTOS
myOS -from-scratch(August 2025 - Present)
About:
Developing a RISC-V based OS from scratch on a linux machine using QEMU.
Github link: https://github.com/bhagyeshagresar/myOS-from-scratch
DMA Controlled LightFlow - (Fall 2024)
This project uses the DMA on the STM32F401RE microcontroller to send the varying duty cycle data from the memory of the STM32 to the Timer peripheral for controlling the WS2812B LED strip.
Github Link: https://github.com/bhagyeshagresar/DMALightFlow
Advanced Mechatronics - Advanced Mechatronics (ME443 Spring 2022)
About:
In the ME433 Advanced Mechatronics course, I implemented Digital Communication Protocols such as I2C, UART and SPI. Performed Signal Processing, worked on Neopixels, Pi Camera, IMU and LCDs. Implemented 3D Printing and PCB Designing.
Skills and Softwares used: C, PIC32, I2C, UART, SPI, Raspberry Pi PICO, PICO Camera
Github link : https://github.com/bhagyeshagresar/me433_advanced_mechatronics
Marker Assembling Robot - Embedded Systems in Robotics (ME495 Fall 2021)
About:
This project was part of ME495 Embedded Systems in Robotics course at Northwestern University. The project involved using Franka Emika Panda Robot to assemble dry markers with their caps and place them in an assembly area. In this project we used Realsense Camera to do object detection for different colored markers. For trajectory planning and actuating the robotic arm, Moveit Python API was used. State Machine developed using the SMACH ROS Package was used to control sequence of actions needed to be performed by the robot.
Skills and Softwares Used: ROS, Moveit, Python, OpenCV
Github link : https://github.com/bhagyeshagresar/franka_markers_project
EKF SLAM from Scratch - Sensing, Navigation and ML for Robotics (ME495 Winter 2022)
About:
Implemented Extended Kalman Filter SLAM algorithm from scratch using C++ and ROS on Turtlebot3.
Developed C++ libraries for implementing transformations and calculate forward and inverse kinematics. Built ROS packages to compute Odometry, calculate and visualize sensor measurements. Built my own simulation to visualize the robot , obstacles, the Laser Scan and the walls. In order to demonstrate the differences in calculation of kinematics, odometry and estimate of the state using SLAM, The simulation consists of 3 different robots. The red robot moves based on just the simulated kinematics. The blue robot updates its state based on the encoder readings (odometry). The green robot uses EKF SLAM to get the latest configuration of the robot.
Skills and Softwares used: ROS, C++, Git, Docker
Github link: https://github.com/bhagyeshagresar/EKF_SLAM_on_turtlebot3
Kuka youBot - Pick and Place Robot - Robotic Manipulation (ME443 Fall 2021)
About :
In this project Kuka youBot Robot Manipulator was used in CoppeliaSim simulator to pick and place a cube from one place to another. The three main components of the project were Trajectory Generation, Feedforward plus PI Feedfack Control and State Estimation of the Robot after certain time step.
Skills and Softwares used: Python, CoppeliaSim
Github link: https://github.com/bhagyeshagresar/Kuka-youBot-Mobile-Manipulation
MoveIt Motion Planning Project using HDT Adroit - Independent Project (Spring 2022)
About:
The aim of this project was to use Adroit Robot Arm and build a pyramid of cylinders. This is a motion planning task which is achieved by using ROS and Moveit on HDT Adroit.
Skills and Softwares used : C++, MoveIt, ROS
Github link: https://github.com/bhagyeshagresar/me499_project
Automating the process for Implant Manufacturing - Industry 4.0 Manufacturing (ME395 Winter 2022)
About:
Automated the sealing operation of tubes required for HIV Drug Implant using 6 DoF Robot Arm.
Used Arduino to activate the action groups and automate the sealing operation.