This article first appeared in The MagPi 69 and was written by Nicola King

Rome-based Alessandro originally began working on the project back in 2012, but life and other ventures took over, so his sewing machine hack was placed on the back burner for a while. However, he recently found time to complete this intriguing project, which makes use of an original Raspberry Pi Model B.

“I remember the idea came from reading the biography of Alan Turing, when I realised most modern technology evolved from simple machines like the Jacquard loom,” recalls Alessandro. Since then he’s built other CNC (computer numerical control) machines including a mill and a lathe.

All of his skills were called into play when building the embroidery machine, which involved metal brazing, woodworking, motion control, coding, and designing a graphical user interface.

He tells us that the 1950s Borletti machine was ideal for the purpose of this project due to its inherent ability to create embroidery designs using sewing foot adapters. “I only cleaned, oiled, and changed the wheel to fit a timing belt. This machine was also an incredible piece of good design, by Marco Zanuso (considered head of industrial design in Italy). Perfect for an attempt.”

The insides of the machine

Sew on and sew forth

Rather than requiring the user to move the fabric around by hand, Alessandro’s machine has a motorised system. The fabric is put into a metal frame which is moved along two axes by an X-Y table driven by two Nema 17 stepper motors, controlled by an Arduino Uno connected to a Raspberry Pi. A third stepper motor moves the Borletti’s handwheel via a belt and pulley system, with an optical switch used to check the needle position in case it goes out of sync.

“In every CNC application, the first movements are to understand the mechanical limits of the machine,” says Alessandro. “Every machine has its own limits. Once I found them (acceleration, max speed) the precision is absolute – more than needed by the fabric or design itself.”

Alessandro explains that he included an Arduino in the build because “at the beginning this was the only possibility.” If building the project from scratch now, he would have avoided this “because with GPIO and LinuxCNC [software to control CNC machines], this could be directly controlled by the Raspberry Pi.”

Sew fabulous

Running the CherryPy Python web framework, the Raspberry Pi acts as a web server which can be accessed remotely on any computer. Alessandro designed and programmed a sophisticated graphical user interface for the user to plan their designs using different thread colours.

He tells us there is no noticeable difference in the embroidery results compared to a modern commercial machine. “The only drawback is the speed, which [at 200 stitches per minute] is actually one sixth of the entry-level commercial machines.” By changing the wheel motor to a Nema 23, Alessandro hopes to increase the maximum speed.

The results are impressive, comparing well with those from modern commercial machines