The schematics have been finishedkinda, The PCB has been made (see photos below), and the chassis has been 3D printed. Just note that this is an early prototype version of a scroll wheel expansion card (roPlug V0.0.1a), and requires a USB-C to USB-A adapter to work. Update: fixed the circuitry and now works without problems!
RoPlug is an enthusiast-made, highly configurable expansion card that is powered by an ATMega32U4. This means that this card is essentially a configurable mini arduino fitted into the form of a framework expansion card! Although it’s possible to do arduino tasks, like blinking an LED, or buzzing a speaker, the main focus of this card would be it’s ability to run the QMK framework with a rotary encoder (aka rotating knob)!
As mentioned above, this is a prototype, and does not work as expected 100%; so as a result, I’m selling this with the cost of BOM materials at a loss.This now works 100% after the fix, but I’m still selling this at a loss, but I’m open to other options.
How do I get one?
Kits:
Assembled PCB: $25 each +shipping
Assembled PCB with encoder soldered: $26 each +shipping
PCB only (no components): only 1 available : $20 +shipping
Add-ons:
encoder: $2.5
Comes with 3D printed knob
Choice of soldering or no soldering to the board
Not selling individually
3D Printed chassis: $4
Comes with a spare chassis per board purchased. eg: 1 board : 2 chassis, 2 boards : 4 chassis, and so on…
The size is double height: the same height as the TALL SNACK by @XenoCow
3D chassis STL + blender file: $8
I only have black at the moment.
Pre-flash QMK config with your choice of keyboard function: $0 free
Default configuration is at Volume up / Volume down
To put the board back into the chassis, just slide the board back into the chassis. Then slide the cover into place, making sure that the tabs snap into place.
Once roPlug is in bootloader mode, it will then wait for QMK to load and flash the custom key map created in the configuration. Once QMK finishes flashing roPlug, you can place the board back into the chassis, and start using it like a champ!
why do you need the usb A adapter? does it physically fit?
i noticed on the schematic you have two 22 ohm resistors on CC and VCONN- this is wrong, you should have one 5.1k resistor on CC. might explain it
Correct me if I’m wrong, should both resistors be changed to 5.1k like in the first screenshot, or should CC be connected to VBUS with the 5.1k resistor in the second screenshot?
the way usb C detects orientation is by detecting which pin has voltage on it. Rp and Rd form a voltage divider. you can see how if your sink is a receptacle, you need two resistors because the CC wire is actually used to detect if the cable is flipped or not.
but if there’s no cable- you can only have one resistor, for one voltage divider. if you had two the host wouldnt be able to tell the orientation.
It worked! Taking out the 22 resistor on VCONN and replacing the CC resistor with 5.1k now works without the USB-C to USB-A connector. Once I replace all the resistors on other boards, I’ll update the post, and post a demonstrational video of my expansion card in action.
Here’s the video of one of the many things roPlug can do:
The cards in the video has one as move-mouse-cursor-up/down and move-mouse-cursor-left/right. Essentially enabling an etch-a-sketch-like mouse cursor for the framework laptop.
It is also possible to change it to scroll wheel up/down, left/right, copy/paste, undo/redo… and a lot more!
It would definitely be great if it had at least 6 pulses per revolution, like the current encoders that I’m currently using. Also, the encoder doesn’t fit the footprint that the mechanical keyboard community used, which meant people can’t easily source alternative parts that are compatible to this card.
One way I think you could do a quadrature encoder in a really thin space would be kind of like this thing from polulu- sot-23 hall sensors (they detect magnets) on one side of the pcb, 90 degrees apart, and a magnet wheel on the other side. The resolution depends on the number of magnets in the wheel, as shown by this guy quite nicely.
Form closed. Not going to do another run until I save up more money for another project like this.
I still need to wrap up a couple places like cleaning up my QMK github repo for this board, and updating the configs to the new QMK requirements, but I’ll get around to do a small write-up on this project. It’s been over three years since, so I need to dig those photos and old stats. Unfortunately, I might have some that slipped through the cracks.
This has been a fun, but expensive project that I did to learn about kicad, manufacturing, setting up QMK, and all the other fun stuff.
Hopefully I’ll get around to redo the board with the recommended board layout + more breakout pins for the chip on the board, but who knows? Maybe there’ll be more people interested.