This project was started in the spring quarter of my senior year at NU. For it I was tasked with
designing the flight control software for a quadcopter to achieve stable hovering within a testing setup.
To do this I created a UI using a websockets server hosted through a soft access point created using an ESP32 microcontroller,
used a LSM6DS33 6-axis IMU to detect tilt of the drone, performed sensor filtering & fusion on the raw IMU data, sent
the filtered data to a PID controller, and devised a testing setup in which to test the full flight control algorithm.
In its current state, the drone can, within an error of roughly 0.8 radians and for 5 to 10 seconds durations
maintain a commanded angle. For future work I will design a higher fideility testing setup as well as look to further smooth and reduce lag of the tilt data from the IMU.
This status can be seen in the videos, images and github link below.
Language: C++, HTML, CSS, JavaScript, MATLAB
Environment: Arduino IDE, VS Code, MATLAB
Skills: Circuit Design, Embedding Programming, I2C communication, PID Control, Sensor Filtering & Fusion
This spans two mechatronics courses at NU, in which we use a PIC32 microcontroller to learn how to
communicate between sensors (I2C, SPI), wire up those sensors at make valuable uses of them. For the
introductory course, the culmination was in the form of a PID motor control project in which was had a
motor go to various angles along a trajectory. In the Advanced course, we just experimented with various
electrical components such as an OLED display and accelerometer.
If you'd like to see the code for either of these course see the two GitHub links below (left is intro, right is advanced).
And if you'd like to see the PID control in action see the video below.
Language: C, C++, MATLAB
Environment: MPLAB Harmony
Skills: Circuit Design, Embedding Programming, I2C/SPI communication, PID Control
This is a continuation in my mechatronics education in the form of building a webcam using a SAM microcontroller, Zentri wifi chip and an OV7740 camera and programming these components in C with Microchip Studio. My partner and I designed a PCB to be printed, built a website to display the camera image to and are in the processing of designed a housing for the PCB.
Unfortinuately due to Covid, we never got to assemble the final components of the webcam, but see below for the PCB design and CAD model
Language: C, HTML, CSS
Environment: Microchip Studio, Eagle PCB, OnShape
Skills: Circuit Design, Embedding Programming, UART communication, PCB Design, CAD design