This project implements a temperature monitoring and alert system using a LabJack DAQ, a temperature sensor, an LED, and a buzzer.
It was first prototyped on a breadboard, then designed into a custom PCB (schematic + layout in Fusion 360).
The repository includes the C program, schematic/board files, BOM, CAM outputs, and project images.
- Below threshold → LED stays on, buzzer off
- Above threshold → Buzzer activates (PWM on FIO4), LED turns off
- Exit strategies → Run for a set duration OR stop after a set number of buzzer activations
- Safe shutdown → LED and buzzer off, all pins reset before exit
- Channel: FIO4
- Clock: 48 MHz / 47 divisor
- Mode: 8-bit timer
- Duty cycle: 50% (for buzzer control)
- LED initially off (DAC0 high).
- User enters temperature threshold (°C).
- User selects exit mode:
- Run for a set time (seconds).
- Run until a set number of buzzer activations.
- Temperature read from AIN0 (voltage × 100 = °C).
- Below threshold:
- LED on (DAC0 low).
- Buzzer off.
- Console prints current temperature.
- Above threshold:
- LED off (DAC0 high).
- Buzzer on (PWM).
- Console prints “Temperature high” + temperature reading.
- Time-based: Program stops after specified duration.
- Activation-based: Counts buzzer activations until target reached.
- User may also choose to exit immediately at startup.
- LED and buzzer turned off.
- All pins reset.
- Program waits for user input before closing.
- Temperature sensor → AIN0 input.
- LED → DAC0 output.
- Buzzer → PWM on FIO4.
- Custom PCB created in Fusion 360:
- Validated with ERC/DRC checks.
- Fabricated and soldered components.
- Tested with LJControlPanel.


