-
Verify that the blue LED can be seen blinking when looking into the USB-C connector. This indicates that the DoomScroller is in discovery/pairing mode with no active connection. If no light is seen, battery probably needs recharging.
-
Swipe the magnet once over the back PCB lid. The hall sensor sits directly under the letter "C". This resets the board and puts the NRF chip into pairing mode
-
Verify that the blue light can be seen in USB-C
-
Pair device on your Android / PC
-
VERY IMPORTANT Perform a second magnetic reset swipe. This is critical for Android to properly recognize the device. Eventually we'll move this into firmware...
- Perform a magnetic reset on the back PCB before AND after pairing.
- You're out of luck until our cracked squad of software engineers gets iOS functionality working. Talk to Andrew about getting store credit or a return.
- Absolutely! There are a set of user adjustable values in the top of the main .ino file. Most important factors are scale and max velocity. Suggested values are provided as a starting point.
- The buffer lengths of the moving averages buffers can also be adjusted. A shorter buffer will result in a more snappy response, but will have more velocity ripple.
- This is the main bug I've been battling with the v0.1 firmware. It happens mostly on Twitter, where the entire post is clickable. The issue stems from using a single finger click and drag approach. If a scroll event starts and stops within a 40px diameter on the screen, the kernel registers it as a click instead of a scroll. This tends to happen when the wheel is suddenly jolted. It is a balancing act between a long moving average buffer to filter out these transients, and the responsiveness of a short buffer. The ideal fix for this is to implement a two finger HID event. the PC driver doesn't suffer from this issue because its using the enhanced resolution scroll wheel driver of the Microsoft surface dial.
- If there is latency and chunky feeling scroll action, there is a chance that the Bluetooth pairing rate has been negotiated incorrectly. BLE operates at a range of update rates, depending on what the phone determines. I've noticed that if you're pairing while the device is in idle mode, it can put it into a low rate mode which results in chunky scrolling. Best practice is to perform a single swipe magnetic swipe right before pairing
- Perform a double magnetic tap on the "C" letter of the PCB to enter bootloader mode, mimicking a double-click of the onboard reset switch. This will present the device as a removable USB drive for firmware updates.
Install the Arduino IDE: Download from the official Arduino website.
Add the Seeed Board to Arduino IDE:
Go to File > Preferences, and insert this URL into "Additional Boards Manager URLs":
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
Navigate to Tools > Board > Boards Manager, search for "Seeed nRF52 Boards", and install it.
Choose Tools> Board > Seeed nRF52 Boards > Seeed XIAO nRF52840 Sense
You may also need to install adafruit-nrfutil:
pip3 install adafruit-nrfutil
MPS MagAlpha and MovingAveragePlus Libraries are needed.
Open Sketch > Include Library > Manage Libraries....
Search and install "MPS MagAlpha" and "MovingAveragePlus".
Tools > Debug Level > Level 2 (Full Debug)
Connect the Doomscroller via USB C. If the device isn't recognized as a COM port, perform a magnetic triggered reset by swiping a magnet across the back PCB before uploading your code.
Usually the sketch starts running after flashing. If it doesn't, perform a magnetic reset right afterwards.