Core One chamber heater and servo communication + max temperature
Ive been working a thing, which can heat the chamber and uses a servo actuated flap to switch between exhaust and circulation: https://www.printables.com/model/1445294-air-manager-chamber-heater-and-filter-v05
However, I am trying to get it to be able to communicate with the printer. To anyone who has the GPIO board/knows stuff about GCode, is it possible to use it to send signals, eg: at the start and end of the print, and based on loaded filament type. I would like to be able to have the printer signal the end of the print to turn off the heater.
Also what might be the max rated temperature of the components in the Core one? I have been limiting myself to 55C so far. Would it be safe to push to 65C, because I would assume/hope that all of the components are rated for that.
RISPONDI: Core One chamber heater and servo communication + max temperature
This is a good overview of the hackerboard, and there are several other videos on his channel using it.
In short, yes gcodes can set the state of hackerboard outputs. Once set, the gpio state is stored on the xBuddy board and persists over reboots and power cycles, until changed.
RE: Core One chamber heater and servo communication + max temperature
Very cool mod! Documentation is here https://help.prusa3d.com/article/gpio-module_734695?_gl=1*1gffgyk*_gcl_au*MTczMjYxMDI2Ni4xNzU2NTY1MjU2*_ga*Njc1NjU2ODQ1LjE3NDg1MjQ1NzE.*_ga_3HK7B7RT5V*czE3NjEwNTIwNjgkbzEyMCRnMSR0MTc2MTA1MjA3MiRqNTYkbDAkaDA.#setting-gpio-via-custom-g-code
For what you want you can configure start and end of print GCode in PrusaSlicer, see "Custom G-Code in Prusa Slicer" on that page.
I don't think there's a way to configure start and end GCode directly on the printer sadly, so you have to make custom PrusaSlicer profiles and can't use EasyPrint. However there are 2 exceptions I found (please share if you find another way):
1. GPIO inputs can trigger custom GCode files stored on the USB. Configuring a pin as input is persistent as it's stored in EEPROM. So e.g. you could configure pin 7 as input once, then every time you press a button connected to 7 it'll run the file `macros/btn_7.gcode`. Cool! But the opposite of what you want (you want output pins to automatically trigger based on the printer state). The one workaround I can think of is you could hook up an existing output to a GPIO input. As the chamber fan can be configured to always run during prints I'd splice the fan cable into a GPIO input (being mindful of voltages etc etc), then when a print starts that input would trigger a btn gcode file that can then report what you want to a GPIO output that would signal your custom electronics.
2. Auto run GCode. You can (supposedly; there's very little info) name a file on the USB `auto0.g` (that's a zero after auto) and it should run on boot. It's intended so print farms can automatically start a print just by turning on a printer, but I imagine you can put any GCode commands in there. This is closer to what you want, but it's only on boot not on print start. https://github.com/prusa3d/Prusa-Firmware/pull/3467#pullrequestreview-948509644
There's a list of supported gcodes but I can't see any that would regularly report temps for example, or report print start/stop. Perhaps you can spot something https://help.prusa3d.com/article/buddy-firmware-specific-g-code-commands_633112#g-codes
TLDR using custom G-Code in Prusa Slicer would be the easiest.