← Piezo Motor / Articles
§6Article · 6 of 13

Independent Research · 3D-Printed Piezo Stick-Slip Motor

The Open-Hardware Piezo Driver Whose Published Gerbers Had No Ground Pour

Published · Last updated

In April I signed this project up for the Liao 2022 open-source three-channel piezo drive board, Arduino Mega into DAC0800s into TDA2050s, roughly $50–80 in parts [11; project CLAUDE.md §2]. The design was published alongside a peer-reviewed paper, and anyone could download the schematic, the firmware, and the Gerbers, which are the copper-layer drawings a factory uses to make the board.

I sent the Gerbers to a fab and got back professionally made boards that could not work. There was no ground pour on either copper layer, and sixteen holes connected to nothing, even though the schematic said they were grounded. It took me weeks to believe that, because for most of that time I assumed the problem was me.

01

Ordering the boards

The board's design files came from the authors' OSF repository. Once the boards came back, populating the first one was my soldering final exam (§M3b): SMD 0805 passives, through-hole ICs, electrolytics, etc.

02

First signs of a problem

When I checked the populated board against the published schematic, points the schematic said were ground didn't behave like ground under the multimeter, and continuity that should have existed didn't. I assumed the mistake was mine, since I was a few weeks into electronics and the board was designed by a research group and published alongside a peer-reviewed paper. It seemed overwhelmingly more likely that I had botched a joint, misread the schematic, or misunderstood what a ground pour even was, so I spent real time trying to find my own error.

However, the measurements kept contradicting the idea that the mistake was mine. One error on that board really was mine, a bad ground-end joint on R3 of DAC channel 1, which I caught and reflowed along the way [builder correction, 2026-08-06; earlier project notes had filed this joint under the v2 bring-up, see the corrections log]. But one reflowed joint couldn't explain missing continuity all over the board, so eventually I opened the Gerber files themselves in a Gerber viewer, layer by layer.

03

Sixteen floating holes

Neither the top copper layer nor the bottom one had a ground pour, so every through-hole that was supposed to connect to ground through the pour connected to nothing. Counted against the schematic, sixteen ground-net through-holes were floating: U1 pins 1 and 2, U2 pin 1, and P2 pins 1 and 10, on each of the three channels, plus P1 pin 2 [project CLAUDE.md §2, inspection confirmed 2026-05-25].

The board's entire ground scheme was absent, so as fabricated it could not function. I felt vindicated, because my measurements had been right for weeks. I also felt something closer to unease, because if these published files were wrong, then "published" no longer meant "correct."

04

Contacting the author

I wrote to Prof. Edwin Hwu, whose group published the board, on May 22, sending the evidence from the Gerber viewer. The full sixteen-hole count went into the log three days later, on May 25. Nothing came back the first week. I didn't send a follow-up, because one clear email with the evidence felt like the right amount and pestering a professor didn't.

The silence forced me to decide that if the files might never be fixed, I'd rebuild the board myself as a fallback. That is how I started learning KiCad, and §M3c tells that story: the schematic re-drawn from the paper with the ground net done right and a partial layout.

05

The reply

Eight days after my email, the reply arrived (I went back and checked the timestamps, sent May 22 and answered May 30). It was brief, with corrected Gerber files attached and no explanation of how the broken files ended up published. A longer reply would have been nice, but a working file is better. The corrected Gerbers went to JLCPCB, and the new boards came back with proper pours and the original designators on the silkscreen.

06

Second population: a working board

I populated the v2 board in one overnight session, June 11–12, with all fresh parts and the DAC0800s in sockets (§M3b). Bring-up went in stages against the project's written protocol, and this time the board came up clean, with nothing flagged and nothing to reflow [builder, 2026-08-06; the one bad R3 joint of this story belongs to the v1 board, a few sections up].

The protocol itself had one wrong row in its first revision, which told me a compensation capacitor went to ground when it actually goes to −15 V, and the corrections log caught the error. And then the board worked, three channels of drive electronics.

07

Lessons about open hardware

If you are about to fab a published board, open the Gerbers in a viewer first and continuity-check the ground net against the schematic. Ten minutes of that would have saved me a board order. Also, believe the multimeter over the PDF, even when the PDF is peer-reviewed and you are a few weeks into electronics and certain the problem is you, because my multimeter was right the whole time. Start the fallback during the silence, too. I never had to fab mine, and building it was still the right call.

On redistribution. The corrected Gerbers came to me in private correspondence, so I asked before re-hosting them. The answer came back on August 9, "The online repository is not changeable, you can make yours so I can direct other people to use your fix." So the corrected files live in this project's repository, marked as the fixed version, credited to the paper's authors, with a note on what changed, under the same CC BY-SA 4.0 license the original design files carry on OSF. Anyone he sends there can find them right away.

The board now existed and powered up. It still had to prove it could turn firmware into a clean 15-volt sawtooth, which took its own round of measurement and correction, including one number the whole project had been quoting wrong (§M7).


08

Postscript (2026-08-20)

The loop closed better than this chapter dared to hope. In mid-August I sent Prof. Hwu a photo and a video of the motor his board now drives. He answered within days. He'd like more videos to share on his YouTube channel, linking back to this repository, and attribution without co-authorship is fine by his group. He also read the hardware from one photo and sent back two suggestions: a magnet-ball foot on the steel of a utility-knife blade for a durable contact, and his paper's rigid magnet coupling for the stack, with the one-line diagnosis that printed parts are soft and absorb the stack's motion. Both are being applied as I write this. A saga that started with broken published files ends with the original author advising the rebuild and offering to amplify it.