Skip to the content
2 layers95 × 99 mmBraille Column Rods PCB, the printed circuit board in 3D

Experimental design for a braille display using build123d CAD in Python

Size
95 × 99 mm
Copper layers
2
Thickness
1.6 mm
Parts
151
Nets
215
Pads
626
Tracks, vias
1,776, 247
Pours
768
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
4 Sep 2024
Updated
30 Jun 2025

Overview

Braille Column Rods PCB is an open-source printed circuit board by KilowattSynthesis, from the KilowattSynthesis/Braille-Display-CAD repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 95 × 99 mm with 151 parts on 215 nets, routed with 1,776 tracks and 247 vias.

It is built around the MT910XET, AD116 and 74HC595, with the CD74HC4067M and RP2040-ZERO among its other parts. Its parts include 42 resistors, 40 capacitors, 28 ICs, 19 diodes and 6 connectors. It belongs with the lEDs and displays boards and the RP2040 boards of this library.

Main components

5

README

README.md

Braille-Display-CAD

Experimental design for a braille display using build123d CAD in Python

Interesting Parts

Explored Ideas

Pogo Spools

  • Laser printer fuser-like roller mask.
    • Branch: archive/pogo-spools
    • Files: ideas_pogo_spool_mask/
  • Made PCB with small stepper motors, tiny CAD parts (spools).

RF Inductors as Electromagnets

  • Use Mouser's "RF Inductors" selection, mounting an inductor vertically.

    • Branches: archive/inductor-smd-vertical, archive/inductor-smd-flat
    • Eaton makes good-looking ones. 3225 metric (1210 imp) is too big; 2520 metric (1008 imp) might be okay. 2012 metric (0805 imp) is great!
    • "Power Inductors - Leaded" are never small enough.
    • Filter to >= 20uH inductance. Filter to >=70 mA.
    • Examples (Vertical-Mount):
      • BWLD00241715 -> Not stocked in smaller quantities, though.
        • 2.4 mm x 1.72 mm x 1.52 mm
      • LBR2012T470M -> 0805 imp (2012 metric). 47uH. 75mA rated max.
    • Examples (Horizontal-Mount):
      • VLS201612CX-220M-1 -> 22uF, very good, but shielded.
  • Test results:

    • 4mm x 4mm x 3mm 33uH coil-wound SMD power inductor (ASPI-4030S-330M-T) can point a magnet. Magnets stick to the inductor always though.
    • Several inductors, up to 6mm diameter (and 1-2 MH), with 24V get very hot, but don't levitate a 1mm or 2mm neodymium magnet.
      • Good at pointing pointing the magnet, if it starts far away.
      • Cannot remove the magnet from the inductor once it's stuck.
  • Conclusion: RF inductors don't have enough magnetic force to levitate 1mm or 2mm neodymium magnets.

Nut/Bolt Grid

  • Turn a bolt in a threaded hole/nut. Each bolt is a dot. User directly touches the dot.
  • Movement can be done with one motor per dot (very tiny motors, maybe stacked), or motors can be moved between dots (CNC plotter style). Multiple heads can be used.
  • Branch: archive/cnc-plotter
  • Files: cad/nut_bolt_grid.py, cad/vertical_motor_layers.py

Silicone Sheet

  • Use CNC plotter to manipulate a silicone sheet which can pop up and down.
    • Branch: archive/silicone-sheet
    • Files: cad/silicone_sheet_mold/

Unexplored/Unrealized Ideas

  • Investigate bi-metallic strip with actuator.

  • Investigate shape memory alloy (SMA) approach. Benefit: Would be very quiet.

  • Should buy some 4mm solenoids.

  • Key and lock mechanism pushes up on the pins

  • Use GT2 belt (or similar) to press up on pins.

    • T2.5 belt is probably best - https://www.aliexpress.com/item/1005004668423141.html
    • Could try to TPU 3D print belt with the perfect braille pattern, in a closed loop. Teeth on the inside, and pattern on the outside.
    • Spring pushing on pogo pin flange, on solenoid-relieved cell frame.
  • Use CNC plotter to turn pins/bolts for placement. Use hex drive, plus solenoid to mate/un-mate. Build the plotter on a PCB with 3mm linear rails, belts, etc.

    • Branch: cnc-plotter
    • Bolt options - Search "M2.5 plunger"
    • Best option: M1.6 Grub Screw, probably.
    • Create top plate with Z-stacked nuts on it.
    • Screw driver or nut will move up and down and turn screws.
    • Search "Micro Linear Motor" for gantry.
    • Focus on M1.6 and M2.5 designs.
    • To move the screw:
      • Use a spring to push the bit up, and a solenoid to pull it down.
      • Use a hex bit maybe, or use rubber friction.
    • BOM:
  • Motors mounted on orthogonal PCBs, with rotating slanted plate to push on the pins.

    • Use magnets as the mating, somehow.
  • Microfluidics as valves.

  • MEMS on-chip stepper motor:

  • Double screw with balls and weird geometry.

  • Cams on 2.4mm diameter rods that run along each column of dots.

    • Each cam would have 8 positions, so 45 degrees per position.
    • Would probably need to move table up-and-down independently of the cams.
    • One motor per cam, probably.

Parts

151
QtyValueFootprintReferences
23100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C3, C14, C15, C17, C18, C19, C20, C21, C22, C23, C24, C33, C35, C37 +7
19LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD1, D2, D3, D4, D5, D6, D10, D11, D12, D13, D14, D15, D17, D18, D19, D20 +3
185k1Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R3, R4, R12, R16, R17, R18, R22, R26, R30, R34, R38, R39, R40, R41 +2
16330mResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R7, R10, R11, R14, R15, R20, R21, R24, R25, R28, R29, R32, R33, R36, R37
124.7nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC25, C26, C27, C28, C29, C30, C31, C32, C34, C36, C38, C40
12MT910xET00-lib-footprints:SOT-23-HallU17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27, U28
82k1Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5, R9, R13, R19, R23, R27, R31, R35
8DRV8847SPWRPackage_SO:TSSOP-16_4.4x5mm_P0.65mmU1, U2, U4, U5, U6, U7, U8, U9
8Stepper_Motor_bipolar00-lib-footprints:MicroStepper_4.7_ODM1, M2, M3, M4, M5, M6, M7, M8
410uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC10, C11, C12, C13
4AD116Package_TO_SOT_SMD:SOT-23-6U10, U11, U12, U13
4Motor_DC_With_MP00-lib-footprints:DC_Motor_6mm_OD_with_3_Stage_GearboxM9, M10, M11, M12
274HC595Package_SO:SOP-16_3.9x9.9mm_P1.27mmU14, U15
2Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3, J7
2MountingHole_Pad00-lib-footprints:Braille_Block_MountingHoles_M2_3xH1, H2
2SW_Push00-lib-footprints:PushButtonSMD_2.93x3.9SW1, SW2
2Screw_Terminal_01x02TerminalBlock:TerminalBlock_bornier-2_P5.08mmJ5, J6
110uCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC9
1CD74HC4067MPackage_SO:SOIC-24W_7.5x15.4mm_P1.27mmU30
1Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1Conn_01x0800-lib-footprints:SOICbite_clipProgSmallJ4
1RP2040-Zero00-lib-footprints:RP2040 ZeroU3

More from KilowattSynthesis/Braille-Display-CAD

2
  • 2 layers76 × 95 mmBraille Pogo Frame, the printed circuit board in 3D

    Braille Pogo Frame

    KilowattSynthesis/Braille-Display-CAD

    Experimental design for a braille display using build123d CAD in Python

    64 partsCERN-OHL-P-2.0

Similar boards

  • 2 layers90 × 86 mmBraille PCB Type-5-Vertical Motors, the printed circuit board in 3D

    Braille PCB Type-5-Vertical Motors

    KilowattSynthesis/Braille-Display-DC-Motors-Vertical

    Braille display POC using 0408 DC motors, vertically inline under each dot, to spin a bolt for each dot. Includes CAD, PCB, and Firmware.

    142 parts1CERN-OHL-P-2.0
  • 2 layers57 × 78 mmCuebit, the printed circuit board in 3D

    Cuebit

    akita11/Cuebit

    micro:bitからCue:bitへのコマンド(通信プロトコル:UART 9600bps N81)は以下です。以下の"NNN"は数値(10進数)で与えるコマンドパラメータです。また各コマンドは行末コード(0x0d or…

    61 parts1MIT
  • 2 layers100 × 100 mmPT2one, the printed circuit board in 3D

    PT2one

    akita11/PT2

    89 partsMIT
  • 2 layers95 × 99 mmBraille Column Rods PCB, the printed circuit board in 3D

    Braille Column Rods PCB

    KilowattSynthesis/Braille-Display-Column-Rods

    Braille display POC using tiny stepper motors to drive columns of the display

    161 partsCERN-OHL-P-2.0
  • 2 layers127 × 117.5 mmDiy ert, the printed circuit board in 3D

    Diy ert

    CainPatel/diy-ert

    A $150 four-electrode earth resistivity meter (Wenner array): Arduino, AD620, ADS1115. Documented failure-first as an engineering log.

    44 parts1MIT
  • 2 layers93.5 × 124.5 mmPG800-JMR, the printed circuit board in 3D

    PG800-JMR

    calphool/JMR-800

    JMR-800 project, clone of PG-800 hardware

    61 parts1
  • 2 layers150 × 130 mmRoboDay, the printed circuit board in 3D

    RoboDay

    GlemR/temp

    temporary

    38 parts
  • 2 layers236.4 × 229 mmM01, the printed circuit board in 3D

    M01

    jvegaf/R3M1XXX

    161 parts

Questions

How big is the Braille Column Rods PCB PCB?

It measures 95 × 99 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Braille Column Rods PCB use?

151 parts, built around the MT910XET, AD116, 74HC595 and CD74HC4067M. 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 Braille Column Rods PCB KiCad files?

From the KilowattSynthesis/Braille-Display-CAD repository on GitHub, at the commit this page was made from: the board is migrated_idea_column_rods/Braille-Column-Rods-PCB/Braille-Column-Rods-PCB.kicad_pcb and its schematic idea_pogo_spool_mask/pcb/Braille-Pogo-Frame/Braille-Pogo-Frame.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Braille Column Rods PCB design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).