×Read this message from Erik, founder of YouMagine

bCNC Pendant

Input device for bCNC


Creative Commons Attribution Share Alike

Commercial use is allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


I found on eBay one of those rotary encoders used in commercial CNC pendants (search for 'cnc hand wheel' or 'ZSS600-001-100B-5L') and came to the idea to create my own one.

I am using bCNC to control my mini CNC. In bCNC you use the arrow and page-up/page-down keys to control the three axis. Take this and the fact that you can program an Arduino Pro Micro to act as an keyboard and the electronic side of this project is basically done.

What was left to do was to design a case. I was constrained by the size of the rotary switch and the USB breakout board otherwise it might have gotten a bit smaller.

See it in action:

I have included the OpenSCAD file which is somewhat parametric


  • Rotary encoder
    • Search for 'cnc hand wheel' or 'ZSS600-001-100B-5L'
    • If it has the terminals A, B, A̅, B̅, Vcc and 0V and is specified to work with 5V, it should be fine
  • Rotary switch with 3 positions (see picture, others might also fit)
  • USB Type-B break-out board
  • Micro-USB cable
  • 6 socket head screws M3x12

Arduino Pin-out

  • RAW => Terminal Vcc of rotary encoder
  • GND => Terminal 0V of rotary encoder
  • 2 => Terminal A of rotary encoder
  • 3 => Terminal B of rotary encoder
  • GND => Common Pin of rotary switch
  • 4 => Pin of rotary switch for X
  • 5 => Pin of rotary switch for Y
  • 6 => Pin of rotary switch for Z

(The internal pull-up resistors of the Arduino are used)


  1. Glue the top plate to upper part
  2. Cut a micro USB cable and solder it to the USB break-out board
  3. Glue the break-out board and the cable with hot glue to the lower part
  4. Solder the cables to the Arduino Pro Micro
  5. Plug the Arduino Pro Micro into the USB cable
  6. Screw the lower and upper part together (the screws should thread themselves), take care to not pinch any cable
  7. Upload the sketch to the Arduino Pro Micro
  8. Done


If your computer does not recognize the Arduino when connected via the break-out board switch the cables for D+ and D-.



Issues are used to track todos, bugs or requests. To get started, you could create an issue.


Mini bad clown  custom Jari added this to the WERKSTATT collection ago
Mini bad clown  custom Jari added this to the CNC collection ago
2d2e28155ceaa2cd6e858b8dbdf44817?default=blank&size=40viclanz printed this ago
Carousel thumb bcnc pendant printed case
Printed on:
Anycubic I3 Mega
Excellent design
2d2e28155ceaa2cd6e858b8dbdf44817?default=blank&size=40viclanz commented ago

Thank you!

Mini logoMartin Prochnow commented ago

I have uploaded the missing Arduino-Sketch. Its 'B Cnc Pendant INO'. Youmagine messes up the file names somehow.

2d2e28155ceaa2cd6e858b8dbdf44817?default=blank&size=40viclanz commented ago

I could not find the Arduino code. Could you share it?

93bf73f0ec33a58270df3d4251cdb25b?default=blank&size=40Davekat added this to the Tools collection ago
957ee66a7df9ed22748e32e2717b2b3d?default=blank&size=40kblman added this to the Tools collection ago
69adc8990515124deee8340415ccfaac?default=blank&size=40Matt LaRussa added this to the Robotics collection ago
Mini reiner 001 2Reiner Bühl added this to the Shapeoko collection ago
Mini logoMartin Prochnow published this design ago