---
title: "SPARK Flex Motor Controller — REV-11-2159"
tags:
  - hardware
  - motor-controller
  - REV
  - 2890
type: hardware-spec
owner: 2890
status: active
sources:
  - "https://www.revrobotics.com/rev-11-2159/"
  - "https://docs.revrobotics.com/brushless/spark-flex/overview"
growth: tree
---

# SPARK Flex Motor Controller — REV-11-2159

## Overview

The **SPARK Flex** is Team 2890's standard motor controller for NEO Vortex motors. It docks directly onto the NEO Vortex, eliminating external motor wires and creating an integrated motor-controller unit.

## Key Specifications

| Parameter | Value | Notes |
|-----------|-------|-------|
| Nominal Input Voltage | 12V | Standard FRC battery |
| Operating Voltage Range | 6–24V | |
| Absolute Maximum | 30V | Do not exceed |
| Continuous Output Current | 60A | Tested at 3 minutes |
| Peak Current (2s surge) | 100A | |
| Communication | CAN, PWM | |
| Data Port | USB Type-C | Configuration and control |
| Encoder Resolution (NEO Vortex) | 7168 CPR | With high-res firmware |

## PWM Specifications

| Parameter | Value |
|-----------|-------|
| Full-reverse pulse | 1000 μs |
| Neutral pulse | 1500 μs |
| Full-forward pulse | 2000 μs |
| Valid pulse range | 500–2500 μs |
| Input frequency | 50–200 Hz |
| Input timeout | 50 ms |

## Features

- **Docking interface** — direct mount to NEO Vortex, no motor wires
- **3-phase current sensing** — better motor monitoring than SPARK MAX
- **Reverse polarity protection** — protects against wiring mistakes
- **Expanded data port** — supports REV Through Bore Encoder, quadrature encoders, limit switches, additional serial interfaces
- **Advanced control modes:** Velocity, Position, Current (more coming with firmware updates)
- **Fits behind 2" rectangular tube** — compact mounting

## Getting Started

1. Install **REV Hardware Client** — required before using CAN interface
2. Dock SPARK Flex to NEO Vortex
3. Configure via Hardware Client
4. Update firmware if needed

**Important:** Configuration through Hardware Client is **required** before using CAN interface.

## Connection to Training

**For students:** The SPARK Flex is the "brain" that tells the motor how to move. Key concepts:
- **PWM vs CAN** — PWM is simple (1000μs = full reverse, 1500μs = neutral, 2000μs = full forward). CAN is smarter (digital, multi-device, richer feedback).
- **Current limiting** — the Flex can limit current to protect motors (60A continuous)
- **Closed-loop control** — velocity mode, position mode, and current mode each close a feedback loop

**Related training modules:**
- [[neo-vortex-motor]] — the motor this controls
- [[swerving-modules]] — MK4i modules that hold both
- [[motor-basics]] — understanding how controllers drive motors
- [[2890-codebase-index]] — YAGSL configuration for SPARK Flex + NEO Vortex

## Notes

Team 2890 uses SPARK Flex controllers docked to NEO Vortex motors in their MK4i swerve modules. The dock design is a significant reliability improvement — no bullet wires to come loose, no separate sensor cables. One compact unit per wheel.