wondering if a standard arduino uno os sufficient to use the SIO control plugin, or if there is more than the base board and some cables necessary.
pretty sure the way I understand it you would just need the arduino and usb cable.
Yes, a basic Arduino will do the trick. Make sure you use the Arduino minimal firmware and it should work just fine.
Reach out if you have more questions.
Thank you all, I tried it, but it is not accepting it as a valid source.
You will have to provide a bit more info for me to help you.
What board do you have?
What firmware did you load on that board?
What is the message you are getting when you try to connect to it using the SIO Control PlugIn?
the board I am using, and I have tried both of these, are the Arduino UNO, and the ELEGOO uno R3. the message I am getting is either "SIO device is not compatible" or "could not connect SIO". I will attach the code that I uploaded to the board, I changed it from the base, just to remove some of the IO ports that I am not using.
First Try at using Arduino for Octoprint BIG RED BUTTON.ino.zip (4.9 KB)
I just loaded your code on to a sunfounder Mega 2560 and it works as expected.
Can you please provide the SystemInfo bundle or at the very least the octoprint log.
after a shit ton of reloads, restarts, and sheer stubborn persistence, I seem to have it working, and am currently testing it.
Looks like you have the SIO Control set up as if your device is on com port 8
The issue is that it is not responding.
Do you maybe have the arduino comm port monitor open? Or cura running. These will both allow the port to show up in the list but will not allow OctoPrint to talk to your device.
Make sure you are not using the port and try again.
I will also say you have a lot of errors in your log for other things. I dont think it is causing issues for SIO Control but it is messy.
"obico" or something like that.
so neither the arduino comm port monitor or cura are open, and the port is not currently in use
update, whenever I try to connect, or save the connection settings, octoprint freezes to the point where I need to restart the service.
on a secondary note, could it possibly be caused by my printer and the arduino using the same BAUD rate?
Looking more at your log, it seems there are 2 bits that might help you.
the last part of the file indicates that your device is just not showing up or python is not able to open any serial ports giving an error on every port like this:
octoprint.plugins.siocontrol - ERROR - Serial Exception: could not open port 'COM9': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2), <class 'serial.serialutil.SerialException'>
Line 15983: File "C:\OctoPrint\WPy64-31050\python-3.10.5.amd64\lib\site-packages\octoprint_siocontrol\Connection.py", line 156, in connect
The line of code it is saying the exception is on is where Python tries to open the serial port. It is basically saying Python cant do it for some reason.
It also does this earlier in the log:
octoprint.plugins.siocontrol - ERROR - Serial Exception: could not open port 'COM8': PermissionError(13, 'Access is denied.', None, 5), <class 'serial.serialutil.SerialException'>
Line 15803: File "C:\OctoPrint\WPy64-31050\python-3.10.5.amd64\lib\site-packages\octoprint_siocontrol\Connection.py", line 156, in connect
This indicates that there is something blocking the com port from being accessed permission wise.
I think the issue is the 15k lines of exceptions that the "octoprint_obico" plugIn is generating. I think it is crashing your instance. Try disabling that plugin and see if it helps.
No this is not an issue.
But make sure you set your printers port and baud rage and keep it on that same port. That will help you while troubleshooting this issue.
Send an updated log after you have disabled that other plugin and have tried things again.
i disabled that plugin and others, and it hasnt improved.
Well looks like for some reason the settings are not getting saved. Or your settings file is messed up.
Currently your log shows that the settings it is trying to use are:
2024-02-15 10:41:50,259 - octoprint.plugins.siocontrol - INFO - Connecting...
2024-02-15 10:41:50,259 - octoprint.plugins.siocontrol - INFO - Port:COM8
2024-02-15 10:41:50,259 - octoprint.plugins.siocontrol - INFO - IOBaudRate:230400
That baud rate will never work. This is for 2 reasons. First its not supported by the Serial Lib and second your device is not configured for that.
Later in the log.. you have this:
2024-02-15 10:41:53,715 - octoprint.util.comm - INFO - Serial detection: Trying port COM3, baudrate 250000
2024-02-15 10:41:53,762 - octoprint.util.comm - ERROR - Unexpected error while setting baudrate 250000
Traceback (most recent call last):
File "C:\OctoPrint\WPy64-31050\python-3.10.5.amd64\lib\site-packages\octoprint\util\comm.py", line 3468, in _perform_detection_step
self._serial.baudrate = b
File "C:\OctoPrint\WPy64-31050\python-3.10.5.amd64\lib\site-packages\serial\serialutil.py", line 299, in baudrate
self._reconfigure_port()
File "C:\OctoPrint\WPy64-31050\python-3.10.5.amd64\lib\site-packages\serial\serialwin32.py", line 222, in _reconfigure_port
raise SerialException(
serial.serialutil.SerialException: Cannot configure port, something went wrong. Original message: OSError(22, 'The parameter is incorrect.', None, 87)
There must be something strange around the saved settings either for another plugin or SIOC.
Try removing the SIOC and clean up the data.
Reinstall and set the connection settins and save.
thank you, I am trying that now, I have also reverted the BAUD rate back to 115200, which is the base BAUD rate
after uninstalling, cleaning up, and then reinstalling the plugin, it is still not working properly, as whenever I try to set the settings and hit save, it freezes up again.