How to Build a LipSync
by RashmiP11 in Circuits > Assistive Tech
9458 Views, 54 Favorites, 0 Comments
How to Build a LipSync
Touchscreen devices have become a staple piece of technology in this day and age. In 2016, upwards of 1.6 billion people in the world are using smartphones. Most people cannot get through the day without using their smartphone. It keeps us connected. It keeps us organized. It is an integral part of our social lives. For people in wheelchairs whom experience difficulties with fine upper body motor control, the usage of mobile devices can be very challenging. Statistics show there are over 1 million people in the United States and Canada that have very limited or no use of their hands, making touchscreen devices very difficult or impossible to use.
The "LipSync" is an assistive technology device which is being developed to allow quadriplegics and other people with limited hand use the ability to use touchscreen mobile devices by manipulation of a mouth-operated joystick with integrated sip and puff controls. The user is able to manipulate a cursor on their device screen using a mouth-operated joystick with integrated sip and puff controls to simulate the actions of "tap" and hitting the back button, respectively. With longer sips and longer puffs, additional secondary features are enabled including a "tap and drag", "long tap and drag" and the possibility of more specialized functions as per the user's needs. The LipSync is design specifically for portable devices, it does not require AC power, but it will work with any device including desktop and laptop computers that support mice through a universal serial bus (USB).
There are 2 main aspects we will be addressing in our project:
Developing an easy to build, but robust electronics assembly that novice to experienced makers can build.
Developing a device housing which can be 3D printed by makers either at home or at dedicated facilities.
FUTURE LIPSYNC PROJECT GOALS
Apr-Dec 2017: Support a network of makers to connect directly with people with disabilities and creating 150 LipSyncs through the Pacific Northwest
Jan-Dec 2018: Scale maker-disability matchmaking service across North America, to support 1,500 LipSyncs being created at the local level, as well as developing and applying other assistive technologies.
In addition, the Neil Squire Society has been working on a service delivery model for the technology. It will soon be launching the Makers Making Change initiative. Makers Make Change has the goal of creating one-on-one relationships between makers and people with disabilities. The Makers Making Change initiative will provide the infrastructure to connect makers, open assistive technologies, and people with disabilities in their community to make a local impact. Makers will be able to meet people with disabilities in their community and work with them to deliver a solution.
GET INVOLVED
If you want more information on the LipSync, track our development closer or work with us in creating (or getting) a LipSync, please connect with us. We have a newsletter and request form on our webpage: http://www.neilsquire.ca/lipsync
Obtaining Parts and Components
Download all the necessary files and directories to assemble a LipSync:
https://github.com/makersmakingchange/LipSync/arch...
LipSync-master\Hardware\Housing_design: Contains all 3D printing files in STL format and its respective print settings
LipSync-master\Hardware\PCB_design: Contains schematic and layout for the LipSync printed circuit boards
LipSync-master\Software\LipSync_Firmware: Contains microcontroller code LipSync-master\LipSync_BOM.csv: Contains LipSync Components in CSV format
Components should be ordered at least 2 weeks in advance to allow for sufficient shipping time. See below for the full list of components and its purchase links.
Component List:
-
[1] LipSync Circuit Board Pack
-
[1] Arduino Micro / Genuino Micro Microcontroller
-
[2] Right Angle Push Buttons
-
[2] 300 Ohm 1/4W Through Hole Resistors
-
[4] 10k Ohm Mini Axis Through Hole Resistors
-
[1] NXP Pressure Sensor [component label: MPXV7002DP]
-
[1] 0.01uF Ceramic Capacitor [capacitor label: 103]
-
[1] 1.0uF Ceramic Capacitor [capacitor label: 105]
-
[1] 470pF Ceramic Capacitor [capacitor label: 471]
-
[2] 17 Position Straight Female T/H Headers
-
[2] 3 Position Right Angle Male Headers
-
[2] 3 Position Straight Female Headers
-
[2] 4 Position Straight Female T/H Headers
-
[1] 10 Position Break Away Male Headers
-
[1] 5mm Bi-Colour T/H LED
-
[1] Shunt Connector
-
[1] 2N3906 PNP-Type T/H Transistor
-
[1] 6 Position Straight Female T/H Headers
-
[1] 1 Position Straight Female T/H Header
-
[1] Front Housing
-
[1] Joystick Front Plate
-
[1] Joystick Rocker
-
[1] Joystick Base Plate
-
[1] Rear Housing
-
[2] Buttons
-
[1] Mouth Piece
-
[1] Filter
-
[1] Luer Lock Fitting
-
[4] Force Resistive Sensors
-
[4] Screws Philips Head M3
-
[6] Compression Springs
-
[2] Standoffs M3 10mm
-
[2] Standoffs M3 15mm
-
[1] Luer Lock Nut
-
[4] Bumpers
-
[4] Nuts M3
-
[1] Tygon Tubing 3/32" ID x 45mm
-
[1] Light Pipe
-
[1] Threaded Insert 5/8"-27
-
[1] Threaded Adapter 5/8"-27
-
[1] USB Cable
-
[1] USB Adapter
-
[1] Cable Tie
Obtaining the Right Equipment
To complete this LipSync Build, you will need the follow tools:
-
Small Spool of 60Pb/40Tn Solder Wire
-
Temperature Adjustable Soldering Iron (350°C)
-
Needle Nose Plier
-
Fine File or Sandpaper
-
Baby Powder
-
Super Glue
-
Medium Strength Threadlocker
-
Desolder Pump
-
Safety Glasses
-
Hobby Knife
-
Flush Cutters
-
ABS or High Strength PLA Filament 100g
Print Out 3D Components
The 3D Components include:
1 x Rear Housing
1 x Front Housing
1 x Joystick Rocker
1 x Joystick Base Plate
1 x Joystick Top Plate
These .stl files can be found on the hackaday site: hackaday.io/project/13424-lipsync
Begin LipSync Build Part 1
For this part you will need the following components:
- 2x 300 Ohm Resistors
- 2x Push Buttons
- 10 Position Breakaway Headers
- Shunt Connector
- Transistor
- Bi-Colour LED
- 6 Position Female T/H Header
- 2x Right Angle Male Headers
- PCB Board 1
Insert 2x 300 Ohm Resistors and Solder
- Snip the 300 Ohm Resistors using wire cutter
- Using Needle Nose Pliers, bend the leads of the resistors at a 90 degree angle.
- Insert the leads of the resistors into the holes of the PCB
- Bend the leads on the other side to ensure they don't fall out
- Flip the PCB and solder the resistors to the PCB
- Snip the ends of the resistors, ensure flush cut (cut it as close to the PCB as you can).
Insert the 2 Push Buttons and Solder
- Insert the leads of the buttons into the holes of the PCB
- Flip the PCB and solder the push buttons to the PCB
Snap Away 2 of the 10 Position Breakaway Headers and Solder
- Using a needle nose plier, snap away 2 of the 10 position header as shown.
- Insert the 2 position breakaway headers.
- Flip the PCB and solder the 2 position breakaway headers to the PCB
Insert the Shunt Connector
Carefully place the shunt connector on the 2 position break away headers
Insert the Transistor and Solder
- Snip the transistor using wire cutters
- Place on board as shown
- Insert the leads of the 2 position breakaway header into the holes of the PCB
- Flip the PCB and solder the transistors to the PCB
- Snip the ends of the transistor, ensure flush cut (cut it as close to the PCB as you can).
Insert Bi-Colour LED and Solder
- Snip the LED using wire cutters
- Orienting it with the flatside facing you, bend leads of the LED at 90 degrees (as shown)
- Insert the leads of the LED into the holes of the PCB, push all the way in
- Flip the PCB and solder the LED to the PCB
- Snip the ends of the LED, ensure flush cut (cut it as close to the PCB as you can).
Insert 6 Position Female T/H Header
- Insert the leads of the 6 Position Female T/H Header into the holes of the PCB
- Flip the PCB and solder one lead of header to the PCB
- Flip the PCB and ensure that the header is sitting flat on the board (if it isn't, unsolder the one lead and fix)
- Flip the PCB and solder the rest of the leads
Insert 2 Right Angle Male Headers
- Insert the leads of the 2 Right Angle Male Headers into the holes of the PCB
- Flip the PCB and solder one lead of each header to the PCB
- Flip the PCB and ensure that the headers are sitting flat on the board (if they aren't, unsolder the one lead and fix)
- Flip the PCB and solder the rest of the leads
Begin LipSync Build Part 2
For this part you will need the following components:
- NXP Pressure Sensor
- 0.01uF Ceramic Capacitor [capacitor label: 103]
- 1.0uF Ceramic Capacitor [capacitor label: 105]
- 470pF Ceramic Capacitor [capacitor label: 471]
- PCB Board 2
Insert Capacitors and Solder
- Snip the leads of the capacitors using wire cutters
- Place the the 103 to the far left, the 105 in the middle and the 471 to the far right.
- Push them in all the way and ensure they sit flat on the PCB
- Flip the PCB and solder the capacitors to the PCB
- Snip the ends of the capacitors, ensure flush cut (cut it as close to the PCB as you can).
Prepare the Pressure Sensor and Solder
- Apply a small amount of solder to one lead of the pressure sensor as shown
- Apply a small amount of solder to the corresponding solder pad on the PCB
- Place the pressure sensor on the PCB with all leads in line and on top of their corresponding solder pad
- Place the solder tip on the lead to reflow the solder on the two components. You will be able to feel the pressure sensor should “drop” onto Board 2.
- Apply solder to the rest of the leads and be careful to ensure that they have connection to the solder pad
Begin LipSync Build Part 3
For this part, you will need the following components:
- PCB Board 1
- PCB Board 2
- 2x 4 Position Female T/H Headers
- 2x 4 Position Breakaway Headers
Insert 4 Position Female T/H Headers/ 4 Position Breakaway Headers and Solder
- Insert the 4 Position Breakaway Headers into the 4 Position Female T/H Headers as shown
- Insert the leads of the 4 Position Female T/H Header into the holes of the PCB Board 2
- Insert the leads of the 4 Position Breakaway Headers into the holes of PCB Board 1
- Solder one lead of each of the 4 Position Breakaway Headers into Board 1
- Solder one lead of each of the 4 Position Breakaway Headers into Board 2
- Check to ensure that the headers are sitting flat on the boards (if they aren't, unsolder the one lead and fix)
- Solder the rest of the leads on all the headers
Begin LipSync Build Part 4
For this part, you will need the following components:
- PCB Board 1
- 2x 17 Position Female T/H Headers
- Arduino Genuino Microcontroller
Insert 17 Position Female T/H Headers and Solder
- Insert the microcontroller leads into the two 17 Position Female T/H Headers.
- Carefully remove the Board 2 (with pressure sensor) as shown
- Insert the leads of the 17 Position Female T/H Headers into the corresponding holes on the PCB as shown
- Flip the PCB and solder one lead of each of the two headers to the PCB
- Flip the PCB and ensure that the headers are sitting flat on the board (if they aren't, unsolder the one lead and fix)
- Flip the PCB and solder the rest of the leads
- Re-Insert Board 2
Begin LipSync Build Part 5
For this part, you will need the following components:
- Joystick Front Plate
- Joystick Base Plate
- Joystick Rocker
- 4x 10k Ohm Mini Resistors
- 3 Position Straight Female Headers
- Luer Lock Fitting
- 4x Force Resistive Sensors
- 4x Screws Philips Head M3
- 4x Compression Springs
- 2x Standoffs M3 10mm
- 2x Standoffs M3 15mm
- Luer Lock Nut
- 4x Bumpers
- 4x Nuts M3
- Tygon Tubing 3/32" ID x 45mm
- Sandpaper
- Baby Powder
- Super Glue
Insert 4x Mini 10K Ohm Resistors and Solder
- Snip the Mini 10K Ohm Resistors using wire cutter
- Using Needle Nose Pliers, bend the leads of the resistors at a 90 degree angle.
- Insert the leads of the resistors into the holes of the PCB
- Bend the leads on the other side to ensure they don't fall out
- Flip the PCB and solder the resistors to the PCB
- Snip the ends of the resistors, ensure flush cut (cut it as close to the PCB as you can).
Remove Support Material From 3D Printed Parts
- Using an exacto knife, carefully and thoroughly remove the support material from the 3D printed joystick parts
Insert the 10mm Standoffs
- Place the 10mm standoffs into the raised slot as shown
- Insert a nut on both of the standoffs and (using needle nose pliers) tighten the nuts
- Apply super glue to the connecting areas of the nut and standoff
- Wait 5 to 15 mins for the super glue to dry
Insert Luer Lock Fittings and Nut
- Using fine sandpaper, sand the rounded surface of the rubber bumpers
- Apply a small amount of baby powder to the sanded surface of each rubber bumper
- Insert (twist in clockwise) the Luer Lock fitting into the rocker with the smaller end of the fitting coming out on the flat side of the rocker (as shown)
- Insert the nut from the flat side of the joystick rocker
- Ensure the nut sits flush to the rocker, once flush, twist the luer lock fitting in the rest of the way.
- Apply a small amount of super glue to the connections between the luer fitting and nut, as well as the nut and rocker. - Wait 5 -15 minutes for the glue to dry.
Place Rubber Bumpers
- Using fine sandpaper, sand the rounded surface of the rubber bumpers
- Carefully remove the rubber bumpers from their packaging and place in the indented circles on the joystick rocker - ensure you place the higher part of the bumper towards the center.
- Apply a small amount of baby powder to the sanded surface of each rubber bumper
Insert 3 Position Female T/H Headers and Solder
- Insert the leads of the two 3 Position Female T/H Headers into the holes of PCB Board 3
- Flip the PCB and solder one lead of header to the PCB
- Flip the PCB and ensure that the header is sitting flat on the board (if it isn't, unsolder the one lead and fix)
- Flip the PCB and solder the rest of the leads
Insert Force Resistive Sensors and Solder
**WARNING** - Force Resistive Sensors (FSRs) are very fragile - Be careful not to touch with soldering iron or they will melt. Be careful not to bend at a radius of less than 2.45mm as this will cause the FSRs to malfunction. Be careful to solder the FSRs quickly as prolonged heat at the leads will conduct heat to the plastic of the FSR and cause it to melt.
- Insert 1 FSR at a 30 Degree angle away from the centre of the board (as shown)
- Hold the board with a clamp and point the out to the side (do not lay board down as this can cause the FSR to bend and break)
- Quickly and carefully solder the the leads of the FSR
- Repeat steps 1-3 for the next 3 FSRs
Assemble Joystick Baseplate
- Insert 15mm Standoffs as shown
- Place Board 3 onto the Joystick Base Plate
- Insert 2 nuts onto the standoffs above Board 3 and tighten using needle nose pliers
- Insert the head of the FSRs through the corresponding slots in the Joystick Base Plate as shown, ensure the black adhesive is facing the centre of the base plate.
- Using an exacto knife, carefully remove the plastic covering (as shown) of the adhesive on the head of an FSR, be sure not to remove the black adhesive while trying to perform this step.
- Carefully push down the head of the FSR so that the adhesive sticks to the Joystick Base Plate within the designated outline.
- Repeat steps 6 and 7 for the rest of the FSRs
- Apply super glue to the connection between the nuts and the standoffs, wait 5 to 15 minutes for the glue to dry
Assemble Joystick
*Note* - Use the joystick stand holder to assist with assembly
- Place Base Plate onto Joystick Stand Holder
- Place Rocker (the side with the tygon tubing facing down) onto the Base Plate as shown
- Place 4 springs into the indented circles
- Place 4 screws into the Joystick Top Plate
- Plate Joystick Top Plate onto of the Rocker + Springs
- Tighten the screws until the Top Plate sits on the standoffs
- Connect the 3 Position Right Angle Male headers from Board 1 into the 3 Position Straight Female Headers on Board 3, there is a slot in Board 1 which allows the tygon tubing to carefully be sent from one side of Board 1 to the other. (As shown)
- Connect the tygon tubing to the outermost connector on the pressure sensor
Begin LipSync Build Part 6 (Final Part!)
For this step, you will need the following components:
- Rear Housing
- Front Housing
- Fully Assembled Joystick (with Board 1, 2, and 3)
- 2x 3D printed Buttons
- 2x Springs
- Light Pipe
- Cable Tie
- Filter
- Mouth Piece
- USB Cable
Insert the Light Pipe
- Insert the light pipe into the hole on the Rear Housing
Insert Cable Tie Onto USB
- Insert Cable Tie onto the Micro USB end of the USB cable
- Cut the tail of the cable tie that is sticking out
Feed USB Cable Thru
- Feed the USB Cable (Micro USB end first) half way through rear housing.
Insert Springs and 3D Printed Buttons
- Using tweezers or needle nose pliers, insert the 2 springs into the corresponding slots in the Rear Housing
- Insert the buttons, narrow end first, into the centre of the springs as shown
Final LipSync Assembly
- Connect the Micro USB side of the USB Cable to the Micro USB Port on the microcontroller of the Joystick
- Slide the Joystick Assembly along the internal tracks inside the Rear Housing
- Push in all the way until the Push Buttons on the Joystick Assembly sit inside the 3D printed buttons. - Check from the back by pushing the buttons, if they click well, then buttons have been correctly inserted into the 3D printed buttons - otherwise carefully push the assembly up and re-adjust
- Twist on the the Front Housing onto the threads of the Rear Housing (ensure flush and tight fit)
- Lightly twist on the filter (do not twist on too tight)
- Lightly twist on the mouth piece (do not twist on too tight)
- Insert the 5/8"-27 Threaded Insert
Uploading the Microcontroller Code
- Download and install the latest version of Arduino IDE: https://www.arduino.cc/en/main/software
- Download and save the latest LipSync microcontroller code: https://raw.githubusercontent.com/makersmakingchan... Right-click on the hyperlink of microcontroller code, select “Save Target As” (Internet explorer) or “Save Link As” (Chrome or Firefox) and save the microcontroller code (LipSync_Firmware) to the computer directory or folder of your choice.
Open the Arduino IDE and click on Tools -> Board -> Arduino/Genuino Micro
Connect to the PC using the LipSync USB cable.
Click on Tools -> Port
Click the right arrow at the top left of the Arduino IDE to upload the microcontroller
code to the LipSync device.Once upload is complete, a message saying “Upload Successful” will show at the
bottom left of the Arduino IDE.
Calibrate the Joystick
**Note** - You must calibrate your joystick before using it the first time.
Allow the LipSync to initialize for 3 seconds before moving the mouthpiece each time after it’s plugged into a device.
Press both speed adjustment buttons on the back of the LipSync for a few seconds until LED comes on
LED slowly blinks red & green 5 times
While LED blinks green 6 times, move the mouthpiece to the 12 o'clock position (up direction)
LED blinks red 1 time when position is measured
While LED blinks green 6 times, move the mouthpiece to the 3 o'clock position (right direction)
LED blinks red 1 time when position is measured
While LED blinks green 6 times, move the mouthpiece to the 6 o'clock position (down direction)
LED blinks red 1 time when position is measured
While LED blinks green 6 times, move the mouthpiece to the 9 o'clock position (left direction)
LED blinks red 1 time when position is measured
LED rapidly blinks red and green 6 times when calibration is complete