This is a smarter variable watcher that replaces the standard built-in version. This version uses less CPU for large projects.
How to add the Smart Variable Watcher robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Scripting category tab.
- Press the Smart Variable Watcher icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Smart Variable Watcher robot skill.
How to use the Smart Variable Watcher robot skill
This is a smarter variable watcher that replaces the standard built-in version. This version uses less CPU for large projects.When large arrays are defined, it may take a long time for the grid to render the data. However, once rendered, the data will update much faster than the ARC built-in variable watcher.

1) The name of the variable. The variables in [ brackets ] are internal values and are not variables. For example, the volume or speed are set with functions. They are displayed here for convenience.
2) The type of the variable. I.E. string, number, array, etc...
3) Displays the number of characters if this is a string type
4) The value of the variable
5) Manually refreshes the variable list and data. This may be necessary if a variable has been deleted by using a ClearVariable command. If your code clears a variable and you're wanting the variable to no longer display in the list, press the Refresh button.
6) Clear all variables and their stored data
7) Display the string data as hex values
*Note: It is not recommended to run a production project with this robot skill. This is due to the resources needed for this skill. If variables are updated often, the processor will be updating this robot skill often and that takes performance from other robot skills that control the robot. This was designed for debugging, not for production use.
Future dev ideas:
- cache updates to a nonblocking list and update the grid in an interval
- allow specifying what variables to watch (or maybe just an option to ignore arrays)
I do have a variable watcher in my project. I didn't know it was eating up so much CPU. It's seems I was always adding to and debugging so I never removed it. Didn't think it was a problem and I had a lot of things going on. Thanks for the streamlined VW.
I've been spending most of my robot time this past couple years building robots and installing hardware because of a couple large B9 Robot rebuilds I'm doing. It's been a slow road. I've just been using basic ARC projects to test different section and functions of the robots. I'll soon (re)start the software/programming process on a grand scale. I'm really excited about all the new things ARC can do compared to just 3 years ago. Can't wait to get them into my robot.