CE 4 something Fall 2023
Lab 1 Reverse Engineering Burner Alert - Part 1
Name: Mason
Brady Email:
mrbrady1@fortlewis.edu
Arduino Recreation Introduction:
This is the process of me reverse engineering the Burner Alert system.
A small PCB designed to mount onto stove knobs and buzz every so often
when the burner is on. In part 1 I am using an arduino uno, arduino
buzzer, and an MPU6050 to understand the logic of the circuit before
recreating it with other components.
Materials:
Arduino Uno, Buzzer, MPU6050
Methods:
I first wired the circuit by connecting the buzzer to a digital pin and
wiring the I2C connections for the MPU6050. The circuit can be seen
below in Figure 1.
Figure 1.
Wiring of circuit
I
than began by reading in the data from the MPU6050 via the wire
library. This reads in the accelerations and converts them to G's
(albeit improperly but it doesn't matter because it's all relative).
Figure 2.
Get Acc data code.
The
reason for feeding the data into an array is it means I don't have to
keep track of the name of the variable I am using just the index which
is less memory intensive and easier to code since we only ever need one
axis of acceleration we have to find it on initilization by looking for
the largest force (The axis pointing up). This initilizer can be seen
below in Figure 3.
Figure 3.
Acceleration data initialization.
Finally,
we have to update the acceleration readings and then buzz if it is
time. The delay can be changed and will need to for a product but
testing with a 10 minute delay is impractical. The code for this can be
seen below in Figure 4.
Figure 4.
Checking for a change in acceleration and playing the tone.
A video of the working circuit can be seen below in Figure 5.
Figure 5. Demo of Arduino Tilt Buzzer on Breadboard.
Future improvements beyond the new components are to
check for a change in
acceleration instead of a decrease to allow for mounting errors.
Next the PCB was designed. The layout can be seen below in Figure 6. Figure 6. Schematic for Buner Alert Reverse Engineering
The
schematic is fairly simple, mainly a deconstructed arduino utilizing
only the pins from the ATMEGA328P that we need and removing a lot of
the bulk as well as a deconstructed MPU6050 for the same resasons.
This is powere by two cell batteries in series to provide 6V which is
then stepped down to 5V and 3.3V for the repective chips.
Finally,
a buzzer is routed to a digital pin so that it can be controlled, some
debug LEDs were included incase something goes wrong.