Skip to the content
PCBKitNew board
2 layers27.2 × 48.2 mmPAStoThrottle, the printed circuit board in 3D

An intuitive e-bike controller that translates a simple PAS (Pedal Assist Sensor) signal into a smooth throttle output.

Size
27.2 × 48.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
34
Pads
85
Tracks, vias
68, 27
Pours
31
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
6 Jun 2026
Updated
6 Jun 2026

Overview

PAStoThrottle is an open-source printed circuit board by vjapolitzer, from the vjapolitzer/PAStoThrottle repository on GitHub, published under the MIT licence. It is a 2-layer board of 27.2 × 48.2 mm with 26 parts on 34 nets, routed with 68 tracks and 27 vias.

It is built around the ESD9X5.0ST5G and RC0402FR-0710KL. Its parts include 9 resistors, 7 diodes, 3 capacitors and 3 connectors. It belongs with the audio and music and sensors and measurement boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

PAS to Throttle Converter

An Arduino Nano R4-based controller that converts a cadence-based PAS (Pedal Assist Sensor) signal into a smooth throttle output, giving a more responsive, torque-sensor-like feel on an e-bike without replacing the sensor hardware.

How it works

The PAS sensor produces pulses as you pedal — 14 per revolution on the supported sensor. The firmware measures pulse intervals to calculate cadence (RPM) in real time, applies asymmetric EMA smoothing to produce a natural acceleration/deceleration feel, and drives a 12-bit DAC output that feeds directly into the motor controller's throttle input.

Features

  • 7 assist levels (0 = off, 1–6 = eco through overdrive) with RGB LED color coding
  • Cadence-to-throttle mapping with configurable min/max RPM and power scale per level
  • Asymmetric EMA smoothing — fast attack, slow decay for a natural pedal feel
  • Walk mode — hold OK button for a low-speed assist output
  • Calibration mode — trim the throttle floor (minDAC) live and save to EEPROM
  • Serial plotter telemetry for tuning

Hardware

ComponentDetail
MCUArduino Nano R4 (Renesas RA4M1)
Throttle output12-bit DAC on pin A0
PAS input14-magnet sensor on pin D2 (interrupt-driven)
ButtonsUp D4 / Down D3 / OK D5
ProtectionExternal pull-ups and TVS diodes on all inputs

Repository structure

text
PCB/   KiCad schematic and PCB layout
FW/    PlatformIO firmware (Arduino framework)

Firmware

The firmware is a PlatformIO project targeting the nano_r4 board. Open FW/PAStoThrottle/ in VS Code with the PlatformIO extension, or build from the CLI:

bash
cd FW/PAStoThrottle
pio run
pio run --target upload

Button controls

ActionEffect
Up / Down pressChange assist level
Hold OK (1 s)Walk mode (active while held)
Hold Up + Down (2 s)Enter calibration mode
In calibration: Up / DownAdjust throttle floor ±10 DAC counts
In calibration: Hold OK (2 s)Save to EEPROM and exit

PCB

The KiCad project lives in PCB/PAStoThrottle/. It uses the arduino-kicad-library (included, CC-BY-SA-4.0) for the Nano R4 footprint and symbol. Fabrication outputs (gerbers, BOM, pick-and-place) are in PCB/PAStoThrottle/production/.

License

MIT — see LICENSE.

Parts

26
QtyValueFootprintReferences
7ESD9X5.0ST5GDiode_SMD:D_SOD-923D1, D2, D3, D4, D5, D6, D7
5220Resistor_SMD:R_0402_1005MetricR5, R6, R7, R8, R9
410kResistor_SMD:R_0402_1005MetricR1, R2, R3, R4
30.47μCapacitor_SMD:C_0402_1005MetricC1, C2, C3
2Conn_01x03Connector_PinHeader_2.00mm:PinHeader_1x03_P2.00mm_VerticalJ1, J2
1Arduino_Nano_R4arduino-library:Arduino_Nano_R4_TileA1
1Conn_01x03Connector_PinHeader_2.00mm:PinHeader_1x04_P2.00mm_VerticalJ3

The 23 most common of 26 parts.

Questions

How big is the PAStoThrottle PCB?

It measures 27.2 × 48.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PAStoThrottle use?

26 parts, built around the ESD9X5.0ST5G and RC0402FR-0710KL. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the PAStoThrottle KiCad files?

From the vjapolitzer/PAStoThrottle repository on GitHub, at the commit this page was made from: the board is PCB/PAStoThrottle/PAStoThrottle.kicad_pcb and its schematic PCB/PAStoThrottle/PAStoThrottle.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PAStoThrottle design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 8 layers120 × 60 mmJetson orin baseboard, the printed circuit board in 3D

    Jetson orin baseboard

    antmicro/jetson-orin-baseboard

    Baseboard targetting the NVIDIA Jetson Orin Nano and Jetson Orin NX

    681 parts305Apache-2.0
  • 4 layers394 × 110 mmGpu cluster backplane, the printed circuit board in 3D

    Gpu cluster backplane

    antmicro/gpu-cluster-backplane

    This project contains open hardware design files for a PCB supporting power distribution in a cluster composed of GPUs. This board has been derived from an open source d1600e-psu-breakout created by Antmicro.

    616 parts4Apache-2.0
  • 4 layers150 × 50 mmIct baseboard, the printed circuit board in 3D

    Ict baseboard

    antmicro/ict-baseboard

    PCB design for implementing In-Circuit Testing of other PCBs via an USB-enabled host

    277 parts4Apache-2.0
  • 4 layers50 × 26.5 mmEnvironment sensor sip baseboard, the printed circuit board in 3D

    Environment sensor sip baseboard

    antmicro/environment-sensor-myra-baseboard

    This repository contains open hardware design files for Antmicro's Environment Sensor Board variant which includes the MYRA SiP as well as temperature, pressure and humidity sensors.

    59 parts3Apache-2.0
  • 4 layers350.9 × 183.2 mmCG Files, the printed circuit board in 3D

    CG Files

    christopher-green2/PCB_Layout

    PCB Layout schematic

    327 parts1
  • 4 layers54 × 84 mmStepperLockingSystem, the printed circuit board in 3D

    StepperLockingSystem

    netz39/Stepper-Locking-System

    Contains encoder & processor boards for closed-loop stepper motor angle control. Steering the key/door knob with the might of stepper motors.

    107 partsMIT
  • 4 layers80 × 74.5 mmGSM STM, the printed circuit board in 3D

    GSM STM

    reljamar/MQTT-GSM-receiver

    A basic IoT device that connects to a mobile network and activates an output pin based on an MQTT message

    108 partsMIT
  • 4 layers52 × 80 mmLeddimmer hw, the printed circuit board in 3D

    Leddimmer hw

    Wassasin/leddimmer

    Quick low-side PWM device to crudely dim two 24V 4A LED strips

    117 parts