Your WEFT UI Board


The WEFT board you’re getting is called the WEFT UI Board, to differentiate it from past boards and keep the project’s versions cleaner. The repo for this board is here.


  • Teensy 3.2 with I2C lines broken out and pins 5, 6, 8, and A14 also in use.
  • Pushbutton Encoder. Using the Teensy Encoder library.
  • OLED screen with 128x32 pixels, addressable using the Adafruit SSD1306 library
  • Fyber Labs Haptic Flex module (DRV2667 breakout)
  • The Teensy’s DAC pin (A14) and the DRV2667’s analog input pins are connected on this board; you can connect an external analog source by cutting the two traces here, where the yellow circles indicate: uiboard

Wait, a Piezo module?!

Heh, yes, in the last few months working on making my older WEFT boards safer and more efficient, I realized that you can use the whole family of piezo drivers in an electrovibration context! The only differences are that we leave the negative-swing side of the piezo connections open, and use ground instead. We’re using the DRV2667 because, as you will see, it has excellent support for digital waveform description, a built-in current limit, and a built-in signal amplifier to take board-level DAC output and send it directly out the boosted piezo output.

I admit I feel a little sheepish presenting this board, instead of the older works that had more original and inventive circuitry on them! But I want you to have the most possible range of expression and the least possible frustration, so here we are.


One significant departure from the previous board, the LEVER board, is that the high voltage generation and signal amplification are handled by an IC, the TI DRV2667. I’m super-grateful to Fyber Labs for making a breakout board for this IC available on Tindie.

The next version of the WEFT board ecosystem will have some more electrovibration-specific features, and integrate the DRV2667 directly.