This robotic kalimba plays melodies with an Arduino Nano

With roots in Africa, the kalimba is a type of hand piano featuring an array of keys that are each tuned for a specific note, and upon plucking or striking one, a pleasant xylophone-like sound can be heard. Taking inspiration from his mini kalimba, Axel from the YouTube channel AxelMadeIt sought to automate how its keys are […]

The post This robotic kalimba plays melodies with an Arduino Nano appeared first on Arduino Blog.

With roots in Africa, the kalimba is a type of hand piano featuring an array of keys that are each tuned for a specific note, and upon plucking or striking one, a pleasant xylophone-like sound can be heard. Taking inspiration from his mini kalimba, Axel from the YouTube channel AxelMadeIt sought to automate how its keys are struck and produce classical melodies with precision.

The design process started out with Axel determining the best mechanism for interacting with the small keys, and after hitting/plucking them using a range of objects, he settled on plucking individual keys with a small plastic actuator. Two servo motors were utilized to perform the action, with one motor sliding a gantry left-and-right, and the other moving a small plastic pick across the keys. Axel’s design underwent several iterations to get the sound correct since material thickness, the lack of a resonant backing, and a loud servo motor all contributed to reduced quality initially.

After perfecting the physical layout, Axel assembled the electronic components into a custom 3D-printed case, which includes spaces for the Arduino Nano, battery, charging circuit, and pushbuttons. The first two buttons cause the kalimba to play preprogrammed melodies, while the last one plays random notes with a random amount of delay in between.

The post This robotic kalimba plays melodies with an Arduino Nano appeared first on Arduino Blog.

An Arduino-powered robotic ukulele that plays itself

The ukulele has a bit of a reputation for being quaint, but it is a legitimate instrument like any other and that means it takes a lot of practice to play competently. Zeroshot is too busy building cool stuff to bother with all of that, so he put his skills to use constructing this robotic […]

The post An Arduino-powered robotic ukulele that plays itself appeared first on Arduino Blog.

The ukulele has a bit of a reputation for being quaint, but it is a legitimate instrument like any other and that means it takes a lot of practice to play competently. Zeroshot is too busy building cool stuff to bother with all of that, so he put his skills to use constructing this robotic ukulele that plays itself.

Like a guitarist, a ukulelist can play a note by strumming multiple strings at once or by picking individual strings. More exotic techniques are also possible, but uncommon and outside the scope of this project. The key to Zeroshot’s design is the mechanism that can both pick and strum. It does so by using two actuators: a servo motor to lift and drop the pick, and a stepper to slide the pick back and forth perpendicular to the strings.

An Arduino UNO Rev3 board controls those motors through a HiLetgo L293D motor shield, with a TMC2208 driver module for the stepper. The Arduino can lower the pick and strum it across all of the strings, or it can move to a specific string and pluck just that one. 

But it would be limited to only a handful of songs if it could only play open strings, so Zeroshot also needed to add hardware to hold the strings down on the fretboard. He chose solenoids for that job, held in a 3D-printed mount. With power coming from the motor shield, the Arduino can extend the solenoids to play any required notes.

Zeroshot designed the mount to accommodate up to 16 solenoids, for the first four frets across the four strings. When including open strings, that would give the robot up to 20 notes to work with. But a lot of songs only require a handful of solenoids, as Zeroshot demonstrated by performing Celine Dion’s “My Heart Will Go On.”

The post An Arduino-powered robotic ukulele that plays itself appeared first on Arduino Blog.