Ploopy nano is a compact trackball mouse whose hardware project (electronics & mechanics) is completely open source. The original github project can be found here:
https://github.com/ploopyco/nano-trackball
There are a couple of reasons for this:
-
Albeit the original project is open, it's designed for Altium software. The goal of this project is to clone that design as much as possible, but in KiCAD
-
Since I would like to test the BTU mod and I had that printed from an external online service, it didn't make much sense in my opinion to buy the whole kit just for the PCB. That's why I prefered to do it on my own
For technical and components' availability reasons, this design is slightly different from the original version. Here's the main points:
- USB typeC connector instead of microUSB
- that's my preference
- of course the USB speed is not changed, it's just a connector replacement
- debug UART pinheader
- it's always useful to have it in case some debug is required
- replaced the 3x2 programmer's pinheader with TPs
- this is mostly for layout reasons: on one hand the original connector required through holes, whereas TPs are just on one side; on the other hand it's also more flexible to place those 6 TPs
- smaller crystal (in size)
- I could not find the original crystal available on JLCPCB, so I switched to an equivalent one which unfortunately has smaller footprint
The placement of componenets on the board was obtained using FreeCAD:
- I loaded PCB's step file into FreeCAD
- Generated a 2D top view of the PCB
- Exported into DXF
- Impoted the DXF into KiCAD
Similarly I did also for the layout of the PCB itself. In this case:
- I imported the layout of the board in FreeCAD using KiCadStepUp plugin
- Ridesigned the edges of the board
- Exported again into the kicad_pcb file
- Reopened KiCAD with new shape
The jlcpcb folder contain gerber, BOM and placement files I used to order from JLCPCB site. They have been automatically generated from the specific KiCAD's extension.
Some components, likes the ATmega32U4 or the LED, are not present in the BOM because they're out of stock on JLCPCB, so I'm planning to buy them separately and solder manually.
Since the description is quite long I decided to create a specific readme file for this in order to explain also the step I did for the bringup.
Even thought it's a nice project, there are a few things which might be known for anyone who attempts at building it:
- the ADNS-5050 is absolutely impossible to find, at least here in Europe. I ended up buying the ADNS-5020 which is pin to pin compatible, but also for that one it was a mess: the 1st order from Aliexpress was lost somewhere and the 2nd one took some time to be delivered (which is not so common nowadays when buying from Aliexpress)
- the 38 mm (1.5 inches) ball is not easy to find as well. I know, those are used for small billiard balls, but if you don't want to buy an entire set of billiard ball for just using 1, then good luck in finding something
In general I strongly suggest to take a look and consider also 's projects:
- they are based on a RP2040 microcontroller, which you can find at almost the same price of the ATMEGA, but it's way more powerfull
- he provides the project directly for KiCAD with also gerber files for JLCPCB--> https://github.com/jfedor2/rp2040-pmw3360
- he used another sensor, PMW3360, which seems way more easy to find online