SPARK MAX Quick Start Guide

The SPARK MAX is a motor controller that can control both Brushed DC and Brushless DC motors. Out of the box, the MAX defaults to its Brushless Mode and is ready to drive a NEO Brushless Motor with its PWM interface. Below you will find the basic steps to get a motor spinning as well as information on how to configure your SPARK MAX.

Table of Contents

Electrical Connections

Before spinning a motor, a few electrical connections need to be made for power, control, and the motor. The first step is determining the type of motor you wish to connect.

Brushless   Brushed

Mini CIM


In general, brushed motors only have 2 primary wires while brushless motors have 3 primary wires. 

NEO Brushless DC Motor ConnectionsMotor Wiring Diagram

First, connect the three primary motor wires; red, black, and white, to the matching SPARK MAX output wires labeled A (red), B (black), and C (white). Next connect the NEO's encoder cable to the port labeled ENCODER just above the output wires.

Brushed DC Motor Connections

Connect the two motor wires, M+ (red) and M- (black), to the SPARK MAX output wires labeled A (red) and B (black).

The third output wire, labeled C (white), is not used when driving a brushed motor and should be secured and insulated. We recommend tying it back with a zip-tie and covering the end with a piece of electrical tape.

Control Connections

controlwiring.pngSPARK MAX can be controlled with PWM, CAN, and USB interfaces.

PWM Interface Connections

Plug the 4-pin JST to single PWM cable into the port labeled CAN/PWM on the SPARK MAX. Connect the other end of the cable to the robot controller's PWM ports, black wire to ground and white wire to signal.

CAN Interface Connections

Plug the 4-pin JST to CAN cable into the port labeled CAN/PWM on the SPARK MAX. This cable has both a male and female pair of connectors that can be used to daisy-chain your SPARK MAX into your robot's CAN network. The green wire is CANL and the yellow wire is CANH.

USB Interface Connections

Plug a USB type C cable into the port labeled USB-C on the SPARK MAX. You can control the MAX over USB using the SPARK MAX PC Utility.

Power connections

Power Wiring DiagramConnect 12V power to the integrated power leads labeled V+ (red) and V- (black) on the SPARK MAX. If you need to extend the length of the integrated wires, it is recommended to use 12AWG wire or larger.

Mode Configuration

SPARK MAX has many operating modes that can be configured through its CAN and USB interfaces. Additionally, the following basic operating modes can be configured with the MODE button located on the top of the SPARK MAX:

  • Idle Behavior: Brake/Coast
  • Motor Type: Brushed/Brushless

Mode configuration must be done with power applied to the SPARK MAX.

Idle Behavior

Whenever the SPARK MAX is receiving a neutral signal (no motor movement) or no signal at all (robot disabled), it can either brake the motor or let it coast. When in Brake Mode, MAX will short the motor wires to each other, electrically braking the motor. This slows the motor down very quickly if it was spinning and makes it harder, but not impossible to back-drive the motor when it is stopped.

  • With power turned on, press and release the MODE button to switch between Brake and Coast Mode.
  • The STATUS LED will indicate which mode it is in. See the STATUS LED Colors and Patterns section for more information.

Motor Type

It is very important to have the SPARK MAX configured for the appropriate motor type. For example, operating in Brushed Mode with a brushless motor connected will permanently damage the motor!

  • With power turned on, press and hold the MODE button for approximately 3 - 4 seconds.
  • The STATUS LED will change and indicate which motor type is selected. See the STATUS LED Colors and Patterns section for more information.
  • Release the MODE button.

PWM Control

SPARK MAX will respond to a standard 1ms - 2ms RC Servo PWM Pulse to drive both brushed and brushless motors. The received pulses correspond to the following behaviors:

Pulse p in ms p = 1.0 1.0 < p < 1.5 p = 1.5 1.5 < p < 2.0 p = 2.0
Motor Behavior Full Reverse Proportional Reverse Neutral (stopped) Proportional Forward Full Forward


CAN Control

More information coming soon!

USB Control

More information coming soon!

STATUS LED Colors and Patterns

SPARK MAX will indicate important status information on its multi-colored STATUS LED located on the top of its case. The following table shows each state and the corresponding LED color pattern.

Operating Mode  Idle Mode  State Color/Pattern
Brushed     Brake  No Signal Blue Blink  brushed-no-signal-brake.gif
Valid Signal Blue Solid  blue.png
Coast  No Signal Yellow Blink  brushed-no-signal-coast.gif
Valid Signal Yellow Solid  yellow.png
Brushless     Brake  No Signal Cyan Blink  brushless-no-signal-brake.gif
Valid Signal  Cyan Solid  cyan.png
Coast  No Signal  Magenta Blink  brushless-no-signal-coast.gif
Valid Signal  Magenta Solid  magenta.png
Partial Forward - - Green Blink forward-proportional.gif
Full Forward  - - Green Solid  green.png
Partial Reverse - - Red Blink  reverse-proportional.gif
Full Reverse  - - Red Solid red.png
Forward Limit  - - Green/White Blink forward-limit-triggered.gif
Reverse Limit  - - Red/White Blink  reverse-limit-triggered.gif
Identification, Updating, and Recovery
Device Identify - - White/Magenta Fast Blink mode-identify.gif

CAN Bootloader
Firmware Updating

- - White/Yellow Blink (v1.5.0)
Green/Magenta Blink (v1.4.0)

CAN Bootloader
Firmware Retry

- - White/Blue Blink mode-can-bootloader-retry.gif
(Device Firmware Update)
- - Dark (LED off) Dark LED
Recovery Mode - - Dark (LED off) Dark LED
Fault Conditions
12V Missing - - Orange/Blue Slow Blink fault-no-12v.gif
Sensor Fault - - Orange/Magenta Slow Blink  fault-encoder.gif
Gate Driver Fault - - Orange/Cyan Slow Blink fault-gate-driver.gif
CAN Fault - - Orange/Yellow Slow Blink fault-can.gif
Corrupt Firmware
(recover using Recovery Mode)
    Dark (LED off) Dark LED