-
1Gathering The Required Parts
To build the dial, you’ll need to get the kit with all the required custom PCBs from my Tindie Store,you can get the boards alone and source the rest of the parts yourself, I also have the full assembly kit with all the required parts available and you can also get the dial as a fully assembled device.
3D printing files can be downloaded here.
The assembly process is pretty straight forward and quit satisfying, I have also prepared detailed step by step Build Instructions for all the variations of the dial.
Required Electronics and Hardware Parts
Ahmsville Dial v2 Main Board
USB C Board
Capacitive Touchpad
Secondary Encoder Board
Macro Key Board
Wireless Adapter Board
Vibration Motor
2x1mm Neodymium Magnets (90pcs)
Space Navigator Mechanism
M1.4x10mm Self Tapping Screws (19pcs)
M2x10mm Self Tapping Screws (4pcs) & M2x8mm Self Tapping Screws (4pcs)
6809 Ball Bearing & 6811 Ball Bearing
Thin Flexible Individually Colored Wires (14 colors, length – 150mm) (For Primary connections to the Main Board)
If you cannot get 14 individually colored wires, you can use a black permanent marker to create more colors, for example a plain blue wire marked with a black line becomes a blue-black wire.
Thin Flexible Wires (6pcs of length => 80-90mm) (For Secondary connections)
Silicone Rubber Base Pads (6x2mm 10pcs)
Lipo Battery (Max allowed size => 44 x 37 x 5.5mm)
Required 3D Printed Parts
Knob1
Printed with three filaments (Purple, Transparent, Silver)
Material – PLA
Recommended infill % = >40
Knob2
Material – PLA
Recommended infill % = >40
Battery Holder
Material – PLA
Recommended infill % = >40
Secondary Encoder Board Holder
Material – PLA
Recommended infill % = >40
SpaceNav Mechanism Holder
Material – PLA
Recommended infill % = >50
Main Board Holder
Material – PLA
Recommended infill % = >70
Base
Printed with two filaments (Purple, Transparent)
Material – PLA
Recommended infill % = >50
Macro Key Holder
Material – PLA
Recommended infill % = >40
Key Caps
Printed with two filaments (Purple, Transparent)
Material – PLA
Recommended infill % = 100
-
2Preparing To Assemble the Dial
Before starting the actual assembly, i recommend taking some time to study the wiring diagram, understanding the wiring diagram will make the assembly a lot easier.
Wiring Diagram
-
3Assembling the Dial
Step 1
Insert lipo battery into the battery holder
Step 2
Solder five 150mm wires to +3, D-, D+, GND, and LED (TO MAIN BOARD).
Solder two 85-90mm wires to +3 and GND (TO SEC-ENC BOARD)
Step 3
Solder five 150mm wires to M1, M2, M3, M4 and M5 (TO MAIN BOARD).
Solder four 85-90mm wires to +5, +3, MLED and GND (TO USB BOARD)
Step 4
Route wires through the USB board and the battery holder
Step 5
Terminate +5, +3, MLED and GND wires from the macro key board to the USB board.
Secure USB board with two m1.4x6mm screws.
Step 6
Install 6811 ball bearing on the battery holder
Step 7
Attach secondary encoder board holder, making sure to route all the wires through the center hole.
Step 8
Solder four wire to SE1, SE2, PX and PY.
Take note of the connections using the wire colors as identifiers, you can write it down somewhere or simply take a picture of it.
Step 9
Terminate the short +3 and GND wires from the USB board to the Secondary encoder board, these wires provide power to the sec-enc board.
Step 10
Attach the secondary encoder board to the holder, making sure to route all 14 wires through the center hole.
Secure the board and the holder with three m1.4x10mm screws.
Step 11
Install SpaceNav Mechanism, making sure to route all 14 wires through the center hole.
Secure the Mechanism with four m2x10mm screws.
Step 12
Attach the Spacenav mech holder, making sure to route all 14 wires through the center hole.
Secure the holder with two m1.4x10mm screw.
Step 13
Install vibration motor.
Step 14
Install 6809 ball bearing.
Step 15
Attach main board to the main board holder.
Step 16
Install the main board together with its holder, making sure to route all 14 wires and the vibration motor wires through the center hole.
Step 17
Secure the main board and its holder using three m1.4x10mm screws.
Step 18
Shorten all wires, be careful not to cut them too short.
Step 19
Terminate all wires to their appropriate spot, refer to the wiring diagram.
Step 20
Solder a wire to the capacitive touchpad and terminate it to the CT pin on the main board.
Step 21
Secure capacitive touchpad with three m1.4x10mm screws.
Step 22
Solder battery wires to the USB board.
You may want to double check all your connections before doing this, make sure all your power connections are soldered to the right pins and with the right polarities.
Step 23
Attach the base.
Secure the base with eight m1.4x10mm screws.
Step 24
Attach macro key board holder and secure it with four m2x8mm screws.
Step 25
Install the neodymium magnets on the knob, the magnets should be arranged with alternating poles next to each other.
Depending on your 3D printer’s tolerance, you may or may not need to use superglue to secure the magnets.
Step 26
Attach the knob to the dial.
the knob has three self-locking tabs that helps it to grab onto the bearing, so you just need to gently force it onto the bearing and push down until the knob seats in place.
Step 27
Install Key caps.
Step 28
Attach rubber base pads.
Congratulations!!!
-
4Setting Up and Programming the Dial
Select board as the Arduino Zero (Native USB Port) and select the COM-Port for the dial.
Ahmsville Dial v2 - https://github.com/ahmsville/Ahmsville-Dial-V2
Magnetic Rotary Encoder - https://github.com/ahmsville/Magnetic_rotary_encoding
Capacitive touch – https://github.com/PaulStoffregen/CapacitiveSensor
Adv – Capacitive touch – https://github.com/ahmsville/Advanced_capacitive_touch_detection
MacroKey – https://github.com/ahmsville/MacroKey
SpaceNavigator - https://github.com/ahmsville/SpaceNavigator
FastLED - https://github.com/FastLED/FastLED
RF24- https://github.com/nRF24/RF24
ADCRead - https://github.com/ahmsville/ADCRead
Select your dial variant and click on update library.
Open the Manual operation tab.
Step1 - Download and Install Arduino IDE.
Step2 - Download and install the Release installer file for the Ahmsville Dial App.
Setting up Arduino IDE for the Ahmsville Dial board
Step1 – Open up the Arduino ide and go to Tools >> Board >> Boards Manager.
First time programming
Launch Ahmsville Dial – this will launch the app in the background, you can then open the app from the notification area.
Open the Manual operation tab.
Select your dial variant and click on update library.
This will automatically install all the required Arduino libraries for you, but you can also get the libraries from the links below.
Ahmsville Dial v2 - https://github.com/ahmsville/Ahmsville-Dial-V2
Magnetic Rotary Encoder - https://github.com/ahmsville/Magnetic_rotary_encoding
Capacitive touch – https://github.com/PaulStoffregen/CapacitiveSensor
Adv – Capacitive touch – https://github.com/ahmsville/Advanced_capacitive_touch_detection
MacroKey – https://github.com/ahmsville/MacroKey
SpaceNavigator - https://github.com/ahmsville/SpaceNavigator
FastLED - https://github.com/FastLED/FastLED
RF24- https://github.com/nRF24/RF24
ADCRead - https://github.com/ahmsville/ADCRead
Now click on ReProgram Dial, which will open the Arduino sketch for your chosen dial.
Select board as the Arduino Zero (Native USB Port) and select the COM-Port for the dial.
Once the upload is complete, you dial should turn on and automatically connect to the App.
Your Dial is now ready, and you may proceed to creating control configurations for your desired applications.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.