Esphome based smart control for the original prusa enclosure to control temperature and air quality.
Based on the original prusa enclosure with light bar and air filter and The awesome mod which adds automated heater and air ventilation from printables.
This adds air quality and auto control for the air filter and uses esphome instead of c directly.
This is for advanced users only! You should be familiar with esphome and have experience with bigger projects as this requires quite some soldiering and wires.
This documentaion is also Work in Progress and might not be fully complete as of now.
- UI with Control via Rotary Button
- Air quality and temperature sensors
- Automated heater, air ventilation and air filter
- Runtime counter for the air filter
- Integration with home assistant fpr sensors and heater
- 1 * Led Strip 24v, the original prusa is not dimmable... so i recommend a cheaper, dimmable one
- 1 * original Prusa Air Filter, i had to cut the wires to connect to 24V cause i could not get a connector
- 1 * ESP32
- 1 * Sen54 Sensor
- 1 * Rotary Encoder
- 3 * Switches (Retro!)
- 1 * LCD ST7735
- 1 * IO Expander (MCP23017, overkill but i had it at home)
- 3 * Dual MOSFET Switch Module - Control 24v Leds, AirFilter, Fan via esp32
- 2 * Buck Converter (24v to 5v and 3.3v)
- 2 * 3.3V Relais (Heater and to control Printer power)
- 2 * DS18B20 Temperature Sensor
- 1 * 200W heater+fan combo (i use a MOSFET to control the fan)
- 1 * SG-90 type servo
- 1 * 70mm x 50mm prototype board (front)
- 1 * 70mm x 20mm prototype board (back)
- 1 * MeanWell LRS-200-24 or MeanWell RSP-200-24
- A lot of wires (for front and back unit + connections)
- Wires for the heater 19 to 20awg (100w@24v!)
- Kabel to power printer
- JST connectors or similar
Based on esphome, wifi should be setup for ntp clock the code can be found here: smart-prusa-enclosure.yaml
4 Heat inserts (M3*5*6, voron style) All part 1 time from the 3dParts folder except SmartEnclosureBracket.obj this we need 2 times
From Automated Heating System for Original Enclosure. Hinge.stl Flap.stl Heater_Mount.stl Air_TempSensor_Holder.stl Servo_Adapter.stl Case_TempSensor_Holder.stl
I am not super happy with the front case at the moment but it works for now.
The left side shows the back unit and the right side the front unit.
The back unit houses all the output and sensor components and the front unit the esp, lcd, io expander and other input stuff. The are connected with a 11 wires under the enclosure.
Here is the back unit (not mounted)
Here is the front unit (during build from the back)
3.3V and GND are comming from the back unit, this lists all connnections within the front unit.
- Light -> ESP32 - GPIO04
- MISO -> NC
- SCLK -> ESP32 - GPIO14 (SPI CLK)
- MOSI -> ESP32 - GPIO26 (SPI MOSI)
- TFTCS -> ESP32 - GPIO27 (CS)
- CARDCS -> NC
- TFTDC -> ESP32 - GPIO13
- RESET -> 3.3V
- 3.3V -> 3.3V
- GND -> GND
- SCL -> ESP32 - GPIO22 (I2C SCL)
- SDA -> ESP32 - GPIO21 (I2C SDA)
- 3.3V -> 3.3V
- GND -> GND
4 switches, GND to
- Light -> MCP23017 - 0
- Fan -> MCP23017 - 1
- AirFilter -> MCP23017 - 2
- Printer -> MCP23017 - 4
- Button -> MCP23017 - 3
- A -> ESP32 - GPIO05
- B -> ESP32 - GPIO17
- 3.3V -> 3.3V
- GND -> GND
Use two DC/DC to create 5v and 3.3v from the 24v, The 3,3v is used to power the front unit, the 5v are only used in back unit and sensors. Connections to ESP32 must be wired from back to front. I used a long ribbon wire with 11 wires to archive this.
- Signal -> ESP32 - GPIO25
- 3.3V -> 3.3V
- GND -> GND Use NC and COM to control printer power
- OUT-NC -> Printer 220V
- OUT-NO -> Not connected
- OUT-COM -> Printer 220V (same line!, diagram is wrong! shows NC to NO, but NC to COM is correct)
- Signal -> ESP32 - GPIO33
- 3.3V -> 3.3V
- GND -> GND Use NO and COM to control heater
- OUT-NO -> Heater Gnd
- OUT-NC-> Not connected
- OUT-COM -> Heater Gnd
- Signal -> ESP32 - GPIO19
- 3.3V -> 3.3V
- GND -> GND
- Out -> Light 24V + GND
- Signal -> ESP32 - GPIO23
- 3.3V -> 3.3V
- GND -> GND
- Out -> Air Filter 24V + GND
- Signal -> ESP32 - GPIO16
- 3.3V -> 3.3V
- GND -> GND
- Out -> Light 24V + GND
- Sig -> ESP32 - GPIO18
- 5V -> 5V
- GND -> GND
- Sig -> ESP32 - GPIO15
- 3.3V -> 3.3V
- GND -> GND
- SCL -> ESP32 - GPIO22 (I2C SCL)
- SDA -> ESP32 - GPIO21 (I2C SDA)
- 5V -> 5V
- GND -> GND