Embedded Systems & Electronics Projects Menu

Go back

FreeRTOS Sensor Interface & Drivers for the MPU6050 and ADXL345 ICs

Project Description:

I wrote drivers for the MPU6050 and the ADXL345 ICs. I used FreeRTOS to schedule tasks like sensor data computation, UART interface (for debugging), and sensor data retrieval.

Datasheets:

MPU6050 datasheet

MPU6050 register map

ADXL345 datasheet

Project Github:

View Github Repo

EEPROM and Accelerometer Drivers

Project Description:

I wrote drivers for the 25AA040A EEPROM IC and the ADXL345 triple axis accelerometer.

More information about this project can be found here.

Project Github:

View Github Repo

I2C to USB Interface

Project Description:

More information about this project can be found here.

Fast Inverse Square Root Hardware Implementation

Project Description:

This is the hardware implementation of the fast inverse square root algorithm. Inverse square root operations are heavily used for 3D graphics rendering. They are particularly important for operations such as normalizing vectors, which is a common task in graphics processing for lighting and shading calculations. Note that the result is an approximation of the inverse square root.

Project Github:

View Github Repo

ADXL345 Development Board Design

Project Description:

More information about this project can be found here.

Verilog VGA Controller

Project Description:

In this project, I made a VGA controller in Verilog using the VGA controller references by Altium. Since I did not have the ressources to test this on an FPGA, I used the $fwrite() command in Verilog to produce basic images in PPM format. A Python scrypt was made to then open the PPM file as a PNG.

Project Github:

View Github Repo

LED Matrix PCB Design

Project Description:

The first step of this project was to create the schematic including the circuit protection, voltage regulation, and the LED matrix. Next, custom footprints had to be designed in Fusion360 for the LMS78 and the barrel jack connector. KiCad's PCB editor was used to design the PCB.

Project Github:

View Github Repo

IoT Temperature Based Fan Speed Controller

Project Description:

The first step of this project was to create the schematic including the circuit protection, voltage regulation, and the LED matrix. Next, custom footprints had to be designed in Fusion360 for the LMS78 and the barrel jack connector. KiCad's PCB editor was used to design the PCB.

Project Github:

View Github Repo