Aerospace
Software
Robotics
px4 autopilot flight testing is what started this all
somewhere down the line i started buidling SLAM simulations
then i made Little Roverl
featuring its very own simulation environment for system verification
...and although we've had some problems along the way
everything is working out fine
RGB-D SLAM in action using rtabmap_ros
Date: August 1, 2024
Here, we have an MPU6050 Accelerometer communicating with a BeagleBone Black development board over I2C to share data measuring the acceleration forces felt by the accelerometer. Executing the program managing the interface between the two devices, you can see the acceleration data being printed to STDOUt. The kernel, device tree binary file, and root filesystem were all compiled from source using the Linaro cross-compile toolchain and flashed from an external SD card.
Date: July 18, 2024
Building on the progress from the previous project in which I used the STM32F769's output compare mode of some of its general purpose timers to pump out various PWM signals, I have now used the PWM mode of these general purpose timers to vary the duty cycle over time of each PWM signal. As a result, I was able to build this cascading effect of LED's as the intensity of their glow increased/decreased over time. The change in density in each one of the Logic Analyzer signals is an indication as well to the varying duty cycles
Date: July 16, 2024
Since the last project dealt with the input capture mode of one of the STM32F769's general purpose timers, this one explored the general purpose timers ability to toggle one of the GPIO pins at a certain interval. This interval was controlled by the value stored at the capture/compare register of the GPIO's relevant Timer Channel. By turning on Timers 10, 11, and 12, I was able to produce 4 different waveforms at 50% duty cycle
Date: July 14, 2024
For this project, I was playing with the STM32F769's ability to output one of it's applicable clock sources (HSI, LSE, HSE, PLL) on its MCO1 pin in order to analyze the signal. By using this clock as an input to the mcu's Timer 10 Channel 1 Peripheral to trigger an interrupt, computing the difference in the peripherals capture/compare register between two different interrupts, and pairing this with the timers resolution, I was able to verify that LSE oscillator operates at 32.768 KHz
Date: July 11, 2024
In order to correctly measure the ambient temperature and relative humidity, I decided to interface a DHT11 Humidity & Temperature Sensor with an STM32F769I Discovery Board. Once the Discovery Board receives the temperature and humidity from the sensor, it then relays the message to a minicom session over UART. The sensor itself uses a single-wire serial interface transmitting either a "1" or "0", depending on how long it holds the data line high. In the video below, you can find verification of the response from the DHT11 using a low-cost logic analyzer.