top of page
20250419_012403211_iOS_edited_edited.jpg

Temperature Board

Screenshot 2025-03-22 224817.png

Main Controller

In order to expand on knowledge of microcontrollers, while not jumping too far for this project, I decided to use an ATTiny1604. While small and not too powerful, it was ideal for this application. The MCU has the perfect number of pins (only one was unused), had all the needed communication protocols, enough analog pins and PWM pins, while maintaining a small and cheap package. To program it I used the UPDI programmer I made.

PCB Design

Based on the simplicity of the circuit I decided to use a two layer board, with signals and routed power on the front, ground on the back. As a result I attempted to keep ever trace on the back as short as possible and made efforts to minimize splits in the ground plane. Being one of my first PCB designs for the team, I assume there are some issues with the design. 

Screenshot 2025-03-22 230623.png
20250411_204642776_iOS_edited.jpg

Firmware

Firmware was kept very simple and it consisted of three phases, read input, process data, output data. First it read the temperatures from the two Arduinos that were constantly monitoring 4 temperature sensors each. then it took the temperatures and prepared a struct to send over I2C as well as comparing temperatures to the fan curves and determining the needed fan speed. Finally it sent the data to the respective outputs before repeating the cycle.

Gallery

bottom of page