Brushless Motor Movement Panel icon Brushless Motor Movement Panel — Control brushless motor controllers (hoverboard-style) via EZ-B: configure direction, speed and optional brake ports for DIY robot movement. Try it →
Asked
1 Participant
Arcx Digital Monitor For Buttons

Arcx Digital Monitor For Buttons

Will this skill work with momentary pushbuttons? I'm currently using all of the ADC ports on my EZB to monitor many momentary buttons on my robot; I trigger ARC scripts when the voltage changes. If this Digital Monitor (ARCx) robot skill will work with these kinds of buttons, which approach is better: watching a digital port with this skill or sticking with the ADC approach?

Also - will this ARCx Digital Monitor skill be available for ARC? I’m referring specifically to the ARCx robot skill "Digital Monitor" and how it would integrate into my ARC project and scripts (JavaScript/Python) to trigger automation.



Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4 with Synthiam ARCx controls servos, sensors, camera and audio over Wi-Fi or USB serial, no firmware needed.
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
Script Scheduler by Synthiam Inc.
Flexible script scheduler for timed, solar, cron, and one-time runs with conditions, history, and parallel execution
Digital Monitor by Synthiam Inc.
Monitors EZB digital ports, debounces inputs, publishes globals, logs state, counts presses, and runs scripts on changes

ARC Pro

Upgrade to ARC Pro

Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Yes - Digital Monitor works great with momentary pushbuttons, as long as the buttons are wired as digital inputs rather than analog voltage dividers.

Which is better for momentary buttons?

Best practice: use Digital Monitor on digital ports

For pushbuttons, this is the better approach in ARCx/ARC because:

  • Buttons are naturally digital: pressed or not pressed
  • You get a clean true/false state
  • Digital Monitor can:
    • debounce the button
    • publish a global variable
    • run scripts on press/release
    • count presses
  • Scripts can simply read the variable instead of constantly polling the port

That makes it much more efficient and reliable than using ADC for buttons.

ADC is better only when the input is truly analog

Use ADC when the device produces a range of values, such as:

  • potentiometers
  • light sensors
  • pressure sensors
  • voltage-based button ladders

If your buttons are just simple momentary switches, ADC is the wrong tool unless you intentionally wired multiple buttons through resistor ladders to save ports.

Recommendation for your setup

Since you said you’re using ADC ports to monitor many momentary buttons, I’d strongly recommend switching to digital ports + Digital Monitor if you have the ports available.

Why:

  • cleaner logic
  • less chance of false triggering
  • easier scripting
  • no need to interpret voltage thresholds
  • better integration with ARC automation

If you need to monitor many buttons and are short on digital ports, then ADC can still work, but it is a workaround rather than the preferred design.

How ARCx Digital Monitor integrates with scripts

Digital Monitor publishes each button as a global variable, so your JavaScript or Python scripts can react to it directly.

Example JavaScript:

if (getVar("$StartButton")) {
  print("Start button pressed");
}

If you want to wait for a press:

if (ControlCommand("Digital Monitor", "WaitForState", "Start Button", true, 30000)) {
  print("Button pressed");
}

That is much better than repeatedly reading the port in a loop.

Important note about ARC vs ARCx

The Digital Monitor skill is an ARCx robot skill.

So:

  • It is available for ARCx
  • I would not assume it is available in ARC
  • ARC and ARCx are separate products/environments, and robot skills are typically built for ARCx

If your project is in ARC, the better route is usually to use the built-in ARC tools and scripting against digital ports directly, or convert the project to an ARCx workflow if you want to use ARCx robot skills like Digital Monitor.

In short

  • Yes, it works with momentary pushbuttons
  • Use digital ports, not ADC, for normal pushbuttons
  • Digital Monitor is the better approach for button logic
  • Digital Monitor is an ARCx skill, not something I’d count on for ARC

Helpful references

If you want, I can help you figure out the best wiring plan for your buttons and whether you should keep using ADC for some of them or migrate them to digital inputs. What are you ultimately trying to control with all those buttons?

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.