MycoReactor

Objective

Control and monitor a heating pad system for precise temperature regulation using an Arduino, SHT30 temperature/humidity sensor, and MOSFET. Data is logged and visualized to optimize heater performance and maintain consistent environmental conditions for mycelium cultivation.

View on GitHub →

Capabilities

The MycoReactor system provides real-time temperature and humidity monitoring with automated heater control. The Arduino reads environmental data every second and makes intelligent decisions to maintain target temperatures within specified ranges. All system activity is logged to timestamped CSV files every 10 seconds, creating a comprehensive record of environmental conditions. This data is then processed and visualized through interactive web-based plots, allowing detailed analysis of heating patterns, temperature stability, and system performance over time.

Tasks

Hardware Components

Software & Libraries

Wiring Diagram

SHT30 Temperature/Humidity Sensor (I2C) ├─ Red → Arduino 5V ├─ Black → Arduino GND ├─ Yellow → Arduino SCL (Pin 21 on Mega) └─ White → Arduino SDA (Pin 20 on Mega) IRL44N MOSFET (TO-220 Package, front view with text facing you) Pin Layout (left to right): Gate - Drain - Source ├─ Gate (G) → Arduino Pin 9 (PWM control signal) ├─ Drain (D) → Heating Pad Negative (-) └─ Source (S) → Arduino GND (CRITICAL: common ground!) Heating Pad Power Circuit ├─ Positive (+) → 12V DC Adapter Positive └─ Negative (-) → MOSFET Drain (D) 1N4007 Flyback Diode (across heating pad) ├─ Cathode (silver band) → Heating Pad Positive (+) / 12V └─ Anode → Heating Pad Negative (-) / MOSFET Drain Purpose: Protects MOSFET from voltage spikes Power Supplies ├─ Arduino: USB or 5V external supply └─ Heating Pad: 12V DC, 1A adapter (Alito ALT-1201) ⚠️ CRITICAL CONNECTIONS 1. Arduino GND MUST connect to MOSFET Source 2. 12V adapter GND MUST connect to Arduino GND 3. All grounds must be common for proper MOSFET operation

Lessons Learned

Results

Interactive visualizations of heater system performance over time. Each dataset shows temperature and humidity trends with heater activity indicated by shaded regions.

Mar 03, 2026 18:06

Duration
68.85 min
Heater ON
48.85 min
Heater OFF
18.17 min
Temp Max
60.20 °C
Temp Min
59.50 °C
Temp Avg
59.84 °C
Temp Range
0.70 °C
Humidity Max
2.10 %
Humidity Min
0.10 %
Humidity Avg
1.46 %
Humidity Range
2.00 %

Mar 03, 2026 16:56

Duration
68.52 min
Heater ON
47.02 min
Heater OFF
19.50 min
Temp Max
60.20 °C
Temp Min
59.40 °C
Temp Avg
59.85 °C
Temp Range
0.80 °C
Humidity Max
5.00 %
Humidity Min
2.10 %
Humidity Avg
3.87 %
Humidity Range
2.90 %

Mar 03, 2026 15:57

Duration
57.83 min
Heater ON
38.17 min
Heater OFF
18.50 min
Temp Max
60.20 °C
Temp Min
59.70 °C
Temp Avg
59.92 °C
Temp Range
0.50 °C
Humidity Max
8.80 %
Humidity Min
5.20 %
Humidity Avg
7.15 %
Humidity Range
3.60 %

Mar 03, 2026 15:10

Duration
45.02 min
Heater ON
39.67 min
Heater OFF
4.18 min
Temp Max
60.10 °C
Temp Min
25.20 °C
Temp Avg
41.92 °C
Temp Range
34.90 °C
Humidity Max
100.00 %
Humidity Min
14.00 %
Humidity Avg
59.67 %
Humidity Range
86.00 %

Feb 11, 2026 16:39

Experiment Notes:
Evan stacked two placed two petri dished containing nearly pure mycellium on the heating pad, which had been warmed to 60 degC. The petri dishes were nearly pure mycellium than had to be dried for further analysis. A timelapse was taken of one dish (the top dish) using a digital microscope (DinoLite) and companion software. Photos were taken every 5 minutes for 60 minutes (from 5:20 to 6:20). In future studies, the petri dishes should have been weighed before and after drying. This is a link to slides on the constrcution and use of the heater https://docs.google.com/presentation/d/1ZvSA9oj7bTSweTrYoQJAS_rbTViF5D0WxH5KqCNhA_8/edit?usp=sharing The plot shows when the heater was on with a red background.
Duration
105.38 min
Heater ON
63.85 min
Heater OFF
38.70 min
Temp Max
60.80 °C
Temp Min
52.20 °C
Temp Avg
59.13 °C
Temp Range
8.60 °C
Humidity Max
7.40 %
Humidity Min
0.20 %
Humidity Avg
3.32 %
Humidity Range
7.20 %

Feb 11, 2026 16:35

Duration
2.67 min
Heater ON
2.33 min
Heater OFF
0.00 min
Temp Max
40.30 °C
Temp Min
39.90 °C
Temp Avg
40.05 °C
Temp Range
0.40 °C
Humidity Max
9.30 %
Humidity Min
8.10 %
Humidity Avg
8.71 %
Humidity Range
1.20 %

Feb 11, 2026 16:33

Duration
1.83 min
Heater ON
0.33 min
Heater OFF
1.17 min
Temp Max
41.00 °C
Temp Min
40.70 °C
Temp Avg
40.83 °C
Temp Range
0.30 °C
Humidity Max
8.60 %
Humidity Min
8.00 %
Humidity Avg
8.36 %
Humidity Range
0.60 %

Feb 11, 2026 16:06

Duration
26.33 min
Heater ON
5.67 min
Heater OFF
20.33 min
Temp Max
42.00 °C
Temp Min
37.80 °C
Temp Avg
40.87 °C
Temp Range
4.20 °C
Humidity Max
16.30 %
Humidity Min
6.50 %
Humidity Avg
11.11 %
Humidity Range
9.80 %

Feb 11, 2026 15:32

Duration
5.00 min
Heater ON
5.00 min
Heater OFF
0.00 min
Temp Max
46.50 °C
Temp Min
44.80 °C
Temp Avg
45.68 °C
Temp Range
1.70 °C
Humidity Max
0.50 %
Humidity Min
0.00 %
Humidity Avg
0.16 %
Humidity Range
0.50 %

Feb 11, 2026 14:11

Duration
44.80 min
Heater ON
44.47 min
Heater OFF
0.00 min
Temp Max
47.70 °C
Temp Min
47.20 °C
Temp Avg
47.45 °C
Temp Range
0.50 °C
Humidity Max
5.70 %
Humidity Min
4.30 %
Humidity Avg
4.97 %
Humidity Range
1.40 %

Feb 11, 2026 14:08

Duration
1.00 min
Heater ON
0.17 min
Heater OFF
0.83 min
Temp Max
46.70 °C
Temp Min
46.50 °C
Temp Avg
46.58 °C
Temp Range
0.20 °C
Humidity Max
4.60 %
Humidity Min
3.80 %
Humidity Avg
4.24 %
Humidity Range
0.80 %

Feb 11, 2026 14:07

Duration
0.67 min
Heater ON
0.17 min
Heater OFF
0.50 min
Temp Max
47.10 °C
Temp Min
47.00 °C
Temp Avg
47.02 °C
Temp Range
0.10 °C
Humidity Max
4.40 %
Humidity Min
4.10 %
Humidity Avg
4.22 %
Humidity Range
0.30 %

Feb 11, 2026 14:05

Duration
1.50 min
Heater ON
0.17 min
Heater OFF
1.33 min
Temp Max
49.70 °C
Temp Min
49.70 °C
Temp Avg
49.70 °C
Temp Range
0.00 °C
Humidity Max
3.50 %
Humidity Min
3.10 %
Humidity Avg
3.39 %
Humidity Range
0.40 %