Skip to content

Commit

Permalink
updated mkdocs documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
ploopyco committed Jun 12, 2024
1 parent 9106bb1 commit bf09304
Show file tree
Hide file tree
Showing 8 changed files with 880 additions and 12 deletions.
23 changes: 23 additions & 0 deletions docs/appendices/3d-printing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Appendix B: 3D printed parts

# Buying 3D-printed parts from us
Not everyone has access to a 3D-printer. [That's why we sell kits with everything you need to build a Ploopy Adept Trackball](https://ploopy.co/product-category/trackball/adept/). Here's why that's great for you:

- You get all of the 3D-printed parts, guaranteed free of manufacturing defects
- You won't waste time spending hours tweaking settings
- We guarantee it will fit together *perfectly*

Consider it. You're a smartie. You'll get there.

# Printing your own parts

So, you have a printer and want to print your own parts? Great! We don't have specific instructions, since every printer setup is different. All of the STLs are available, and if you need to make tweaks, you can alter the design files.

Here are the settings we use when we print parts. **Note that these settings have only been tested on the Prusa i3 MK2.5S and MK3S.** If you have another printer, you may need to tweak these settings.

- PLA. The geometry of many of the parts is quite complex; trying to use other materials may not result in success.
- 0.30mm layer height. You can go finer than this if you want, but we haven't tested that. Going coarser is not going to work; first, it's going to feel rough on your hand, and second, it won't accurately capture the necessary detail.
- No support material is required anywhere. However, your printer must have the capability of bridging distances of up to 40mm.
- Orient the pieces so that flat sides are on the build plate.
- We like gyroid for infill pattern, but anything is probably good. Cubic, rectilinear, whatever.
- We use 0.4mm nozzles. We haven't tested other nozzle sizes.
52 changes: 52 additions & 0 deletions docs/appendices/hardware.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Appendix C: Hardware

# Buying hardware from us

Getting all of the hardware on your own can be tricky because the parts you select may not fit perfectly. [That's why we sell kits with everything you need to build a Ploopy Adept Trackball](https://ploopy.co/product-category/trackball/adept/). Here's why that's great for you:

- Everything is guaranteed to fit together perfectly
- Everything is guaranteed to work as intended
- You'll end up saving money - probably quite a bit of money - by not spending on extra parts

Your call. You'll sort it out.

# Getting your own hardware

This guide was a bit light on detail in the other sections, and that's because the hardware has to conform to many specifications. They'll all be listed here.

First, a complete list of all the hardware you'll need:

- 4x Small Screws
- 3x MR63ZZ Roller Bearings
- 4x Friction Pads
- 1x Snooker Ball

We'll be going over all of them in detail. There will be mentions of *critical specifications*; if you're going to be sourcing your own parts, **you must get parts that conform to the critical specifications**. If you go off-menu, the parts will not fit the way that we intended when we designed the trackball. That might mean that your trackball **doesn't work**.

Let's get cracking.

## Small Screws

Here are the critical specifications:

- \#2
- 3/8" length

## MR63ZZ Roller Bearings
Here are the critical specifications:

- MR63ZZ bearing
- 3mm inner diameter
- 6mm outer diameter
- 2.5mm thickness

## Friction pads
Here are the critical specifications:

- Circular shape
- Up to 3/4" diameter
- Up to 1/8" thickness
- Non-slip

## Snooker ball
We use 1.75-inch diameter (44.45mm) miniature snooker balls. Any ball between 44.0mm and 44.6mm will work.
62 changes: 62 additions & 0 deletions docs/appendices/pcbs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Appendix A: Printed circuit boards


## Buying boards from us
Getting the Ploopy boards made can be complex, and expensive, especially if you only need one set. [That's why we sell kits with everything you need to build a Ploopy Adept Trackball](https://ploopy.co/product-category/trackball/adept/). Here's why that's great for you:

- You get a PCB with all components soldered
- The firmware is already programmed on the microcontroller, so you won't have to program it
- It'll cost a hell of a lot less than if you do a production run of PCBs just for yourself
- You won't have to order components and wait while they come in
- We guarantee that it works

Just something to consider. You're smart. You'll figure it out.

## Making your own boards

Want to make your own Ploopy Adept Trackball boards? Great! Less work for us. Seriously, though, only choose this option if you know what you're doing. You don't want to embarrass yourself, do you?

### Step 1: Order the PCBs from a PCB production company

Here are the most important configurations you'll need to communicate to the company:

- 4 layers
- FR-4, TG 150-160 (basically, whatever the cheapest option is)
- 0.8mm thickness
- 6/6mil track/spacing distance
- 0.3mm minimum hole size
- ENIG surface finish, but you can go with HASL if you don't care about lead poisoning
- 1oz copper thickness for both outer and inner layers
- Choose whatever colours you want for solder mask and silkscreen; we like white solder mask and black silkscreen

If something is missing from here, it's not really important.

At some point, you'll have to upload design files to the production company. Use the [electronics source files](https://github.com/ploopyco/adept-trackball/tree/master/hardware/electronics) to generate manufacturing files (you'll have to convert them from their native Altium format if you're using some other platform). That should contain everything you need to get the boards made. If the production company rejects this package, however, you'll need to address the issue yourself.

### Step 2: Order the electronics components

All of the components are described in the schematics of the PCBs. Ordering the components is left as an exercise for the reader.

A complete list of all of the components can be found in the electrical design files.

### Step 3: Get the necessary tools

- PCB
- All of the electronics components
- A soldering iron
- Solder
- A printout of the schematics

### Step 4: Solder the components to the boards

Once you've got the PCBs and all of the components, print out the schematics. Use the schematics to match the reference designators on the PCBs to the reference designators on the schematics, and then get to soldering.

If you've never soldered surface mount components before, or want a refresher on how to solder, we recommend [this video on using an iron to solder surface mount components](https://www.youtube.com/watch?v=3NN7UGWYmBY), and [this video on using a hot-air soldering station](https://www.youtube.com/watch?v=c_Qt5CtUlqY).

Lastly, you'll need to follow a set of special instructions to assemble the PMW3360 sensor and the optic. [Take a look at page 11 of the official PMW3360 datasheet to find out how to do this](https://d3s5r33r268y59.cloudfront.net/datasheets/9604/2017-05-07-18-19-11/PMS0058-PMW3360DM-T2QU-DS-R1.50-26092016._20161202173741.pdf) (page 8 has visuals, for those of you who like purdy pictures).

**MAKE SURE THAT THE PMW3360 IS ORIENTED CORRECTLY BEFORE YOU SOLDER IT!** This is a really easy step to mess up, so *DOUBLE-CHECK IT!*

### Step 5: All done!

Congrats, you finished assembling the electronics! Pat yourself on the back.
73 changes: 73 additions & 0 deletions docs/appendices/programming.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Appendix D: QMK Firmware Programming


# Working with QMK

Ploopy devices are fairly easy to program and reprogram, thanks to the excellent work by all of the developers and maintainers of the [QMK firmware suite](https://github.com/qmk/qmk_firmware).

## Madromys? What's that?

`madromys` is our internal codename for the Ploopy Adept. We don't always know what we're going to call the devices as we're designing them, so we assign codenames to them. This naming convention is also present in some public places, such as the QMK repository. If you see `madromys` while you're working with QMK, just know that the Adept and `madromys` are the same thing.

## Before you begin

If you have never used QMK before, go through [all of the steps in the QMK guide to set up your environment](https://docs.qmk.fm/#/newbs_getting_started).

QMK was built for keyboards, so you'll see lots of references to code that looks like the following:

`-kb <keyboard>`

Whenever you see that, use the following syntax:

`-kb ploopyco/madromys/rev1_001`

and you'll be fine.

## Building the Ploopy device firmware

With your terminal window open and pointed at your QMK build environment, compile the firmware with the following command:

`qmk compile -kb ploopyco/madromys/rev1_001 -km via`

Alternatively, you can invoke the Makefile directly with the following:

`make ploopyco/madromys/rev1_001:via`

If you wish, you can use the default keymap (with `qmk compile -kb ploopyco/madromys/rev1_001 -km default` or `make ploopyco/madromys/rev1_001:default`). However, the VIA keymap is particularly interesting because it allows for customization of the trackball's functions without reflashing the firmware, through the use of the convenient [VIA software package](https://github.com/the-via/releases/releases). It's incredibly handy, so definitely check it out.

For more details on building QMK firmware in general, see the [QMK firmware guide](https://docs.qmk.fm/#/newbs_building_firmware).

## Putting the Ploopy device into bootloader mode

Putting the Ploopy device into bootloader mode is very easy.

1. Unplug it from your computer.
2. Hold down the Bottom Left button on the Adept.
3. Plug the Ploopy device into your computer.
4. The computer should recognise that a mass storage device was just plugged in. Once this is done, you should be able to drag and drop files onto the Ploopy device, as if the board was a USB drive. Feel free to remove the tweezers or paperclip at this point.

And that's it. While plugged in this way, the Ploopy device will accept new firmware.

If you want to upload a new firmware file (a ".uf2" file, like "ploopy_adept_v42069" or something), just drag it into the folder, and it'll automatically install on the Ploopy device and restart itself.

Whenever you want to put new firmware onto the Ploopy device, go through these steps again.

**TIP**: If your firmware is in some kind of strange state and uploading new firmware isn't fixing it, try uploading [a flash nuke](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/circuitpython#flash-resetting-uf2-3083182) to the Adept before flashing the new firmware. It wipes the memory of the Adept completely clean, which can help clear a few types of errors.

## Putting the Ploopy device into bootloader mode if it's bricked

Putting the Ploopy device into bootloader mode if it's bricked is a bit more involved, but still doable.

1. Unplug it from your computer.
2. Open it by removing the screws in the base and removing the top.
3. Look for a pair of vias (gold-plated holes) on the board. You can see where they're located [in this photo](https://ploopy.co/wp-content/uploads/2023/11/boot.jpg).
4. Get a paper clip (non-insulated, i.e. no plastic shit covering it) or a pair of tweezers, or some wire. Whatever you've got on hand that's metal.
5. Stick the paper clip or tweezers into the holes. You're trying to form an electrical connection between the two holes.
6. While you've got the two vias connected with your metal bridge, plug the Ploopy device into your computer.
7. The computer should recognise that a mass storage device was just plugged in. Once this is done, you should be able to drag and drop files onto the Ploopy device, as if the board was a USB drive. Feel free to remove the tweezers or paperclip at this point.

And that's it. While plugged in this way, the Ploopy device will accept new firmware.

## And that's it!

Happy customizing!
Loading

0 comments on commit bf09304

Please sign in to comment.