Skip to main content

ThumbsUp! Trackball v.4 Assembly Step

This page shows the process of ThumbsUp! Trackball v4.

Project is here: https://github.com/ak66666/ThumbsUp-Trackball-v4

Part list: https://github.com/ak66666/ThumbsUp-Trackball-v4/blob/main/Kicad/Trackball/Fabrication/Trackball%20v4%2C%20Parts%20for%20DYI%2C%20Costs.xlsx

Process Overview
- Install ball bearings.
- Put pin headers and sockets between the lower and middle decks.
- Put sensor and lens into the sensor module.
- Attach sensor module to the main PCB.
- Install MCU, configuration switches and buttons on the main PCB.
- Install battery connector pins
Install hot-swap switch sockets
- Clean the boards
Install sensor lens
Place the board stand-offs
- Install the battery
- Screw the boards together
- Install switches
Put the bump-ons on the bottom
Flash the firmware
- Test the trackball



Below are pictures for each of these steps with more details.

WARNINGS

- Do not chamfer or fillet the PCB edges around the bearing holes, at least until the bearings are soldered in. The copper layer around those holes is needed for the solder to hold on, and with even part of it removed it is harder to form shape necessary to keep the bearings in place.
- If the bearing is not getting into its hole because of the solder in there, do not try to push the bearing in. Instead clean the solder out completely with a pump and wick, then try afresh.



DYI Kit includes these PCBs (plus two more for two other ball sizes), in the picture there is a bag with optical sensor and lens):




Install bearings in the lower and middle decks (leave the top one for later)

Place the bearing into the slot, align it with the bottom part of the PCB:


I push the board against the silicone pad. Alternatively you could use some tape instead.

 


Cover the board from the top. Don't mind the flux leftovers, it will be cleaned later on.




Cover the ball with solder from the bottom:



Install two other balls. You need only three balls, leave other three empty:






Check the fit, the ball should rest on the bearings and should not touch the PCB.
Also make sure the copper tapes in the unpopulated holes are not sticking out. You may snip them off, but try not to pull the copper from the board.











Put pin headers and sockets between the PCBs


You need five pin headers and sockets:


Connect pins and sockets, put them on the bottom board, sockets to the board:


Lower the top PCB on the pins:

 
Hold the boards together, you may use tape or rubber band to hold them together until the pins are soldered and the boards stay together.


Snip the pins close to the board from both sides:








Solder one pin of each connector, after that the boards will stay together.

Check all connectors are touching the PCBs before soldering the remaining pins. 







 
Try to make the soldering joins uniform and round, covering the sharp pins with solder balls:


Connectors are finished now:



Put sensor on the sensor module

Leave the sensor board in the original panel for easier handling.


Detach lens from the sensor, put the lens aside for now.
Leave the kapton tape on the sensor to protect it during soldering.

Place sensor chip on the board as shown below, notice the hole in the corner - it marks the first pin:


Turn the board over, solder all the pins.
Pay attention to the components next to the pins.

Again, keep the kapton patches in place.



Break off the panel from the sensor board:



Attach sensor module to the main PCB

 Fit the sensor module in the opening. Place it inside the hole, like in the picture below, aligning the two holes on the sensor plate and the main PCB.







Tape the sensor module to the board in this position:


Sensor board is connected to the main PCB with six wires. I use a single-strand wire from CAT5 cable.


Cut a short piece of wire, thread it in hole, bend the ends to keep them in place.


Start with two wires on each side, solder the wires from both sides:





Install the remaining wires:



Cut the wire ends, remove the tape.


Push the sensor board out, place it parallel with the main board:


There will be a small gap between the boards, remaining flexibility in the wires allows the sensor to be moved to set proper distance to the ball. This default position should be a good start for the ball of the size matching the top board version.


Install MCU, configuration switches and buttons on the main PCB

Use low profile sockets for the MCU, discard those that came with it.



First, solder on the power switch:



Install the MCU socket.
Connect pin header and socket. Notice the grooved side of the header - it should be towards the MCU (to let the solder flowing out a bit, and for easier cleaning.)


Place the socket/header pairs on the main board, socket to the board.


Place the nice!nano on the pin header. Notice the two holes closer to the USB connector - they are to be left hanging:


Snip out pin ends close to the board, same idea as with the cross-board connectors.
Solder the corner pins, checking the component alignment. Connectors should be touching the boards without gaps.




Solder the remaining pins, forming the round balls, which is important for the top side. There will be a battery on top of them, no sharp ends to be left there, lest the battery is punctured.




Install the reset and other buttons in their places.
I have these SMD buttons, so I use them
You may prefer buttons with contacts sticking out - for easier soldering.




Install battery

For the battery connector I use two header pins. 
I place its with the long ends into the board, cut them from the other side of the board, and solder them there.





Then I remove the spacer from the pins, leaving them exposed with the acceptable length, like this: 


Install hot-swap switch sockets

There are eight sockets, their soldering is straightforward, no special instructions.















Clean the boards

Detach the boards, disconnect the controller from the main PCB.



I wash the boards in warm water, scrub the flux leftovers with a toothbrush.
I removing the water from all connectors with an air blower:


After the cleaning:






Install sensor lens

Remove the protective kaptop tape from the sensor:





Place the lens over the sensor:


Fix the lens on the back side of the sensor by melting lens pins with a clean solder tip:



Place the board stand-offs

I use nylon stand-offs, screws and nuts:


Stand-offs connecting the top boards are raised with two spacers - to match the height of the pin headers and sockets.


The four bottom stand-offs do not require such spacers.



Install the battery

Battery is attached to the board with a zip-tie.



My battery connector got 2mm connector while the board connector is 2.54mm between the pins. I slightly bend them towards each other.

Push the connector on, ensure the correct polarity - check the label on the back of the board.




Thread the zip-tie through the holes.


Cover the MCU pins with electric or Kapton tape to protect the battery from puncturing.
Tighten the battery to the board with the zip-tie.






Screw the boards together







Install the switches

I only use four corner switches, leaving the rest unpopulated.





Put the bump-ons on the bottom

Place 8x3mm bump-ons on the bottom PCB in the corners.
For good adhesion - degrease the board and handle them with tweezers to avoid getting the skin oil on the glued side.





Flash the firmware


Download the default version of the firmware: 
https://github.com/ak66666/ThumbsUp-Trackball-v4/blob/main/firmware.working/a_ball-nice_nano_v2-zmk.uf2

Connect the trackball to the computer, press twice the reset button (consult the mark on the bottom of the middle deck), a new drive should appear in the system.
Copy the downloaded file to that drive.
The trackball will restart, and should be functional.

Set the configuration switches as you need them: thumb v. fingers, left v. right.

Test the trackball

Place the ball in its place, try to rotate it. 

If the cursor does not move fluently - adjust the distance between the lens and the ball, it should be around 2.4-2.6 mm.



Final results



















Comments

Popular posts from this blog

ThumbsUp! Trackball v3 Assembly Steps

I designed a trackball: https://github.com/ak66666/ThumbsUp-Trackball-v3 I sell the PCBs on Etsy: https://www.etsy.com/ca/listing/4367668734/thumbsup-trackball-v3-pcbs-for-dyi In this post I show the process of building the board. Bill of Materials To assemble you will need to obtain the following parts: 1x PMW3610 sensor and lens (https://www.aliexpress.com/item/1005007118767775.html) 1x Nice!nano v2 (or clone) (https://www.aliexpress.com/item/1005006074191337.html) This will give you a Bluetooth-connected device. You may add another nice!nano to make a USB dongle . 1x 34mm ball (https://www.aliexpress.com/item/1005007857787050.html) 1x 3.7V 110mAh 301230 Lithium Polymer Li-Po Battery (https://www.aliexpress.com/item/1005003662352305.html) 6x Kailh Choc hot-swap sockets (https://www.aliexpress.com/item/1005003873653184.html) Optional, you may solder the switches into the board. 2x Pin Headers and 2x Sockets, Low profile, 12pin (https://www.aliexpress.com/item/1005006248653180...

Adding a Touchpad

  Updated:   Jun 5 The unibody ThumbsUp! keyboards support ProGlide Cirque touchpads. Cirque touchpad fits nicely under the top PCB and are not visible from outside, so here its picture sticking out, not yet glued to the top PCB:     There are tracks leading to a connector on the top board. (Add it to the order and let me know if you want the connector to be installed, provided I have them in stock.)     You'd need to buy these two parts from Mouser (or any other vendor): Mouser #: Mfr. #: Desc.: 355-TM0400402024-301 TM040040-2024-301 Capacitance Touch Sensor Modules Capacitance Touch Sensor Modules 40mm Round SPI/I2C adhesive overlay 538-15166-0125 15166-0125 FFC / FPC Jumper Cables FFC / FPC Jumper Cables FFC 0.50 Type A 12 ckts lgt 127   Touchpads need to be modified: R1 needs to be removed to use I2C the boards support:   For the ProMicro and Atmel32U4-based keyboards the touchpad also needs to be made t...

How to make a wireless ThumbsUp! with a touchpad using ZMK and ProGlide Cirque

ThumbsUp! can be made wireless using a nice!nano v2 MCU (or its clone) running ZMK. Recently ZMK got support for ProGlide Cirque touchpads, and the biggest difference from QMK was requirement to have an activity pin (DR) to be used/specified in the configuration. My configuration project is here: https://github.com/ak66666/zmk-config/tree/cirque Unfortunately that requirement was not known to me when I designed ThumbsUp! boards, so in order to make these boards wireless and with touchpad I had to add a bodge wire from the touchpad to a inter-PCB connector, and then from the connector on the other plate to the controller. Luckily there were a few unused pins in v9, so the task turned to be relatively easy. Step 1. Solder the wire to the third pin from the top on the innermost row: Step 2. Solder the other end of that wire to one of the pins in the center header. For that - gently pry the plastic spacer a up halfway, and solder the wire as close to the board as possible. I chose the bott...