Skip to content

hacker-fab/phoenix

Repository files navigation

phoenix

Phoenix is a tube furnace used for thermal oxidation and annealing.

It uses PID control to follow custom temperature profiles and works on both MicroPython on the ESP32 and a simulated Python desktop environment.


Fig 1. Tube furnace in action

Fig 2. Simulated PID following a heat profile

Fig 3. Controlling ramp rate to prevent thermal shock

Python setup

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Micropython setup

Install micropython

https://github.com/micropython/micropython/tree/master/ports/unix#readme

Install typing

micropython -m mip install github:josverl/micropython-stubs/mip/typing.mpy

Install udataclasses

cd ~/.micropython/lib
# extract src/udataclasses
git clone https://github.com/dhrosa/udataclasses.git tmp
mv tmp/src/udataclasses .
rm -rf tmp

Flash code

esptool erase-flash
esptool --baud 460800 write-flash 0 images/ESP32_GENERIC_S3-SPIRAM_OCT-20250809-v1.26.0.bin

mpremote
mpremote connect /dev/ttyUSB0 fs cp main.py :
  • use the UART port (left side) for flashing
  • use the USB port (right side) when using mpremote

About

tube furnace

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •