Files
learning-garden/sources/2890/spark-flex.md
psb-gemma 47a8b40fdb Add growth state frontmatter to all 280 wiki files
TREE(74): training modules, entity profiles, 2890 references, keyword indices
SPROUT(42): knowledge pages, project docs, curated source material
SEED(164): daily notes, raw session logs, unprocessed material

Updated AUDIT_MANIFEST.json with growth classifications.
2026-05-14 01:27:59 +00:00

80 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 | 624V | |
| 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 | 5002500 μs |
| Input frequency | 50200 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.