More info on making input buttons to work:
So far, I am using the pushbutton in pull-down, 0 volts mode. Works fine. It took some time trying different check boxes for the proper function for the brains.
Each button has to be in the Set-up page, under a separate config#'s. The address entered into the Mach3 setup table Address column,for each button is the Arduino pin number you are going to use.
I could not get pins 0, and 1 to work. These are default Rx (pin 0), Tx (pin 1) on the Arduino.
So, my pushbuttons start with pin 2. Pin 13 on my Arduino standard (328p) is internally connected to an LED. I did not use pin 13.
The first part of a brain for each button will look like: MOD:0 - D0 - P:5 : 1
The MOD:0 is the Register address for the I/O, per Table 4 - Register Map, page 15 of manual. All inputs up to 15 will have this 0.
The D0 is from checking the box for bits, and setting bit number to 0. All of the I/O brains had to be like this.
The P:5, is the Config# in the Modbus setup table in Mach3. The pin address (Arduino pin #) is in the Modbus setup table, and is not entered into the brain checkbox's. This number is unique to each button, since each one has it's own config.
The last number above, : 1, is what the brain looks like when viewed in the Brain viewer. When you push the button, this 1 changes to a 0, zero. It does not show up when you make the brain.
So far, all is working well. I have (3) 10k potentiometers working, and they are actually easier than the buttons. The 328p Arduino has 6 analog inputs, which can be either Analog or Digital.
I am sure there are other configurations that will work with this program, but these numbers will get results.
Since an Arduino is about $30, this is a very nice, inexpensive solution for analog and digital I/O. If you need more pushbutton I/O than the small Arduino, the Mega is slightly more money, but has about more than triple the analog and digital I/O.
Hope this is useful.