BOB Control panel for CNC Router with 3 Axis Joystick Control

Post your completed retrofits for the world to see.

Moderator: cnckeith

Post Reply
RogDC
Posts: 275
Joined: Wed Jan 01, 2020 2:40 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by RogDC »

Here are photos of my BOB Control Panel for my CNC Router. I'll try to get a video uploaded later this week of it in operation.

My goal was to have a panel which provided most of the functions I use when doing production work that could be moved from the touch screen next to the router table when setting up and running parts in production.

While I appreciate the WMPG and it's convenience, I have chronic nerve pain in my right side from an accident and the repetitive motion of the MPG wheel while jogging the router would aggravate the condition as well as raising my right arm to control the VCP on the touch screen.

BOB Panel Mounted next to Touch Screen
BOB Panel Mounted next to Touch Screen
One of the main features that I missed from a previous CNC control was diagonal jog which is not possible to achieve with the MPG. While working on the Alpha Testing of the BOB, we identified that the controller could be set up for diagonal jog. This was great news for me and I started to look at ways to control the jog direction using a keypad or joysticks.

When I started to dimension the inputs and LED outputs of the BOB for controls and indicators I quickly realized that I would require two BOBs for my requirements for the control panel or would need to create an intermediate interface to use one BOB to get all of the features that I wanted out of one. Feedback from Centroid's Tech Support and other BOB Alpha testers helped guide me to choose the path of one BOB using an analog joystick with 3 axis simultaneous control by converting the analog signals to quadrature A - B outputs to the BOB MPG wheel inputs for each axis. This allowed simultaneous jog of all 3 axis at variable speeds in each axis.

As the build progressed, the possibilities expanded on how to interface the BOB with the analog to quadrature Arduino for maximum utilization of the BOB's 12 inputs ( switches ), 12 LED outputs, and 3 rotary encoders with switches & 3 MPG encoder inputs. When my initial rotary switch for jog step did not work out ( latched contact and BOB requires momentary ) I relied on the Arduino to provide a latched to momentary output to the BOB to change the jog step. Taking this further, I pivoted to a rotary encoder and OLED display for the MPG Status of enabled or disabled as well as the Jog Step of x1, x10, x100. After much testing I moved all non MPG related functions to a second Arduino for the Jog Step, OLED, and future Rotary Encoder OLED Display indicators ( presently I have blank bezels where the additional OLEDs will be installed and can be programmed for the FEED/SPEED/SPINDLE rotary encoder switches and additional machine status).

Uwe's ( aka suntravel ) 3D printed panel inspired me to pivot from using an off the shelf electrical project box to 3D print my own control enclosure. This enabled me to customize the panel a little further than what I had planned but created another learning curve with 3D modeling and nuances of 3D printing beyond one color.

The square momentary push button switches are illuminated 12VDC and have interchangeable labels which can be printed on plain paper and placed under the plastic switch cover. If I need to change the function of the push buttons for a large production run I can just reprogram the BOB's inputs, pop off the colored switch cover, and change out the label.

The analog joystick has 3 axis control with a momentary button. The momentary button toggles the MPG Enable/Disable, status is displayed above the Jog Step on the OLED. I am working on the Arduino code for Z - Limit to limit the jog step to x10 when x100 is selected. It is somewhat working but still needs some optimization.

I can move the panel from the multifunction arm ( 3D printed ) to the Router Table next to where I am working by using a Vesa mount with a dovetail quick release interface. This is more ergonomic for me and has nearly all of the functions I need when batching out jobs right from the router table once set up is completed.
BOB Router Table Mount
BOB Router Table Mount
BOB Panel Mounted on Router Table
BOB Panel Mounted on Router Table
3D Printed BOB Joystick Panel
3D Printed BOB Joystick Panel
Thanks to Keith, everyone at Centroid and all of the other Alpha testers. This worked out far beyond my initial expectations.

Craig


suntravel
Posts: 3136
Joined: Thu Sep 23, 2021 3:49 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 6433DB0446C1-08115074
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: Germany

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by suntravel »

Very well done.
I would like to see this Joystick as an add-on from Centroid...

Uwe


CentroidFrog
Posts: 10
Joined: Wed Jan 29, 2025 9:39 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by CentroidFrog »

Using a joystick for jogging is genius! I love the custom solution, and the control board looks great.


RogDC
Posts: 275
Joined: Wed Jan 01, 2020 2:40 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by RogDC »

Thanks. Working on the build thread and video overview.


grossmsj
Posts: 153
Joined: Fri Jan 13, 2023 8:50 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: Hopewell NJ
Contact:

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by grossmsj »

Wow! That's awesome.


RJ_Corn23
Posts: 4
Joined: Tue Feb 04, 2025 10:19 pm
Acorn CNC Controller: Yes
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by RJ_Corn23 »

That looks great. I have ordered a joystick to play around with. I like that idea quite a bit. I have a micro-controller board in my upcoming build that can do the analog to pulses conversions. Any "gotchas" I should watch out for when writing the code? I suppose a good resistance dead-zone in the center position would be a good idea since the resistors have a temperature coefficient and drift etc.


RogDC
Posts: 275
Joined: Wed Jan 01, 2020 2:40 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by RogDC »

RJ_Corn23 wrote: Thu Feb 06, 2025 4:24 pm That looks great. I have ordered a joystick to play around with. I like that idea quite a bit. I have a micro-controller board in my upcoming build that can do the analog to pulses conversions. Any "gotchas" I should watch out for when writing the code? I suppose a good resistance dead-zone in the center position would be a good idea since the resistors have a temperature coefficient and drift etc.
Things which will need consideration:

Dedicated Micro-Controller for analog to quadrature conversion - don't count on reliable multi-tasking.
Micro-controller will need to operate at 5 VDC, not 3.3VDC
Micro-controller will require Input voltage above the 5VDC from the Acorn Board and USB cable input. ( I used 12VDC and regulators for 9V and 5V respectively, 12VDC was used for push button LED indicators )
Analog Joystick will require regulated 5VDC for the analog potentiometers for the proper analog input read on the micro-controller board. Micro-Controller may provide a sufficient source for reference on the analog input pins.
Center the joystick pot idle position potentiometers as close as possible to 1/2 of reference 5VDC source
Generous Dead-Zone
Your quadrature pulse rate will need to be adjusted for performance to your system


RJ_Corn23
Posts: 4
Joined: Tue Feb 04, 2025 10:19 pm
Acorn CNC Controller: Yes
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: BOB Control panel for CNC Router with 3 Axis Joystick Control

Post by RJ_Corn23 »

Great points, thank you. I have some 5V ATMEGA256 boards lying around that should do the trick. I also have a couple of ST32F4xx boards with level shifters that might fit the bill. Will need to weigh the options on those two. Both boards operate from 24VDC and have 5V/3.3V regulators on board.


Post Reply