Ready to deploy design #3

August 8, 2024 · View on GitHub

Read this document from start to end before building anything. Ensure you understand everything.

This setup has not been tested at the system level. If you try, please, let me know.

Hardware features

  • Bluetooth Low Energy
  • Powered through rechargeable batteries
  • Built-in battery monitor
  • Analog clutch paddles (potentiometers).
  • Shift paddles (x2)
  • "ALT" buttons (x2)
  • Relative rotary encoders (with push button): x2
  • Up to 10 additional push buttons

Button mapping

  • Bite point calibration: rotary #1 clockwise and counter-clockwise (while holding one and only one clutch paddle).
  • Next clutch function: START and Left shift paddle.
  • ALT buttons mode: START and Right shift paddle.
  • Recalibrate clutch paddles: Left shift paddle, Right shift paddle and START.
  • Power on: rotary #1 clockwise or counter-clockwise.

Needed parts

ItemQuantityNotes
Bare bone rotary encoder2
Roller lever2For shift paddles (maybe they are included with your wheel's case)
Linear potentiometer 10 K-ohms or higher2For clutch paddles (maybe they are included with your wheel's case)
Push buttonsup to 10General purpose inputs (up to you)
Schottky diodes161N4148 recommended
Standard perfboard sized 24x10 holes1
Unexpected Maker's TinyPico Devkit board1With male pins already soldered
Pin header (female)20For a DevKit board with male pins already soldered
Pin header (male or female up to you)28For external wiring
LiPo Battery 4.2V (max)1Must fit TinyPico's specification. Capacity and size up to you
Both male and female GX16 (5 pins) connectors1 male and 1 femaleFor the charging port
Micro-USB/USB-C spiral cable long enough1For charging. Must match your TinyPico USB connector.
External Antenna with U.FL connector1Only required if TinyPico V3 with U.FL is chosen
On-board battery connector1Depends on your battery

Other parts (quantity unknown):

  • Thin wire.
  • Wire with Dupond terminals (for external wiring). A kit for protoboards will do the job. ¿Male or female? the opposite to pin headers.
  • Welding tin.

Other notes:

  • The GX16 connector may be replaced by any other kind. The GX16 features a knot that prevents accidental unplug. The 5 pins flavor allows to build a fully capable USB port, not just a charging port, if you want.

Pin-out plan for the TinyPico DevKit board

GPIOInputOutputUsageNotes
25OKOKLeft pot
26OKOKRight pot
27OKOKROT1_A
15OKOKROT1_Boutputs PWM signal at boot
14OKOKROT2_Aoutputs PWM signal at boot
4OKOKROT2_B
23OKOKMatrix input 1
19OKOKMatrix input 2
18OKOKMatrix input 3
5OKOKMatrix input 4outputs PWM signal at boot
22OKOKMatrix selector 1
21OKOKMatrix selector 2
32OKOKMatrix selector 3
33OKOKMatrix selector 4

Circuit layout

Open the circuit layout using DIY Layout Creator.

Setup #3 circuit layout

This layout includes the following subsystems (read for an in-depth explanation):

Notes and build tips:

  • Some components may look very small, not matching their actual size. This is not a mistake. They must be placed in vertical position, so they lie in a minimal surface of the perfboard.
  • There is a lot of wiring, which is prone to human error. Check wiring and traces twice before soldering.

External wiring

  • Each input has an assigned number in the circuit layout. Certain inputs have a particular function, so attach them properly.
  • The POTn_GND and POTn_VCC terminals of each potentiometer are interchangeable. If the clutch (or axis) goes to 100% when idle, swap those terminals. If you don't have the chance to swap those terminals, the companion app has the ability to swap axis polarity by user request.
  • Note that the pin headers on the left and right clutch paddles are symmetrical, not identical.
  • Battery(+) is the positive pole of the battery.
  • Battery(-) is the negative pole of the battery.
  • Attach Battery(+) and Battery(-) properly. Take care not to swap those terminals.
  • Bare bone rotary encoders: their built-in push button must be wired to the button matrix just like any other push button, being SW and SW GND the involved terminals.
  • Battery charge port:
    • Cut the USB cable near the Micro-USB/USB-C end, but leave enough length to reach the GX16 plug.
    • Make sure matching GX16 pins in both male and female connectors are soldered to the same wire (same color).
    • Red and black wires are mandatory. Others are optional.

Firmware upload

At Arduino IDE, configure the board manager for "TinyPICO".

You should calibrate your battery first. See the Battery calibration procedure.

  1. Plug the USB cable to the Devkit board and upload the sketch with Arduino IDE.
  2. Open the serial monitor (Arduino IDE).
  3. Reset.
  4. Check there are no error messages.