Jonathan Ma

Robotics & Mechanical Engineer

Hi, I'm Jonathan. I enjoy learning about engineering, computer science, physics, and math. Check out my projects!

Projects

Individual

Group

REM Sleep Detection Mask

I engineered the first working prototype of this REM Sleep Mask, designed to challenge traditional methods of sleep monitoring. The mask uses TCRT5000 infrared sensors to detect rapid eye movements from the eyelids and an MPU6050 accelerometer to monitor head movements, providing an in-depth analysis of sleep quality. I integrated a Seeeduino Xiao microcontroller for its compact size and efficient processing capabilities, optimizing battery life by selecting a 400 mAh lithium-polymer battery suited for overnight use. Components were soldered by hand for reliability and compactness, and I used SolidWorks to design a custom casing, ensuring safety and comfort. Finally, I processed the collected data in MATLAB to interpret sleep patterns accurately, showcasing a full embedded systems approach to wearable sleep monitoring.

Click here for full report

Smart Calorie Scale

I made the Smart Calorie Scale to assist in managing dietary intake by accurately measuring and converting the weight of food items into caloric content. Built around a precision load cell and powered by an Arduino Nano, the scale features a user-friendly button interface that allows for easy selection of food types, conversion between calories and grams, and use of a tare function. I created a small database within the Arduino code, using a Food class that stores properties like calories per gram for each food type. Buttons trigger functions on the Nano, allowing selection of food items and units for measurement. The device was meticulously engineered using SolidWorks for the design, followed by 3D printing for a durable housing and a custom-made circuit board to support its functionality. I soldered the components by hand to ensure reliability and precision. The scale is powered by AA batteries and includes an on/off switch.

Optimization of PVDF Piezoelectric Films

In one of my research projects, I optimized the creation and poling process of PVDF films to maximize their performance in sensing and energy harvesting applications. PVDF (Polyvinylidene Fluoride) films are flexible, piezoelectric materials that generate an electric charge in response to mechanical stress. I used specific techniques such as fine-tuning film thickness, incorporating ZnO nanoparticles to enhance phase alignment, and applying corona poling under controlled temperature conditions for precise dipole orientation. For data processing and analysis, I leveraged MATLAB, allowing me to conduct analytical modeling and performance benchmarking to quantify improvements. These optimizations resulted in over a 100% increase in piezoelectric output compared to previous lab benchmarks, demonstrating advancements in PVDF film capabilities.

Click here for full report

C++ Based Projects

Relational Database

In this project, I created a relational database designed to facilitate efficient data storage, manipulation, and retrieval for small-scale applications. I created this project in C++ and utilized data structures such as vectors, hash tables, and binary search trees to enable optimized indexing and searching. It provides a command-line interface that supports creating tables, inserting and deleting rows, and performing conditional queries and join operations using a simplified SQL-like syntax. By incorporating these data structures, this database ensures quick access and efficient data management for a multitude of applications.

Maze Pathfinder

In this project, I implemented efficient pathfinding algorithms using C++ to navigate a maze-like castle. I designed both queue-based and stack-based routing schemes to guide a character from a starting position to a target destination while avoiding obstacles and utilizing warp pipes for inter-room travel. The queue-based scheme employed a breadth-first search to ensure the shortest path, while the stack-based scheme used a depth-first search for potentially more memory-efficient exploration. This project emphasized handling complex environments, ensuring efficient execution for large maps, and providing accurate and reliable navigation solutions within a specified time constraint. This comprehensive approach enhanced my understanding and application of fundamental data structures and algorithms in practical scenarios.

Zombie Defense Game

In this project, I created a terminal-based zombie defense game where you eliminate zombies using various priority queue data structures. The main goal was to implement efficient data structures, including dynamic polymorphism, to manage zombie attributes like distance, speed, and health. I designed each zombie as a class with specific attributes and behaviors, utilizing priority queues to determine the order of actions. I focused on developing my skills in reading and implementing unfamiliar data structures, debugging complex code, and optimizing performance to handle the simulation's demands.

Four Bar Linkage

For a robotics competition, my team and I designed and built a high-speed four-bar linkage mechanism with optimized gears for torque control. The linkage detects flags as they appear using ultrasonic sensors that output precise distance measurements. Based on the detected flag, the linkage directs a flashlight to activate a photosensor assigned to that flag. Using SolidWorks, my team and I carefully modeled the system to be lightweight and applied kinematics principles to ensure the flashlight aligns geometrically with each photosensor. I then fabricated each component using lathes, mills, and a waterjet for precision. I implemented PID control, using MATLAB and Simulink to tune parameters and simulate responses. This setup optimized the linkage’s speed and accuracy for quick deployment, significantly boosting performance in competition.

Click here for full report

Magnetic Levitation

The Magnetic Levitation System 33-210 uses controlled electromagnetic forces to suspend a steel ball in mid-air. In this project, my group and I designed and tested a control system to levitate a ball in mid-air using magnetic forces. This project involved analyzing the Maglev hardware’s dynamics and designing a PID controller to achieve precise position control. Our approach included modeling the system’s dynamics with a transfer function and using Root Locus methods to set key controller parameters, including proportional, integral, and derivative gains, to stabilize the system and minimize both overshoot and settling time. Using MATLAB and Simulink, we tested the PID controller on both a linearized and nonlinear model of the system. The controller performed well across different inputs. For example, we set the ball to follow a series of step and square wave patterns, and the controller maintained accurate tracking and fast stabilization throughout.

Click here for full report

Robotics Competition RMP

In this project, I collaborated with my team to create an RMP (Robotic Mobility Platform) that we designed in SolidWorks. I fabricated many of the components from raw aluminum materials using precision tools, including a mill, lathe, and waterjet. The platform’s structure included critical components such as an **Upper Structure Bracket**, which securely connects the arm to the base plate, and a **Belly Pan** that serves as the main structural support, housing all other subsystems. A **Driven Shaft** connects the wheel to the front wheel bracket and constrains motion, while the **Arm** is gear-driven to maximize torque and is specifically engineered to lift a flag during competition tasks. For high accuracy, I applied GD&T principles, specifying precise dimensional tolerances and surface finishes for each part. For example, the front wheel bracket required tight tolerance levels for the bushing fits, and the arm’s clearance holes ensured reliable pivoting. Each component was manufactured with attention to tolerances, roughness, and mass requirements.

About me


About Myself

I'm a Robotics Engineer with a focus on the intersection of mechanical systems, machine learning, and control theory. I'm passionate about leveraging machine learning and advanced algorithms to enhance the performance and autonomy of robotic systems. My interests lie in optimizing mechanical design, implementing predictive models, and integrating sensing technologies to create intelligent and adaptive systems that push the boundaries of robotics and automation.,

Education

Master of Science in Engineering in Robotics, University of Pennsylvania

Bachelor of Science in Engineering in Mechanical Engineering, University of Michigan

Skills

Programming Languages: C/C++, MATLAB, Python, ROS, Java, JavaScript, HTML, CSS

Software: SolidWorks (Certified), Simulink, Arduino, OpenCV, Altium Designer, Siemens NX, MSC Adams, Ansys, LabView

Fabrication: GD & T, Soldering, 3D printing, Waterjet cutting, CNC milling, Lathe

Notable Coursework

  • Control Systems Analysis and Design
  • Data Structures and Algorithms
  • Design and Manufacturing
  • Differential Equations
  • Dynamics and Vibrations
  • Electrical Circuits, Systems, and Applications
  • Fluid Mechanics
  • Machine Learning
  • Machine Perception
  • Matrix Algebra
  • Multivariable and Vector Calculus
  • Robotic Kinematics and Dynamics
  • Statics and Solid Mechanics

Contact Me


Get in touch

Email: jmaengr@gmail.com

Phone: (734) 510-0446

LinkedIn: https://www.linkedin.com/in/jonny-ma/

Please feel free to reach out or send a message!