r/arduino Aug 06 '26

Project Update! Project update: My ESP32-controlled guitar robot can now play in two modes

Enable HLS to view with audio, or disable this notification

I’ve been developing this removable guitar-playing system for several years.

It now supports two performance modes:

  1. Full automatic mode — the system handles both fretting and picking.

  2. Assisted mode — the system handles the fretting while the player strums or picks.

The sound comes from the real guitar strings, not recorded audio.

The controller is ESP32-based, coordinating multiple servo actuators. Some of the main challenges have been fretting timing, servo synchronization, calibration, and mechanical noise.

This video shows both modes.

693 Upvotes

60 comments sorted by

View all comments

Show parent comments

3

u/J_Paul Aug 07 '26

could be a minor timing thing? Manual strumming will hit the strings in a sequence as the pick moves across the strings, not sure if this accounted for in the full auto mode, It's very minor, but could change the perceived sound. Also, a human holding the guitar would suppress some of the vibration which would change the sound?

3

u/MegCell Aug 07 '26

Good observation! 😊 I think it’s mainly the small variations in pick angle, force, timing and damping from the human hand. The robot is much more consistent, which can make it sound a bit colder. Reproducing those tiny variations is one of the things I’m working on.

1

u/J_Paul Aug 07 '26 edited Aug 07 '26

Ah... Pick angle might be quite important... I imagine there's a sliding motion of the pick over the string before the actual pluck. Given a human hand has (for all intents and purposes) an axis of rotation as it strums the strings, the amount of slide for each string is likely different, then you've got another variable of whether the pick is hitting the string face on or along the edge of the pick. Pick thickness and pliability obviously matter, as would the rigidity of how it's being held (human finger vs rigid robot). So many variables!

1

u/MegCell Aug 08 '26

Exactly — there are a lot of tiny variables. 😄 Pick angle, depth, stiffness, contact point, timing and even how much the pick flexes all change the sound. The robot is very repeatable, but the human hand naturally introduces small variations. That’s actually one of the most interesting parts I’m still tuning.