Skip to the content
PCBKitNew board
2 layers85.8 × 86.7 mmStencil, the printed circuit board in 3D

This project aims to recreate the Optacon (OPtical to TActile CONverter), a reading aid for the blind. The user moves a small camera module over a document to scan one letter at a time.

Size
85.8 × 86.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
106
Pads
424
Tracks, vias
940, 154
Pours
4
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
19 Apr 2022
Updated
11 Apr 2024

Overview

Stencil is an open-source printed circuit board by wselsbe, from the wselsbe/optacon repository on GitHub. It is a 2-layer board of 85.8 × 86.7 mm with 64 parts on 106 nets, routed with 940 tracks and 154 vias.

It is built around the ESP32-S3-WROOM-1-N8, M3406-ADJ and SRV05-4. Its parts include 14 connectors, 10 resistors, 8 capacitors, 6 ICs and 4 switches. It belongs with the ESP32 boards of this library.

Main components

3

README

readme.md

Optacon

This project aims to recreate the Optacon (OPtical to TActile CONverter), a reading aid for the blind. The user moves a small camera module over a document to scan one letter at a time. The main module has a "tactile display": a 6x24 array of vibrating pins, so the user can feel the shape of the letter being scanned with their fingertip.

The vibrating pins are actuated by piezoelectric bimorphs, similar to those used in refreshable braille displays. The Optacon uses vibrating pins instead of static, and achieves a higher pin density: 1mm x 2mm versus 2.5mm x 2.5mm. The following videos show the display in action. The piezo bimorphs actuate at around 250Hz, the motion appears slowed down by a stroboscopic led.

optacon pins optacon pins

The high density tactile display remains state of the art. Even now, 50 years later, there is no technology available that achieves the same high density while still remaining portable and battery powered.

Recreating the tactile display

The smallest commercially available piezoelectric actuators are those meant for braille cells, and are 2.5mm wide. No piezo manufacturer wanted to try to create narrower actuators.

My solution is to start with an off the shelf 40mm x 20mm x 0.9mm actuator, and dice it into 20 individual parallel actuators with a wafer dicing saw. This uses a very precise air bearing spindle with a very thin (55 micron) diamond blade to cut through the piezoceramic. Because the blade is water cooled, the piezoceramic actuator remains below the curie temperature (about 150°C) and does not lose its polarisation.

Holding and mounting the piezoceramic actuator for dicing

Holding the actuators during and after dicing proved challenging. Typically silicon wafers are mounted with UV dicing tape, but this tape is expensive. Another potential solution is heat release tape, where the adhesive softens at higher temperature (but still below the piezoceramic curie temperature), but this is similarly expensive.

I got some success by using Crystalbond 509: by heating it to 74°C on a hotplate I could apply the adhesive to a glass disc, add the piezoceramic, and letting the adhesive cool down to harden. The disc is then held in place the the dicing saw's vacuum chuck. But transferring the diced actuators to a pcb, while still remaining parallel after dicing, proved to be too difficult. The Crystalbond 509 has to be released by using heat and a solvent (acetone), without affecting the second adhesive used to attach the piezoceramic reeds to the pcb.

The key proved to be in reversing the steps.

  1. First populate the pcb and reflow solder as usual
  2. Apply the conductive adhesive on the pcb actuator pads with a stencil. I'm using MG Chemicals 8331S 2-part or 9410 1-part silver epoxy.
  3. Attach the piezoceramic and heat-cure the epoxy on a hot plate or in a reflow (toaster) oven. The above epoxies can cure below the curie temperature.
  4. Mount the pcb to the glass disc with Crystalbond 555-HMP. Although 555 has much lower tensile strength compared to 509, the larger surface area of the pcb is enough to keep it in place. The silver epoxy provides enough shear strengths to hold the individual actuators on one end. By applying the Crystalbond 555 on the underside of the piezoceramic through the slots in the pcb, the free ends of the diced piezoceramic reeds remain supported.
  5. Dice the piezoceramic.
  6. Crystalbond 555 is water soluble, any adhesive exposed to the water cooling from the dicing blade will be removed quickly while dicing. To detach the pcb from the glass disc it can be placed in a heated ultrasonic cleaner.

Electronics

Actuator board

The actuator board is designed around 2 components: a high voltage piezo driver, and high voltage shift registers . All components are chosen for small size and low height, to keep the boards stackable. The tallest component is the inductor at 1.2mm. The passive components are 0603 for manual pick and place.

Piezo Driver

The TI DRV2665 can output 100V with only an inductor and capacitor. It has an I2C interface and an analog input. Alternatives are DRV2667 (pin compatible) and DRV8667 & DRV2700 (analog only) The inductor TDK VLS3012HBX-3R3M is chosen for low height, low resistance (150mΩ), and high current (2.37A temp rating). The capacitor is rated for 200V. TI has an excel sheet to help calculate the values for the inductor, capacitor, and feedback resistors.

To increase the efficiency the piezo driver is powered from VIN (battery or usb). The I2C lines are pulled up to VDD (3.3V), compatible down to 1.8V

The piezo driver has a differential output, which can drive piezos at 200V peak to peak. Because of the shift registers only one output (up to 100V) is used. Without input the outputs float at half the boost voltage, ideally the external controller should make sure the input is pulled down.

The I2C and analog input pins are broken out to the FFC connector.

Shift Registers

The Microchip HV509 high voltage shift registers are used to address the individual piezo actuators. There are no real alternatives available in QFN or similar low height package. The common BP pin is connected to the common bottom & top electrodes on the piezos. The individual outputs go to the center electrodes. There are 16 outputs per shift registers, 10 are used on each shift register, the other 6 are unused. Diode D1 is needed to bias the output transistors to at least VDD before the high voltage is enabled. The datasheet says the minimum voltage is 50V for the outputs to switch. In practice this does not look like a major issue: if the HV is a sine wave they might switch late, but will still pass through the lower voltage after switching. (Needs further testing)

Both shift registers are chained together, the SPI pins (clock, data in, data out) and Latch and Polarity are broken out to the FFC connector

Motherboard

The motherboard is designed to drive several actuator boards (up to 6), a future revision will accept external input such as a camera to read printed letters. It's based on an ESP32-S3-WROOM-1 module. Currently the goal of the motherboard is to act as a controller and interface to the actuator boards. At first, the firmware should simply generate a sinewave and step through the individual actuators, as a test for the actuator boards.

Parts

64
QtyValueFootprintReferences
12Conn_01x12_MountingPinOptacon_common:Jushuo_AFC11-S12IJ1, J1, J2, J2, J3, J3, J4, J4, J5, J5, J6, J6
10SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP2, JP2, JP3, JP3, JP4, JP4, JP5, JP5, JP6, JP6
6FiducialFiducialKiKit_FID_B_1, KiKit_FID_B_2, KiKit_FID_B_3, KiKit_FID_T_1, KiKit_FID_T_2, KiKit_FID_T_3
45.1KResistor_SMD:R_0603_1608MetricR1, R1, R2, R2
4CCapacitor_SMD:C_0603_1608MetricC1, C1, C4, C4
210µFCapacitor_SMD:C_0603_1608MetricC3, C3
23.3µHOptacon_common:TDK_VLS_3012L1, L1
231.6kResistor_SMD:R_0603_1608MetricR3, R3
24.7µFCapacitor_SMD:C_0603_1608MetricC2, C2
26.98kResistor_SMD:R_0603_1608MetricR4, R4
2BOOTButton_Switch_SMD:SW_SPST_PTS810SW2, SW2
2ESP32-S3-WROOM-1PCM_Espressif:ESP32-S3-WROOM-1U3, U3
2M3406-ADJPackage_TO_SOT_SMD:SOT-23-5U2, U2
2RResistor_SMD:R_0603_1608MetricR5, R5
2RESETButton_Switch_SMD:SW_SPST_PTS810SW1, SW1
2SRV05-4Package_TO_SOT_SMD:SOT-23-6U1, U1
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP1
2USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11J7, J7

The 62 most common of 64 parts.

Questions

How big is the Stencil PCB?

It measures 85.8 × 86.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Stencil use?

64 parts, built around the ESP32-S3-WROOM-1-N8, M3406-ADJ and SRV05-4. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Stencil KiCad files?

From the wselsbe/optacon repository on GitHub, at the commit this page was made from: the board is motherboard/export/stencil_solderpaste/stencil.kicad_pcb and its schematic actuator/actuator.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Stencil design in my own project?

Its repository states no licence, so its author keeps all rights: ask wselsbe before reusing the design.

More from wselsbe/optacon

4
  • 2 layers94.9 × 105.2 mmStencil, the printed circuit board in 3D

    Stencil

    wselsbe/optacon

    This project aims to recreate the Optacon (OPtical to TActile CONverter), a reading aid for the blind. The user moves a small camera module over a document to scan one letter at a time.

    122 parts
  • 2 layers31.7 × 90.2 mmActuator, the printed circuit board in 3D

    Actuator

    wselsbe/optacon

    This project aims to recreate the Optacon (OPtical to TActile CONverter), a reading aid for the blind. The user moves a small camera module over a document to scan one letter at a time.

    38 parts
  • 2 layers42.9 × 71.7 mmMotherboard, the printed circuit board in 3D

    Motherboard

    wselsbe/optacon

    This project aims to recreate the Optacon (OPtical to TActile CONverter), a reading aid for the blind. The user moves a small camera module over a document to scan one letter at a time.

    28 parts
  • 2 layers22.7 × 33.2 mmConnector, the printed circuit board in 3D

    Connector

    wselsbe/optacon

    This project aims to recreate the Optacon (OPtical to TActile CONverter), a reading aid for the blind. The user moves a small camera module over a document to scan one letter at a time.

    3 parts

Similar boards

  • 2 layers46.3 × 53.3 mmLilypad V5, the printed circuit board in 3D

    Lilypad V5

    LilypadVR/LilypadVR

    Full Body Tracking for VR, based on SlimeVR

    61 parts
  • 4 layers40 × 65 mmP-1000011 Okra Cicada 4G PCBA, the printed circuit board in 3D

    P-1000011 Okra Cicada 4G PCBA

    EnAccess/Cicada-GSM-HW

    IoT Communications Module for Energy Access. A quick way to get production ready, bi-directional communications for your IoT embedded device.

    95 parts12MIT
  • 2 layers60 × 146.5 mmTilda6-bot, the printed circuit board in 3D

    Tilda6-bot

    emfcamp/TiDAL-Hardware

    88 parts4
  • 4 layers40 × 65 mmP-1000101 Cicada WiSun, the printed circuit board in 3D

    P-1000101 Cicada WiSun

    EnAccess/Cicada-WiSUN-HW

    IoT Communications Module for Energy Access. A quick way to get production ready, bi-directional communications for your IoT embedded device.

    118 parts
  • 2 layers40 × 40 mmTopaz's Board, the printed circuit board in 3D

    Topaz's Board

    picovrfbt/PicoVR-Trackers

    A Collection of trackers & Designs as well as documentation for PicoVR Trackers

    49 partsApache-2.0
  • 4 layers299 × 99 mmLaunch lite, the printed circuit board in 3D

    Launch lite

    system76/launch

    System76 Launch Configurable Keyboard

    225 parts1.4kGPL-3.0