A large DPad you control with your foot. It connects to your PC over usb 2.0 on a usb C port and sends user configurable HID keyboard events.
It consists entirely of 3d printed parts except for the PCB. You can build your own from this design if you are comfortable with 3d printing, ordering assembled PCB's from a manufacturer and a tiny bit of soldering.
The dpad design is functional and can be built following the instructions in this repo. The dpad has an extension port that I would like to take advantage of one day by providing a secondary unit for use by the other foot with many additional buttons.
I use the dpedal daily, I find it most useful for simple navigation tasks:
- scrolling through large documents or pages
- tab navigation (I always use it when crossword solving)
- doom scrolling
Now that I have built two dpedal's I'll experiment with what sort of use cases dual-wielding enables and report back.
It can be quite easy to bump the left and right buttons on the dpad which can be quite disruptive for some applications, so the default configuration has the left and right buttons disabled. They can be easily enabled when you want to try introducing them.
- Connect the dpedal to your PC via USB
- Set the dpedal to flash mode by:
- Press and hold the FLASH button
- Press and release the RESET button
- Release the FLASH button
- Download and run zadig
- Options -> tick
List All Devices
- In the dropdown choose
STM32 BOOTLOADER
- Press
Replace Driver
- Options -> tick
- Download the
dpedalflash-v*-x86-64-pc-windows-msvc.zip
from the latest release - Unzip it and navigate to the folder containing
dpedalflash.exe
andexample-config.kdl
in file explorer - Open
example-config.kdl
in a text editor and edit it to specify your desired keymapping (or leave it as default) - In file explorer press
File
->Open Windows Powershell
- In powershell write
./dpedalflash example-config.kdl
and press enter
- Download the firmware flasher for your system from the latest release
- Extract the tar or zip file
- Modify
example-config.kdl
to specify your desired keymapping - Set the dpedal to flash mode by:
- Press and hold the FLASH button
- Press and release the RESET button
- Release the FLASH button
- Navigate your terminal to the extracted folder and run
./dpedalflash example-config.kdl
- Set the dpedal to flash mode by:
- Press and hold the FLASH button
- Press and release the RESET button
- Release the FLASH button
- If you are on windows you will now need to follow the zadig instructions from the precompiled firmware section
- Install rust via rustup then:
git clone https://github.com/rukai/DPedal
cd dpedal/dpedal_flash
cargo run --release -- example-config.kdl
The 3D printed plastic parts are available here.
Convert each part to an STL by going through the pad
, base
and switch plate
tabs at the bottom of the page.
For each tab, right click the tab and select export.
Set the format to STL and keep the rest as default.
Then slice and print each STL yourself.
My configuration:
- Every part is printed in its default orientation with no supports
- 0.10mm layer height
- 15% gyroid infill (prusa slicer's default)
- PLA
- Prusa mini with prusa slicer
For some prints I change the layer height for faster print times, but feel free to ignore these and stick with 0.10mm everywhere:
- Footrest:
- 0.10mm layer height
- 15% support cubic infill
- height range modifiers (needs the advanced UI)
- layers: 0-10mm -> height: 0.15mm
- layers: 10-20mm -> height: 0.20mm
- angled joiner:
- 0.15mm layer height (QUALITY profile)
- switch plate:
- 0.20mm layer height (QUALITY profile)
- base:
- 0.10mm layer height
- height range modifiers (needs the advanced UI)
- layers: 0-3mm -> height: 0.20mm
The PCB is designed to use parts that are available on JLCPCB's PCB assembly service. The one exception is kailh switch hot swap sockets which you must acquire and solder yourself.
To have JLCPCB assemble the PCB for you follow these steps:
Install kicad and its full library. Known to work on Kicad 7.0.x
Open kicad. Select "Plugin and Content Manager" and install the following plugins:
- Fabrication Toolkit - This is a JLCPCB specific plugin for generating the fabrication files that JLCPCB accept
- Keyswitch Kicad Library - This adds keyboard switch footprints
Open the dpedal kicad project, open the PCB editor, then press the Fabrication Toolkit icon.
This will generate the files you need in a production/
folder.
Run through the JLCPCB PCB assembly ordering process using the generated files. https://cart.jlcpcb.com/quote
Add a gerber file: production/gerber.zip
The default options should all be fine but I specify:
- Surface Finish: LeadFree HASL
- PCB Color: Go wild!
- Remove Order Number - Specify a location
Enable PCB Assembly and set:
- "Confirm Parts Placement" to yes. (the assembly preview they show has a few parts in the wrong position so I believe this option is needed for jlcpcb to manually fix the part placement on their end)
When prompted upload the production/bom.csv
for the BOM file and the production/positions.csv
for the CPL file.
About a day after purchasing you will need to give confirmation that the parts are correctly placed on the PCB. Check your orders on the website and click on "DFM Analysis" There should be an "Original Part Placement" which is completely broken. And the "Corrected Part Placment" which should look like this:
You will need to obtain your own cherry MX switches. I use gateron green switches because foot activated inputs benefit from a lot of extra activation force but feel free to experiment yourself.
Licensed under the MIT license (LICENSE.txt)