Hi All,

As some will know, I've committed myself to doing a talk at the CNC Convention / BBQ (Melbourne Aus) held on 24th may 2008. Information on this convention can be found at;
**FREE** CNC Convention / BBQ (Melbourne Aus) (24th may 2008)(Prizes to be won)

The subject of the talk is Modbus, ModIO and Mach3. It will be a fairly basic introduction to Mach3 and Modbus, using the ModIO as the Modbus slave device. For those that don't know what the ModIO is, information can be found at;


MP-03 Pendant

The is a lot of interest in affordable handheld pendants for Mach3, so I decided to put together one for the talk. I'm trying to use components that can be easily purchased, and put together without too much effort. Some soldering will be required.

The enclosure is quite easy to get hold of at Mouser and I will have them in stock next week, The switches and LEDs I have used are my choice but others could be used.

Attached are some photos of what I've done so far. I created/edited a dxf file for the pendant, used sheetcam http://www.sheetcam.com to convert the dxf to GCode and then used Mach3 to mill it out.

I plan to white a brain(s) to communicate with the Pendant's ModIO. I haven't decided on the functionality of all the switches and indicators, although the potentiometer on the top right will be for feed rate override and the switch and indicator on the top left will be for spindle control.





The pendant I currently have available;

has the following functionlity,

  • 100ppr Manual Pulse Generator (MPG)
  • 8 position Axis selector Switch
  • 4 position step scale selector.
  • Feed rate override control
  • Cycle Start push Button
  • Cycle Hold Push Button
  • Axis Reference Push Button
  • Spindle On/Off Push Button
  • Enable Push Buttons
  • Emergency Stop Switch
  • LED Status Indicator

The pendant is very robust, designed for commercial industrial use. This is achieved via the

  • 100ppr MPG,
  • 2 rotary switches,
  • 1 potentiometer,
  • 1 led indicator and
  • 4 push-buttons, plus
  • 2 enable buttons.



The pendant I'm presenting in this thread will be able to be put together by DIYers. Not every one will want the same configuration as I have done. It is basically to be used as an example of how to go about puttind together your own pendant. This pendant will have;

  • 100 ppr MPG
  • 2 Rotary switches with up to 12 positions each.
  • 1 potentiometer
  • 6 pushbuttons
  • 8 Led indicators
  • 4x20 LCD.

I haven't decided what functions will be allocated to which switches etc. so don't ask.

One of the major additions with this pendant is the LCD. It will be able to display axis positions and other data. Also the 3 buttons below the LCD could be "soft" buttons with their function displayed on the LCD.


To do the cutting out of the enclosure, I started out with the DXF file for the enclosure;

I then edited it using the free CAD tool ProgeCAD 2008 Smart.

I deleted all the views other than the one I wanted for Machining. and ended up with the attached drawing PendantDIY.dxf. I then drew the cutouts and holes I needed for all the bits and peices. I used different layers based on the different cutting/drilling operations I would be needing to do in Sheetcam.

A couple of things I did that may not be clear.
Firstly I used the view looking into bottom case rather than the top. I did this as it had better detail for parts placement.

If you look at the drawing, you will see a layer called REF. It contains the 6 holes that screw the 2 halves together. I used this layer in Sheetcam to produce GCode to drill holes at these locations. The purpose of this is to drill locating holes in a mounting fixture on the mill.

The mounting fixture is just a 1/2 slab of aluminium bolted to the table. Once the 3mm holes were drilled, I loosely screwed 3mm bolts into the mounting bosses in the top 1/2 of the case, then cut the heads off the bolts and located the bolts into the holes I'd drilled on the tooling plate fixture. I then use a couple of clamps to secure the case.

This gave me a repeatable locating method.


I used sheetcam to convert the dxf file containing the cut-outs I needed into G-Code. From Sheetcam I generated 4 Gcode files, one for each operation. I did this foor ease of toolchange and to do it step by step.

If you load the sheetcam job file PendantDIY.job you will notice a couple of things.

First is I've rotated the drawing by -90 degrees to suit my Taig mills X axis. I've also set the 0,0 origin position to be the bottom left reference hole. That way I just position the toolbit over the holes and zero the axis. Easily repeatable.

The first GCode file PendantDIYRef.tap drills the reference holes as previously explained.

The next Gcode file PendantDIYCut, uses a 1/8" mill bit to cut out all the component holes. You can see how using different layers in your dxf cad editor helps Sheetcam in selecting where to cut.

I then used the Gcode file PendantDIYDrill3_18 to drill the holes for mounting the MPG.

I then used the Gcode file PendantDIYDrill3_5 to drill the holes for the rotary switch locating tabs.

I then used the Gcode file PendantDIYDrill4_0 to drill the holes for mounting the LCD.

In the end the case came out really nice.





I plan to use a 6 core cable to connect the Pendant to the CNC controller. The connector is shown in the schematic previously posted. As I'm building this for the CNC BBQ demo, I won't be terminating it into the controller but still need a neat way to terminate the cable and get power to the unit and the RS232 signals to Mach.

My plan is to use a small 2" diecast box. The lid of the box will have the Pendant connector on. I'm doing it this way so that if I want to integrate the pendant into my controller, I can mount the diecast lid only to the front of the controller by the 4 screw mounting holes in the diecast lid. If this is not clear, hopefully I'll have pictures of the finished diecast box in the morning.

The connectors I plan to use are 6 pole versions of the ones below. A bit of an overkill but they are robust and splash proof.

I need to drill a hile in the lid to suit the connector and I plan to use the New Fangled wizards to create the G-Code quickly.

I also need a way to connect the RS232 to the computer, so on one side of the di-cast box I'll mill a DB9 cutout again using the wizard to generate the GCode. On the opposite side of the enclosure, I'll mount a 2.1mm DC power socket for power.

I haven't had time to mount the EStop button into the pendant, so that will have to wait.

As I said hopefully I'll have pictures in the morning.



Last night I cut out the small diecast box as shown in the attached pictures. I used the NewFangled Wizards http://www.newfangledsolutions.com to generate the GCode for my Taig Mill.

Initially, I cit the 0.86" hole in the lid and drilled the mounting holes at 1.2" apart.

I then Cut out the db-9 connector, again using a wizard, an extremely simple operation (for the wizard). The only problem I encountered was that the wall thickness of the box was about 0.1", so I used the rectangular pocket wizard to cutout a relief to get the wall to the correct thickness.

I then cut out a 0.32" hole for the DC jack using a wizard as well.

All this was done using a 1/8" slot mill bit.

The only problem was that I used a male DB-9 instead of a Female. That 's what happens when you are still working at midnight. I'll probably not change it as I used locktite on the dB-9 mounting screws.

Next job is to wire up the cable between the Pendant and the dicast box.



I finally finished the hardware for the pendant last night. There wasn't too much to do apart from wire up the Pendant lead cable and connector. I did a quick check and all control and the display are working. Attached is a photo of the finished pendant (Excluding labelling of the controls)

The next task is to write the macropump to control the pendants functionality. I'm not sure as to how I will use all the switches and Leds yet. I have the following at my disposal;

  • 100 ppr MPG
  • 2 Rotary switches with up to 12 positions each.
  • 1 potentiometer
  • 6 pushbuttons
  • 7 Led indicators
  • 4x20 LCD.


Cycle Start Bottom Left Button
Feed Hold Bottom Right Button
Spindle Toggle Top Left Button
FRO Top right Potentiometer





Below is a photo showing the latching EStop switch installed.