Hello, I’m Mahdi!
I’m an embedded software/firmware and hardware engineer specializing in circuit design as well as bare-metal and embedded Linux programming. I’m proficient in C/C++ and Python, and I also have experience with MATLAB for analytical tasks. Below are some of my notable projects and ways to get in touch.
Work Experience
- Software/Firmware/Hardware Researcher, University of Nevada, Reno (Oct 2021–Present)
- Developed and maintained embedded firmware for multiple IoT devices, focusing on real-time data acquisition and wireless communication (Bluetooth, Wi-Fi, and RF LoRa).
- Implemented efficient RTOS-based scheduling and interrupt handling to ensure stable system performance.
- Designed and built various PCBs; performed bare-metal ARM programming using STM32Cube and Segger Embedded Studio.
- Utilized ESP32, ARM, and AVR microcontrollers across diverse hardware designs.
- Embedded Software Engineer, Sundance DSP Inc (Oct 2024 – Dec 2024)
- Developed firmware for a RISC-V SoC using Buildroot and Yocto.
- Programming FPGA for real-time image processing.
- Firmware/Hardware Engineer, Farmed Tajhiz (May 2017 – Jun 2019)
- Designed and tested custom PCB solutions, integrating microcontrollers (AVR, ARM) and peripheral sensors for industrial projects.
- Programmed in C and C++ for real-time applications, implementing UART, CAN, I2C, and SPI for sensor data collection.
- Optimized existing firmware to improve reliability and reduce power consumption.
- Firmware/Hardware Teacher and Freelance Engineer, Tehran, Iran (Jun 2012 – Dec 2019)
- Taught and mentored teams in robotics hardware and firmware, guiding them through international competitions and patent development.
- Working freelance on projects from helping them with developing the idea, designing the circuit, building the hardware, and doing the firmware mostly with the help of ARM and AVR microcontrollers.
- List of Honors as a Mentor and Teacher:
- Silver medal in iENA competition, Nuremberg, Germany (2013)
- Special award from Russian House for international scientific and technological cooperation, Geneva, Switzerland (2013)
- Two silver medals in the Geneva Inventions Competition, Geneva, Switzerland (2014)
- Thailand special award for best international invention from NRCT, Geneva, Switzerland (2014)
- Silver medal in Arga ARCA agriculture fair, Biograd na Moru, Croatia (2014)
- Two silver medals in the ARCA competition, Biograd na Moru, Croatia (2014)
- First Place in RoboCup Asia Pacific international competition in junior rescue league, Iran, Kish (2018)
- First place in FIRA RoboWorld Cup international competition in youth Demo Creativity, Iran, Tehran (2019)
- Second place in FIRA RoboWorld Cup international competition in youth Demo Creativity, Iran, Tehran (2019)
- First place of FIRA RoboWorld Cup international competition in Best Presentation Creativity, Iran, Tehran (2019)-
Projects
-
IMU Project: Repo Link Designed and programmed a new IMU board featuring an STM32 ARM processor, LoRa modules for communication, a barometer, a temperature sensor, and two accelerometers for varying acceleration ranges. The ARM was programmed in an embedded C++ environment, utilizing RTOS, I2C, and UART serial communication protocols for the modules. The PCB was designed using Altium Designer.
-
Underground UWB Positioning Module: Repo Link
Designed and built a gas monitoring system for underground tunnels, utilizing multiple gas sensors and a board equipped with an AVR microcontroller. This setup collects sensor data using I2C and then transmits it via a UART serial connection to a computer for analysis. -
Underground CO2 Monitoring: Repo Link
Designed and built a gas monitoring system for underground tunnels, utilizing multiple gas sensors and a board equipped with an AVR microcontroller. This setup collects sensor data using I2C and then transmits it via a UART serial connection to a computer for analysis. -
Excavator: Repo Link
Designed and built a small scale of a real excavator for remote control and fully immersive teleoperation. - Manipulator projects: Repo Link
- Programmed a 6-DOF manipulator mounted on a rover to sand the exterior of boats (simulation).
- Programmed a 6-DOF Doosan A0509 manipulator. Collaborated with Nvidia Jetson, Depth Camera, and 2D/3D LiDars.
-
Operation Optimization: I have a master’s in business administration, and I have done my thesis in operation optimization. I combined two famous optimization algorithms to make a new algorithm that can solve our problem faster than others.**
-
Python Games: Repo Link
I have contributed to two games, The first one was a recreation of Packman and the second one was a maze with coding questions like Leetcode as challenges. The idea was to make a game to test programming skills. -
Reinforcement/Deep Learning Projects: Some COurse projects I have done in RL and deep learning.
-
Mars Rover: .
- Junior Rescue:
Skills
- Programming: C, C++, Python, ROS, ROS2, MATLAB, Java, React, Deep Learning, Machine Learning, Optimization, Reinforcement Learning, GIT, Embedded Programming, RTOS, VHDL, Verilog, STM32Cube, LabVIEW, Linux
- Other: Analog and Digital Electronics, PCB Design, Microcontrollers, Altium Designer, QEMU, SolidWorks, AutoCAD, Arduino, Raspberry Pi, Jetson, PLC, VectorBox, Gazebo, RViz, SoC, ARM, ESP32, RISC-V, AVR, x86, Yocto, Buildroot, Robotic Manipulators, SPI, I2C, UART, CAN
Contact
- Email: mshahsavar@unr.edu
- GitHub: @mahdishahsavar
- LinkedIn: Mahdi Shahsavar
Thank you for visiting my site!