Skip to content

K2-Pi-Servo

Two eFused pixel ports and 16 servo outputs on a Raspberry Pi hat, for props that move as well as light up.

K2-Pi-Servo

K2-Pi-Servo (v1.0).

This page describes revision v1.0 (printed on the board as K2-Pi-Servo v1.0), the only revision.

How the K2-Pi-Servo differs from the other boards

  • It needs a Raspberry Pi 3 B+, 4 or 5. See Raspberry Pi.
  • Two power terminals: one (5–24 V) for the Pi and the two pixel ports, and a separate one for the servos. The two terminals have their screws in the opposite order.
  • No differential ports, DMX or real-time clock.

Specifications

K2-Pi-Servo
Local pixel ports 2 (Port 1, Port 2), 3-pin 3.5 mm pluggable, plugs included
Port protection eFuse per port, about 6 A, latching
Power switching per port (FPP-controlled)
Current monitoring both ports
Pixels per string up to 1600; about 800 at 40 fps
Servo outputs 16, standard 3-pin servo headers (signal, V+, GND)
Power inputs pixels & Pi: 5–24 V DC. Servos: separate terminal, typically 5–6 V.
DMX / serial none
Audio the Pi's own
Ethernet & USB the Pi's own
Display & buttons 128×64 OLED, Up / Down / Back / Enter / Test
Real-time clock none
Temperature sensor yes
Size 76.4 × 56.0 mm (3.01 × 2.20 in), 4 mounting holes, 2.7 mm
FPP output DPIPixels (pixels), Servos (PCA9685)
Requires Raspberry Pi 3 B+, 4 or 5, FPP 10 or later

Board map

K2-Pi-Servo from above

The Pi sits under the board, with its USB and Ethernet ports sticking out past the right-hand edge. The terminals and pixel ports overhang the other end of the Pi.

Power terminals

There are two power terminals on the left-hand edge:

Terminal Marking Screws, top to bottom Powers
Pixel / Pi (top left) G, V+ 5-24V G, then V+ the Pi, the board's logic and both pixel ports
Servo (bottom left) Servo V+, G V+, then G the 16 servos' V+ pins only

The two terminals are wired in opposite order

On the top terminal G is the upper screw; on the servo terminal V+ is the upper screw. Check each one against the markings before you power up.

Pixel / Pi terminal:

  • The pixels run at the supply voltage, so both strings must match it: 5, 12 or 24 V.
  • With a 5 V supply, turn its output up to about 5.3 V so the Pi gets a full 5 V; see Raspberry Pi → Powering.
  • The Pi and the logic are protected against a reversed supply, but the pixel ports aren't.
  • FPP shows its voltage as VIN Pixel.

Servo terminal:

  • Connect a supply that matches your servos, typically 5–6 V, sized for all the servos moving at once. The Pi and the pixels don't need it.
  • It goes straight to the servo headers, with no fuse and no reverse-polarity protection. A reversed supply reaches every servo.
  • FPP shows its voltage as VIN Servo.

Pixel ports

The two pixel ports are on the left-hand edge between the terminals: Port 1 above Port 2. Each is G D V from top to bottom (ground, data, +V). Each string can have up to 1600 pixels; see Raspberry Pi → Pixel outputs.

Each port has its own eFuse, which trips at about 6 A and latches off, and FPP reads both ports' current. When an eFuse trips, FPP marks the port with a red icon on Status/Control → Port Status; click it to turn the port back on once the fault is fixed. The green LED beside each port lights when the port has power. See Current monitoring.

Servo outputs

The 16 servo outputs are three rows of pins along the bottom edge, numbered 1 to 16 from left to right. Each column is one servo:

Row Marking Servo wire
top (yellow) PWM signal (yellow, orange or white)
middle (red) V+ power (red)
bottom (black) GND ground (black or brown)

Plug each servo in with its signal wire towards the top of the board. The signal is 5 V.

Set the servos up in FPP under Input/Output Setup → Channel Outputs → Servos. For each output you set its start channel, its minimum and maximum pulse width (500–2500 µs; the default 1000–2000 µs suits most servos), and what it does when its channel is zero (hold, go to the minimum, maximum or centre, or stop). The frequency (50 Hz by default) applies to all 16. The Servo Position command moves a servo from a playlist, a button or a schedule. The outputs can also dim small LEDs instead of driving servos.

Other connectors

Connector Marking Details
OLED GND VDD SCK SDA Controls & display
Buttons Up Down Back Enter, Test the menu buttons in a cross at the right, with Test below them. Controls & display
GPIO / I²C GND GND, 3.3V SDA SCL, 26 29 31 32 33 2×5 header, bottom right: ground, 3.3 V, the I²C bus (for an add-on clock or sensor) and five Pi GPIO pins, numbered by their Pi header pin. Use them in FPP's GPIO Inputs. 3.3 V only: wire buttons to switch a pin to GND.

The board has no real-time clock: set up NTP under Settings → Time, or add an I²C clock module on the GPIO / I²C header.

FPP setup

When FPP detects the K2-Pi-Servo it sets itself up automatically. It enables the K2-Pi-Servo pixel-string layout (FPP's DPIPixels output, with 100 pixels on each port), the Servos output, and the voltage, current and temperature sensors. Set the pixel counts and start channels from xLights or the FPP Pixel Strings page. See Configuring outputs.

Dimensions & mounting

  • 76.43 × 56.00 mm (3.01 × 2.20 in), 4 holes, 2.7 mm, for M2.5 screws. They line up with the Pi's mounting holes: fix the board to the Pi with M2.5 standoffs, nylon or metal.
  • The board is a little longer than the Pi: the terminals and pixel ports overhang the end opposite the Pi's USB ports.