Skip to content

Automatic violin playing robot made for Hackclub Prototype 2025, using an SO101 robotic arm, MG996R servos, and 12 AAA batteries.

Notifications You must be signed in to change notification settings

newtontriumphant/Hackclub_Prototype_Fiddlestein

This branch is 54 commits ahead of AlexHe99/AMD_Robotics_Hackathon_2025_ProjectTemplate:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f68ce14 · · Dec 21, 2025

History

78 Commits
Dec 21, 2025
Dec 21, 2025
Dec 21, 2025

Repository files navigation

FiddleStein, a project for HackClub x AMD Prototype 2025!

Team Information!

Team: Hi, we're the Barbershop Trio, also known as Team 15! We're Max [@2mon], Sidd [@firestorm108], and Udo [@newtontriumphant]!

Summary: Automatic violin playing robot made for Hackclub Prototype 2025, using an SO101 robotic arm for bowing, MG996R servos for fingering, and 12 AAA batteries for power, and AMD-Powered AI. CircuitPython and TKinter provide a GUI that allows one of four preset songs to be chosen to be played on four servos.

Final Project Video

Submission Details

1. Mission Description

  • This robot can be used as a replacement for a human musician in an orchestra, bar, elderly home, or other settings. It can fill a gap in an ensamble and help the group have a complete sound.
  • It also helps train AI models in replicating human movement and technique, a difficult task for most AIs.
  • Additionally, it can be used to preserve musical genres and styles that would previously be lost.

2. Creativity

  • For this project we developed a new way to finger the strings of the violin. We use four servos that have custom PLA horns and TPU pads to allow us to play 20 unique pitches on the fingerboard. This allows us to play basic songs, like Twinkle Twinkle, Row Row Row Your Boat, and the ABCs.
  • We use a custom TPU gripper for the bow to adapt the awkward curvature to an easy to grab block, allowing us to easily move the bow back and forth across the string using the SO101.

3. Technical implementations

  • Our robot is trained on over 200 total sample episodes, providing it with enough data to reliably bow the violin. It is fully autonomous and does not require any human input other than selecting the song.

IMG_6344.1.mov
  • The model is trained on 10000 steps using AMD GPUs in a cloud enviornment, providing a good balance between speed and smoothness.
  • This model is then inferenced locally to autonomously power the SO101 robot arm which serves as the bow for the violin.
video.720.mp4

4. Ease of use

  • Our system can be adapted to be used on a variety of instruments, including but not limited to Viola, Cello, and Double Bass.
  • Our solition is easily adaptable to other similar projects that require linear back and forth motion over a period of time.
  • To control FiddleStein a shell script is ran that powers the robot's movement through a pretrained AMD AI model. A push button is attatched to an Adafruit Feather RP2040 Pink to control which song is playing and when to start the song. Vibrato is controlled using a seperate PWM controller with an adjustable strength and frequency. The LEDs automatically flicker and fade with the servo movement as the song plays.

Additional Links

image

Code submission

See below for our submission tree.

AMD_Robotics_Hackathon_2025_ProjectTemplate-main/
├── README.md - this file :)
└── mission
    ├── code
    │   └── Contains the Python, CircuitPython, and Arduino files powering the project.
    └── wandb
        └── Contains the latest run directory from our AI training.
    └── hardware
        └── Contains all CAD files for our project.
roject.
roject.

About

Automatic violin playing robot made for Hackclub Prototype 2025, using an SO101 robotic arm, MG996R servos, and 12 AAA batteries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 77.1%
  • C++ 22.9%