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

Arduino setup (legacy)

  1. Install Arduino libraries
arduino-cli core install arduino:avr
arduino-cli lib update-index
arduino-cli lib install "Adafruit MAX31856 Library"
arduino-cli lib install "LiquidCrystal I2C"
arduino-cli lib install "RunningAverage"
  1. Build
arduino-cli compile \
    --fqbn arduino:avr:uno \
    --libraries TubeFurnace/libraries \
    TubeFurnace

Releases

No releases published

Packages

No packages published