I’ve only quickly skimmed Zen topics as they come across the forum, but it seems to be that some of what you want to do has been mentioned. From my uneducated point of view (and acknowledging that I don’t have a ZenZY machine), a couple of thoughts.
- With the phrase “completely non-technical household,” I would think of a physical joystick, not an electronic interface. Marlin has an interface for a joystick. Here is a long topic by the person who wrote that interface. You would get smooth movement with the ability to lock out the joystick while the g-code files are being processed…without having to add encoders.
Looking at the Marlin g-code, it seems that the interface to the SD-card-related g-codes would give you all the control you need for a non-technical interface. Something that emulates CD-Player for example.
- Do a wipe
- Play next file
- Play previous file
- Play specific file
- Abort current file
- Random play among a list of files
- Etc.
While I don’t know much about the Marlin code base, my first thought would be to hack Marlin rather than to add physical encoders if that is the road you go down for your joystick. Brainstorming, adding two g-code that are processed by the emergency parser would give you all the control you need…one to report on how full the queue is, and one to flush the queue. Note that these two g-code would have been helpful in solving some other problems that have come up in the forum.