




Im Folgenden stelle ich mein neustes CNC-Handrad für das OPEN-CNC-Shield 2 mit dem Estlcam ControllerModule vor. Mit dem Handrad lässt sich die Fräse ganz einfach per Hand verfahren und kann vor dem Starten eines Jobs entsprechend ausgerichtet und an die richtige Stelle gefahren werden. Auch eine Geschwindigkeitsanpassung des Jobs oder der Motordrehzahl sind möglich – auch während eines Jobs. Hierzu habe ich ebenfalls ein Video erstellt, welches die Funktion, den Aufbau und alles drumherum erklärt:
Funktionen
Das Handrad und die Funktionen gelten nur für das OPEN-CNC-Shield 2 mit dem Estlcam ControllerModule. Andere Controller unterstützen unter Umständen nicht alle Funktionen. Dazu immer in die Dokumentation des jeweiligen Controllers schauen: Dokumentation ControllerModules
- 3-Achsen Joystick mit Knopf (wird zum Abnullen der Achsen genutzt)
- Taster zum Starten von Autosquaring – Was ist Autosquaring?
- Taster zum Starten des Programms
- Taster zum Starten des Motors / der Spindle
- Taster für eine weitere Funktion, z.B. Stromlos schalten der Achsen oder Auswahl der Geschwindigkeit in Estlcam (Speed1, Speed2)
- Encoder zum Verfahren der Achsen (Funktioniert nur mit angeschlossenem RJ45 Kabel – nicht über WiFi)
- Poti für den Vorschub
- Poti für die Motorgeschwindigkeit
- Display zur Anzeige
- Automatische Kalibrierung
- Vertauschte Achsen des Joysticks werden erkannt
- Verpolung aller Potis wird erkannt (Wenn VCC und GND vertauscht sind)
- Mittelstellung des Joysticks wird korrigiert. Vor allem bei der Z-Achse des Joysticks habe ich noch nicht herausgefunden, wie man diesen manuell korrigieren kann. Das ist nun auch nicht mehr nötig.
- ESP32 Platine für die Kommunikation mit dem OPEN-CNC-Shield 2
- Integrierte 5000mAh Powerbank
- Wird mit einem RJ45 Kabel mit dem OPEN-CNC-Shield 2 verbunden. Hier rüber wird auch die Powerbank geladen.
- Laufzeit im Dauereinsatz: etwa 12 Stunden. Durch Einstecken des RJ45 Kabels kann auch mit einer leeren Powerbank weiter gearbeitet werden.
Bauteile Liste

Gehäuse aus dem 3D-Drucker. Ich habe auch eine Fusion360-Datei und eine Step-Datei mit hochgeladen. Damit kann man das Gehäuse ggf. noch anpassen.![]() | Thingiverse |
ESP32 Panel PCB![]() | im Shop |
Set: Bauteile wahlweise als Set![]() | im Shop |
Einzeln: Handrad 60 mm – 5V – 4 Pin![]() | Amazon AliExpress |
Einzeln: 4-Axis Joystick 10K Ohm![]() | Amazon AliExpress |
Einzeln: Taster mit 5V LED. Es gehen natürlich auch welche ohne LED![]() | Amazon AliExpress |
Einzeln: Poti 10K![]() | Amazon AliExpress |
Einzeln: I2C Display 0,96 Zoll![]() | Amazon AliExpress |
Powerbank 5000 mAh Max Breite: 65 mm Max Länge: 94 mm Max Tiefe: 14,5 mm ![]() | Amazon |
Kurze USB-Kabel (10cm) 1 x USB-A auf USB-C (für die Stromversorgung von der Powerbank zur Platine) 1 x USB-A auf Powerbank Eingang (meist Micro-USB) zum Laden der Powerbank | Amazon AliExpress |
Diverses sonstiges Material: – 8 x 3D-Druck Inserts M3 – Durchmesser 5 mm – ca. 20 x M3 Schraube 6 mm lang – Kabel zum Verdrahten |
Zusammenbau Anleitung
Der Zusammenbau wird auch in dem obigen Youtube-Video beschrieben. Hier aber nochmal das wichtigste:

Es empfiehlt sich, erst leitenden Draht an den Tastern anzubringen, das erleichtert das Löten später. Damit verbinden wir am Taster GND der LED mit C. Im Folgenden ein Bild dazu:
Hier sieht man einmal das Anschlussschema eines Tasters mit LEDs. Wobei „LED VCC“ und „LED GND“ auch oft vertauscht werden können. Zur Sicherheit kurz mit 5V testen.


Die ersten Bauteile sollten problemlos eingesteckt und eingeschraubt werden können.
Joystick: Hier spielt die Ausrichtung der Potis keine Rolle.
Taster: Einstecken und von hinten verschrauben, die Dichtung nicht vergessen.
Encoder: Einstecken und mit Muttern befestigen
Display: Ich habe erst ein wenig Kleber angebracht und dann zusätzlich noch die Luftpolsterfolie hinter das Display gelegt (siehe Bild oben).

Die Potis werden auch eingesteckt und dann mit der Mutter angezogen. Dann den Poti auf null drehen und die Kappe aufstecken.

Potis – Gilt auch für die Potis an den Joysticks.
Oberer Pin | 3,3V |
Mittlerer Pin | Signal zur Platine |
Unterer Pin | GND |
Handrad / Encoder
A | Signal A zur Platine |
B | Signal B zur Platine |
5V | 5V |
0V | GND |
Taster
Display
SDA | SDA Signal zur Platine |
SCK | SCK Signal zur Platine |
VCC | 5V |
GND | GND |

Dann eine Unterlage suchen, damit das Handrad vernünftig aufliegt und das Löten kann beginnen. Zunächst alle GND Leitungen verbinden. Ich nutze immer ein langes Kabel, dass ich stückweise abisolieren, ohne es zu verschneiden und dann an die Pins anlöte.
Danach folgen die 5V Leitungen mit der gleichen Technik wie bei GND.
Die Signalleitungen sind bei mir gelb und werden dann an die Platine angeschlossen.

Wenn alles richtig verdrahtet ist, sollten schon die LEDs leuchten und auch das Display sollte etwas anzeigen.

Da der Wireless Charge Adapter für meinen Geschmack zu warm beim Laden geworden ist, habe ich diesen entfernt und ein zweites USB-Kabel von der Powerbank zur Platine angeschlossen. Damit wird die Powerbank nun geladen, sobald das RJ45 Kabel mit dem OPEN-CNC-Shield 2 verbunden ist.

Danach nur noch die 3D-Inserts mit dem Lötkolben eindrücken und bei Bedarf die Kalibrierung starten, bevor das Gehäuse mit dem Deckel geschlossen wird.
Kalibrierung
Zum Starten den kleinen Taster auf der Platine gedrückt halten. Steht dann im Display „Kalibrierung“ den Taster wieder loslassen. Danach den Anweisungen auf dem Display folgen







Funktionen des kleinen Tasters:
kurzes drücken | Die Einstellungen der Software werden auf mehreren Seiten angezeigt. Ein Ändern der Einstellungen ist nur durch erneutes Aufspielen der Software möglich. |
Mehr als 3 Sekunden drücken und dann loslassen | Starten der Kalibrierung. |
Mehr als 6 Sekunden drücken und loslassen | Alle Einstellungen zur Kalibrierung löschen. Es wird ein Reset durchgeführt. |
ESP32 Firmware
Die Firmware des ESP32 gibts hier: Github ESP32 Panel Software
Hallo
Kann man das Handrad auch nur mit dem Lan-Kabel betreiben oder geht das nur mit Wifi,
Aktuell findet die Kommunikation nur über Wi-Fi statt. Es ist aber geplant, zukünftig auch die Kommunikation über das LAN Kabel zu ermöglichen. Das hat aktuell aber keine hohe Priorität, da mir bisher noch kein Fall bekannt ist, wo die Wifi Verbindung nicht einwandfrei funktioniert.
Hallo Timo,
Bekommt man bei dir auch nur die 4 Taster im Set zu kaufen?
Direkt im Shop nicht. Schreib aber gern eine Anfrage. Da lässt sich bestimmt was machen.
Hallo Timo, kannst du bitte erklären wie du das Cover gemacht hast? Danke
Das ist einfach eine Aufklebefolie von meinem Plotter. Habe das nur für das Video eben drauf geklebt. Das sollte eigentlich unnötig sein. So viele Funktionen sind da jetzt nicht drauf 😀
Hey Timo, ich habe das Panel soweit zusammen gebaut, es funktioniert auch mit der Kommunikation mit dem CNC Shield, nur ich kann die Kalibrierung nicht starten. Wenn ich den Button drücke gibt er GND durch, kommt auch am Pin4(D2) an, aber die Kalibrierung startet nicht
Was kann ich da machen ?
Der Button funktioniert leider noch nicht. Wenn du die aktuelle Version der Firmware hast, kannst du auch Button4 dafür nutzen. Also zur einmaligen Kalibrierung einfach ein Kabel an button4 und GND. Dann zusammenhalten zum auslösen.
probiere ich sofort aus, danke für die schnelle Antwort.
Welche Insertgröße für die Gewinde hast du genommen ? M3 fällt bei mir durch und M4 kann ich überhauptnicht ansetzen. Vielleicht hast du einen Link von deinen
hab ich in thingi dazu geschrieben: 3D inserts: M3 – diameter 5 mm – length up to 6 mm
Die Löcher sind glaube ich 4,8mm
Kalibrieren hat geklappt, vielen dank
Hallo Timo,
finde das Open CNC Shield 2 und das Handrad super. Aber ich hätte zum Handrad eine Frage:
Ist es auch möglich das Handrad ohne Powerbank zu betreiben und nur mit angeschlossenem RJ45 Kabel?
Danke und Grüße Daniel
Klar, siehe dazu die Dokumentation: https://docs.timos-werkstatt.de/open-cnc-shield-2/esp32-panel-platine#stromversorgung
Moin Timo, prima Anleitung. Ein paar Kleinigkeiten sind mir aufgefallen:
1. Wenn Du an dem Gehäuse unter die Platinen Halter Fasen machst, kann man den Support auf das Druckbett beschränken.
2. Das AZ-Delivery Display scheint 1-2 mm größer zu sein. Wenn Du in alle Richtungen 1 mm dazu gibst sollte das passen.
3. Oben im Text für das Display ist GND und VCC vertauscht. Man kann es ja leider nicht mehr lesen, wenn es eingebaut ist.
4. Eine Idee für den „kleinen Taster“: Nimm doch einen „Momentary Pushbutton Switch“. Der ist dann versenkt und kann mit einer Büroklammer, oder so gedrückt werden.
5. Eine Idee: Anstatt des Encoders kann man auch einen Not-Aus einbauen (kann ich mal auf Thingiverse remixen). Wie kann man das im Code einbauen?
Nochmal zum Not-Aus:
Ich habe den jetzt anstatt des Handrades eingebaut und den mit ENA verbunden. Bei „LifeLatitudes“ hat er das mit einem Endstop verbunden. Das finde ich noch viel besser. Bei mir „fällt“ die Spindel etwas runter, wenn der Stepper stromlos ist.
Wie kann man das realisieren?
Kann man über OutputX einen Endstop simulieren? Im „schlimmsten“ Fall über ein Relais?
Ich habe das mal bei Thingiverse
https://www.thingiverse.com/thing:5729474
und Prusa eingestellt.
https://www.printables.com/model/344876-emergency-stop
Du könntest die Software anpassen. Der ESP32 auf dem OCS2 hat ein paar freie Ports am Pinout. Davon könntest du einen nutzen und das Signal dort ausgeben. Dann könntest du eine Strippe von dem Pin zu einem Eingang ziehen.
Ohne Anpassung der Software:
Stelle am Panel ESP32 in der Software ein, dass z.B. Output 4 damit geschaltet wird. Dann zieh eine Strippe von Output4 an einen der Eingänge.
Ein direktes Schalten der Eingänge ist zwar auch mit dem OCS2 ESP32 zwar auch möglich, würde ich aber nicht machen. Wenn der ESP32 den Eingang auf 5V zieht und dann dein Eingang am InOutModule versucht den Eingang auf GND zu ziehen, gibts nen kurzen.
Super. Klappt wunderbar.
Es muss aber min. die OCS2_VERSION 8 sein.
In der panel Software habe ich 2 Einträge gemacht:
#define HAS_OUTPUT4_BUTTON true
#define BUTTON_1 „output4“
Und natürlich den Not-Aus Schalter mit dem entsprechendem BUTTON_1_PIN (default: 23) verdrahtet.
Den Draht habe in im OCNC Shield von Output 4 auf Input 7 gezogen und den Jumper nach rechts gesetzt.
Dann in Estlcam den Eingang 7 als Endstop konfiguriert.