Introduction
This post is part of the Vibro-Tactile Gloves post, focusing only on the details needed to create and operate the gloves.
Download CAD and PCB Files:
Use this link to download the necessary files for the PCB, 3D parts, and the firmware. The source files for the PCB and 3D parts are also given.
The README files have additional information about each component.
Electronics
Ordering the PCB from JLCPCB:
- Download the following PCB related files from https://github.com/HobbyPhysics/vCR-Glove/commits?author=HobbyPhysics
- Gerber and drl Files (Zip Folder): DAEX_system_v1-job-1.zip
- BOM file: DAEX_system_v1_BOM.csv
- Position file: DAEX_system_v1-top-pos.csv
- If desired you can also download the KiCAD project file to view the schematics, PCB layout, and 3D rendering.
- Sign up and Log in at https://jlcpcb.com/ and click on Order.
- Upload the Gerber and drl zipped folder. This will generate top and bottom images of the PCB. Click on these to enlarge and carefully inspect, comparing with the KiCAD PCB image shown previously. Do not exit the images, just go back if needed (otherwise the session may end).
- Check that the thickness (1.65mm) and number of layers (4) is correct.
- Important: Scroll down and click on the switch to request Assemble. Otherwise, you will only get the unpopulated PCB.
- Click on Continue. Upload the BOM and the Pos files. If errors occur to inventory shortages, you may have to find substitutes for components that are in stock using their part catalog.
- It is crucial to check the orientation of all components, especially ICs, connectors and electrolytic caps. The JLC app allows you to manually adjust component positions and orientations. Use this until all components appear as they do in the 3D rendering shown below.
- Continue to payment. Shipping and duties tend to double the parts and labor costs.
KiCAD PCB Design & 3D View
Mechanical Parts
Ordering 3D Printed Parts from JLC3DP:
- Download the following files from https://github.com/HobbyPhysics/vCR-Glove/tree/main/3D_Printing/DAEX_Housing/STL :
- DAEX_lower_plate.stl
- DAEX_tapper.stl
- DAEX_upper_housing.stl
- Download the following files from https://github.com/HobbyPhysics/vCR-Glove/tree/main/3D_Printing/Electronics_Enclosure/STL :
- vCR_glove_enclosure_bottom.stl
- vCR_glove_enclosure_top.stl
- These files were generated using OpenSCAD. If you download OpenSCAD, you can view and alter the DAEX housing using the SCAD files found in
- https://github.com/HobbyPhysics/vCR-Glove/tree/main/3D_Printing/DAEX_Housing/OpenSCAD_Source
- https://github.com/HobbyPhysics/vCR-Glove/tree/main/3D_Printing/Electronics_Enclosure/OpenSCAD_Source
- To order parts, sign up and Log in at https://jlc3dp.com/ and click on Order Now.
- Click on 3D Printing, then Upload 3D models and specify all stl files. You should see images of each part.
- For each part, select Edit Specifications:
- For the 3 DAEX housing parts, select MJF (Nylon), PA12-HP Nylon, Black, surface finish Yes, thread No, and quantity 8 or more each (enough for two hands), Product Desc: select Enclosure, Plastic Enclosure. Click Save. If there is a printing risk indicated (thin walls), select yes to accept the risk.
- For the 2 enclosure parts, select Edit Specifications and select SLA Resin, Black Resin, Surface Finish Yes, thread No, and quantity 2 or more (enough for two hands), Product Desc: select Enclosure, Plastic Enclosure. Click Save. If there is a printing risk indicated (thin walls), select yes to accept the risk.
- Click on Submit Order.
- Continue to payment. Shipping and duties tend to double the parts and labor costs.
OpenSCAD Renderings of the Housing
OpenSCAD Renderings of the Enclosure Box
Assembly
Useful Tools for the Project
Vibrator Components and Assembly
Haptic Exciter
Dayton Audio DAEX-9-4SM Haptic Feedback Transducer 9mm 1W 4 Ohm (~$5)
Alternative: ASX02404 EXCITER 0.25W 4OHM 78DB 480HZ (improved contacts)
Housing Screws (McMaster Carr)
Contactor screw for Tapper: nylon 92492A70, McMaster-Carr; use steel M2.5 as tap for the tapper hole. Make sure the tap is perpendicular to the disk (see the jig diagram below).
0.6” wide elastic strap https://a.co/d/0ff3GFZ1
VELCRO Brand Heavy Duty Fasteners, Black, 4 x 2 in Strips, 8 Sets | Industrial Strength Adhesive Stick On Tape Fasteners
Assembling the Vibrator Housing
- Tap threads into the Tapper disk hole, using a jig such as the one shown below to clamp the disk and a M2.5 tap or screw. Make sure the tapped hole is axial, not crooked.
- Thread a nylon M2.5 bolt (the contactor) into the Taper hole a few threads.
- Peel off the release liner from the exciter ring and adhere it to the Tapper disk, with the cylindrical protrusion pointing into the ring hole, and the contactor bolt pointing out.
- Solder AWG 28 leads to the exciter connectors on the contactor side (red wire to red contact). For the DAEX, these contacts are fragile PCB tabs. For the PUI exciters, solder to the rivet (not the lug) on the contactor side. Clip off the lugs so the exciter can fit into the housing. For either exciter, solder quickly to avoid melting and distorting the plastic. (Image A).
- Insert the exciter + contactor into the upper housing with the contactor pointing into the housing. Push the wire into the channel around the exciter frame and out the side channels. (Image B)
- Screw down the lower plate as shown in Image C, using the self tapping M3 bolts.
- The contactor bolt should be approximately centered in the housing hole. Adjust the height of the contactor bolt to be ~ 0.5 mm above the finger groove using a small Phillips screwdriver while pressing down to avoid twisting the tapper disk off the adhesive ring. (Image D)
Vibrator Strap Assembly
*For best adhesion you can add 5-minute epoxy between the elastic strap and the adhesive on the hook and loop.
Control Unit Components and Assembly
APIELE 12mm Momentary Push Button Switch Mini Round Switch Waterproof 1A 250V AC SPST NO 2 Pin PBS-33B with Pre-soldered Wire 6Pcs (Green)
MECCANIXITY 10pcs RK097N B20K Potentiometer, 3Pin Single Linear Rotary Seal Amplifier Logarithmic Potentiometers 15mm Knurled Shaft with Green AG2 Plastic Knob Vertical for Audio Amplifier
mxuteuk 8pcs MTS-102 3 Terminal 2 Position SPDT Mini Miniature Toggle Switch Car Dash Dashboard ON/ON 5A 120V 2A 250V
MakerHawk 3.7V Lipo Battery 1000mAh Rechargeable Lithium Polymer Battery 803040 Micro Ph1.25 Connector Integrated Protection Circuit with USB Cable for Electronic Device (2 Pcs)
TUOFENG 28awg Flexible Silicone Wire, 43 ft Each | Tinned Copper Wires, Silicone Rubber Insulated, 6 Different Colored 43ft Each, OD: 1.2 mm, Stranded Wire Hook up Wires
Chanzon 3:1 Ratio 1/16" (1.6mm) Heat Shrink Tubing 8Ft Roll Black | Marine Grade Waterproof Adhesive Lined Polyolefin Sleeving Wrap 2.5M Roll
- Left and Right control units are identical.
- The battery is adhered to the bottom of the enclosure with double-stick foam tape (1mm thick). The existing battery connector was replaced with a JST PH 2.0mm connector, soldered and heat shrink insulated. Keep it disconnected until the wiring is complete.
- Solder pin headers to the Xiao breakout board.
- Solder short leads to the + and – Batt pads under the Xiao board BEFORE soldering the Xiao header to the PCB. Solder each lead to the corresponding pads Batt +/- on the PCB.
- Solder the Xiao nRF52840 pins to the PCB, oriented with the USB in the enclosure slot. Make sure the board is pressed flush into the PCB holes.
- Connecting wire is 28 AWG silicone insulated, used for the potentiometer, switch, and button connections. Trim each wire, remove about 3mm of insulation from the ends and tin them with solder. Solder each to the PCB, as shown below. Orient the switch so that ON is up.
- Press in the 3mm LEDs and orient their short leads to face the same direction. Secure with adhesive such as 5-minute epoxy. Solder all the cathode leads (shorter lead) together. Solder the longer anode leads and the common cathodes to the PCB as shown in the image.
- Press the battery connector into its connector, threading the wire through the PCB slot. You may have to unscrew the PCB to do this.
- Screw on the lid, making sure the LED wires do not interfere with the 4 JST connectors.
Wrist Strap
The wrist straps were cut from NEOLOOP sheets (North Coast Medical NEOLOOP Sheets, Black, 1/8in (3.2mm), 12in x 18in (31cm x 46cm) (NC15758-B) UPC 768627001229). Rolls of strap material are also available. North Coast Medical NEOLOOP Sheets – Rehab Supply Shoppe
The top surface of the strap has loop fabric that sticks to a piece of hook material adhered to the bottom of the control unit. Another piece of hook material is adhered near the end of the strap on the neoprene side to secure the strap around the wrist.
Optional Clock
A digital clock (or other timepiece) can be adhered to the control box using hook and loop fabric adhered to the back of the clock and the top of the box. One option for a clock is:
Frienda (3 Pieces) Mini Digital Clock, Stick-on, Battery-Operated Self-Adhesive Bracket
Connecting Control Units to Exciters
- Leads from the exciter are threaded through holes in the elastic straps for each finger. They are trimmed to a short length and tinned.
- Female JST-PH 2.0 connectors and pigtailed male connectors were purchased, described below. The exciter leads were soldered to the female connectors and insulated with shrink tubing (1/16”).
- The cables between the exciter and control unit connector are made from pigtailed JST-PH 2.0, cut to length, soldered together and insulated with shrink tubing. The leads are twisted to reduce clutter and for stiffness.
- The 4 leads can be organized between hook and loop fabric as needed.
All connector leads were made from: 60 Pairs 28AWG 150mm Mini Micro JST PH 2.0mm Pitch 2 Pin Female Connector and Male Plug Wire Cable, from Amazon.
Completed Devices
Parts Cost
Many of the parts for this project were bought at quantities greater than what is needed to make just two units, so the cost per device may be inflated. The most expensive items were the assembled PCBs (minimum of 5) and the 3D printed parts. You may be able to find lower cost suppliers for the PCB and 3D print parts.
With those caveats, the cost for a pair of devices is about $500. For four devices the cost per pair is about $400.
Firmware
Download Firmware: vCR-Glove_v8.ino from vCR-Glove/Firmware/vCR_Glove/vCR_Glove.ino at main · HobbyPhysics/vCR-Glove
Open the README file in the Firmware folder for details on how to upload the firmware to the left and right control units.
Control Parameters (set in Arduino IDE)
Open the README file in the Firmware folder for details on how to change the session parameters.
TIMER_ON: starts the timer with reminder that the glove is still powered and should be switched off.
BILATERAL_MIRROR: switch between both hands use the same shuffle sequence, or uncorrelated.
ALL_ON: every burst slot activates all four fingers simultaneously, or normal operation of random single finger.
SINGLE_FREQUENCY: every burst uses 250 Hz, or randomized multi-frequencies.
JITTER_FRACTION: sets the fraction of delay time to start each burst (usually 0 or 0.235)
LED_ENABLE: allow LEDs to blink during each channel burst
SINGLE_CHANNEL_TEST: causes steady repeated bursts or normal operation
Usage
Attaching to the hands
- Note the wire leads to the small finger vibrator are shorter than for the other fingers. Use this to distinguish left from right units. On the left unit, the shorter lead is channel 1. On the right unit the shorter lead is channel 4.
- Place the digital clock on the desired control unit.
- Adjust the straps for each tactor to each finger using a tabletop for support. The tactor straps are elastic with hook/loop fabric. The finger should be pushed up to the curved end of the finger groove. Adjust for a snug fit, not too tight. Remove the vibrator, keeping the straps as adjusted.
- Adjust the contactor screws up or down so they protrude about 0.5mm (thickness of about 6 sheets of paper). Make the adjustment with a small Phillips screwdriver, pushing down until the contactor is at its lowest point then turning to the right to reduce the height, or to the left to increase it. You should be able to feel the contactor protruding from the hole with the power off.
- Wrap the strap for each control unit around your wrist with the controls facing toward the body. Adjust until snug but not too tight.
- Starting from left to right, place the vibrators on each finger, making the sure the wires are along the left side of the finger, above the hand and are not tangled. Adjust so that the contactors are directly under each finger. Use the top hook and loop strips to help organize the leads.
- To remove, place your hands on a tabletop and slide off each tactor. Then undo the wrist straps.
Starting and Stopping
- Each control unit has a Power switch, a Start button, and a Volume control.
- To operate using both hand units:
- Turn on both unit’s power switches (up). You should see a flashing blue LED looking into the USB connector.
- Press a green Start button briefly on either unit to begin operation.
- Operation begins almost immediately with contactors vibrating and corresponding LEDs flashing.
- One finger on each hand should receive a vibration at the same time. In Mirror mode, the same finger type on each hand receives the same signal. The finger selection is random.
- Vibration amplitude is controlled by the Volume knob and can be adjusted anytime during operation.
- To end operation, turn off the Power switches (down) on both units.
- To operate a single unit:
- Turn on the power switch (up). You should see a flashing blue LED looking into the USB connector.
- Press the green Start button briefly.
- Operation begins after about 6 seconds.
- Vibration amplitude is controlled by the Volume knob and can be adjusted anytime during operation.
- Turn off the power switch to end operation.
- Recharging the batteries: Connect each unit to a USB-C charger, with the power switch ON. It will not charge if the switch is off. This prevents the battery from draining while the system is not in use. Do not push the start button.
- Session timer: Using the Arduino IDE, set TIMER_ON = true, and set TIME_LIMIT_MIN (duration in minutes) in each hand unit to automatically disable the unit after the set time. An LED will blink every 30 sec to remind you to turn the power off.




























Comments
Post a Comment