This project is a lazy attempt to simulate button presses to a Creality K1 (Max) mainboard. This code works on all Arduino boards.
Most MCUs check their Button Pins for high or low voltage levels (mostly combined with input pullup resistors) to detect button presses. I connected an Arduino Uno R3 to the button testpoints of the K1 mainboard to simulate those high and low levels of voltages. Interestingly, the Arduino Pin is floating, when defined as Input via pinMode(). That's ideal for our simulation, so the button gpios of the K1 Board are not exposed to voltages and thus minimizing possible interferrences and damages. The reset button triggers when a low voltage is applied (GND) and the boot button triggers at a high voltage. The Arduino receives via serial the user input and correspondingly executes certain button combos, to achieve the user interaction on the mainboard remotely.
Solder some wires to the red marked Testpoints (located under the buttons of the board) and connect those to the Arduino correspondingly to the provided layout. IMPORTANT: Ground connection (green marked) is only necessary, if the K1 mainboard is not connected to the same PC as the Arduino!
- Open the project file of your liking (For beginners, use the .ino file, which works with Arduino IDE)
- Set up the upload settings
- Upload the code to the Arduino
- The Arduino is now ready to use. Connect it now to the PC of your liking
Open the Arduino serial port with any program of your liking. The baud rate is 9600 baud. After that, you should see a menu, like shown in the picture. If you press r, the K1 board gets reset. If you press b, the K1 board gets reset and set into boot mode.