FEATURE REQUEST: Add gcode to control drybox

Currently drybox can be controlled only by hmi interface.
But drybox functons are ideal to make DIY heater chamber.
Please, add custom M2000 commands to control fan/temperature of the heated chamber.

I didn’t know the heated chamber but here is the gcode reference:

https://wiki.snapmaker.com/en/Snapmaker_Luban/manual/artisan_supported_gcode_references

1 Like

I know about this page, and there is no info about drybox gcode, suddenly.

I will use purifier, but it’s definitely not a preferable way, with drybox we can control temperature both from hmi and from gcode, and with purifier - only in gcode (purifier doesn’t allowed to set/get any temperature from hmi). Also, there is too much additional functions in purifier.

So, I will wait for official answer, maybe they will implement drybox gcode controls, or, at least, will release source code of the artisan controller. Pure Marlin is released with GPL license, so devs must release sources anyway.

I’m confused - are you talking about the SnapDryer (SnapDryer by Polymaker - Snapmaker EU)? This can be controlled via Artisan? First time I hear that - can you explain a bit?

Yes, I can mimic any snapmaker module, and there is drybox module, possibly SnapDryer, that enabling this controls in hmi:

Strange values ‘cause I’m not sending it from my device, but I can manage it.

Problem is that I want to control this device through gcode, not only in hmi, but seems that there is no gcode for it.

And yes, you can adapt any drying box to control it from hmi, you just need an arduino and write some code :slight_smile:

If this is part of the Artisan HMI in its factory state, I’d assume that it is made for the SnapDryer. But how do you interface with it? Mine has no cable socket where I could connect to… And I’m not aware that the SnapDryer has Bluetooth, WiFi or other wireless interfaces, but I may be just ignorant here. So, how do you connect to the drybox?

So, if SnapDryer hasn’t any ports, seems that only way is to make own controller.
You can use an arduino, mcp2515 board, relay, humid/temp sensor like DHT21, and one broken (or not) filament dryer for case and heater. Sensor and relay can be obtained from this dryer too)

You can use my library, GitHub - morgan55555/sm2_module: Snapmaker 2 module library for Arduino. It’s called MODULE_DRYBOX, all of the data formats you can find in official repo GitHub - Snapmaker/Snapmaker2-Modules

2 Likes

The screenshot you shared from the HMI: Is this available only with modifications, or is this “factory default”? I only own a SM 2.0, so never have seen that anyhow…

Yes, it’s factory default Artisan firmware, but i’ve checked it on SM2.0, suddenly, drybox is not initialize with it. So, you need Artisan or greater for this feature, or you can ask devs or make fork of GitHub - Snapmaker/Snapmaker2-Controller: Snapmaker2-Controller is the firmware for Snapmaker 2.0 3-in-1 3D Printers. and add it into code. (But drybox will not available on hmi, devs never release hmi source, so, only gcode commands)

1 Like

That’s really interesting, so to me it looks like they planned or still pan to release SnapDryer with machine connectivity… Dunno, when the warranty is gone from my SnapDryer, I might open it and see if they included a WiFi or BlueTooth capable MCU into it which can be hacked to communicate with the printer… Not the most important feature IMHO, but interesting…

It is extremely unlikely that it’s any wifi/bluetooth inside. In my case, there is wired module, like enclosure/purifier/emergency/etc.

So, I’ve maked it, but with only available option - as Air Purifier.

But it will be best option to implement gcode for drybox, for live temperature and humidity monitoring. And also, why there is no official module for enclosure temperature control? It will be ever better, than drybox.

I create something like you but in my case i use Filament dryer module code almost per original SM code. That mean heater need to reach hard coded temp before really look at the 3 selectable room temp(25,50,75) and humidity is only read value. But like you I’m little frustrated that Snapmaker doesn’t develop new module to make Artisan evaluate … I understand at some point when they say they have limited engineering resource and this is why they drop some module development but they could use community to help improve there product for free for them by giving more access to firmware. They provide some module code but like you im stock in my project since we dont have access to machine firmware that could at less give access to gcode firmware to be able to modify some gcode action and this is something that normaly we should have access since they use open source Marlin and by rule of the Marlin open source its mandatory to provide code. On HMI its something esle since its android base they have the choice to make it open or not but if they make its open source we could develop( i meen communoty) interface to make its more closer to user need. in my case i use a lots for cnc and be able to do some MIDI interface and Probing.

I want to control temperature from gcode, so, purifier is the only option available.
And yes, they should release sources, but now is almost three years after release, and nothing. Sad but true. Community can make so many things, but devs is on the way :frowning:

Yes you are wright but its sad to use air purifier when if they could give source we could do it quickly. in my mind should be under enclosure and we could simply redo the the enclosure board with connector that could talk to heater in can to get temp hum and different state. im curruis what ArtisanTestProbe.ino in you repo do?

It’s a unknown calibrator module. Maybe, it’s using for initial calibration before sending, or something else, idk. But when homing, it can stop moving in Z direction, acting like a probe. But sadly, only when 3Dp head is connected, not in CNC mode :frowning:

Also, seems that button “Dry”/”Stop drying” doesn’t work, it doesn’t call any function.
UPD: started working. Interesting.