# SSG-48 gripper > Documentation for the SSG-48 adaptive electric gripper by Source Robotics. Every page of this site is also available as Markdown at its address followed by `index.md`, with its links absolute; `llms-full.txt` holds every page in one file. The version box on the landing page names the release the pages describe. ## SSG-48 Gripper Manual - [SSG-48 Gripper Manual](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/index.md): Source Robotics d.o.o. - [Quick start](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/quick-start/index.md): From an assembled SSG-48 gripper to its first gentle open and close, using Motor GUI on a PC. - [About this manual](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/about/index.md): The SSG-48 Gripper Manual covers the SSG-48 adaptive electric gripper from unpacking to a gripper that works on a robot: mounting and cabling, the first setup with Motor GUI, control over CAN and UART, from Python, from - [Overview](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/01-overview/index.md): What the SSG-48 gripper is and how it works, the versions of its hardware, and what you need around it to get it gripping. - [The gripper at a glance](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/01-overview/gripper-at-a-glance/index.md): The SSG-48 is a two-jaw parallel gripper driven by a brushless gimbal motor under field-oriented control. - [Hardware versions](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/01-overview/hardware-versions/index.md): The SSG-48 exists in two mechanical versions, both in the product repository's Gripper STL parts: - [What you need](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/01-overview/what-you-need/index.md): The SSG-48 is sold assembled, calibrated and configured in the Source Robotics shop. - [2. Safety](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/02-safety/index.md): The SSG-48 gripper is a force-controlled gripper for collaborative and research robots, not a certified safety component. - [Technical data](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/03-technical-data/index.md): The numbers: the specifications of the gripper and its variants, what the current and speed settings mean in newtons and millimetres per second, the connector and its pinout, and where the CAD files are. - [Specifications](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/03-technical-data/specifications/index.md) - [Force and speed](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/03-technical-data/force-and-speed/index.md): A move command carries a current limit in mA and a speed from 0 to 255. - [Connector and pinout](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/03-technical-data/connector/index.md): The gripper has one connector, an M8 4-pin male on the side of the body, and one cable: 24 V and the CAN bus. - [Dimensions and CAD](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/03-technical-data/dimensions/index.md): The STEP files of every part are in the product repository, the reference for anything that has to fit: - [Installation](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/04-installation/index.md): Putting the gripper on a robot: the mounting, the cable that carries its power and its CAN bus, the jaws for your objects, and the CAN termination. - [Mounting on a robot](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/04-installation/mounting/index.md): The gripper mounts by its coupler connector, the round part on the back of the body. - [The cable](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/04-installation/cable/index.md): One cable with an M8 4-pin connector powers the gripper and carries its CAN bus. - [Jaws](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/04-installation/jaws/index.md): The gripper's two jaw plates carry a four-hole pattern for fingers. - [CAN termination](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/04-installation/can-termination/index.md): A CAN bus needs a 120 Ω resistor at each of its two ends. - [First setup](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/05-setup/index.md): For the complete bench procedure, use the one-page quick start. - [Motor GUI](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/05-setup/motor-gui/index.md): 1. Open motorgui.com. - [Calibrate, activate, move](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/05-setup/first-moves/index.md): Every session with the gripper starts the same way: calibrate, activate, clear what errors there are. - [Operation](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/index.md): How a working gripper is used: what happens inside when it calibrates and moves, the interfaces it is driven through, and what to do when it reports an error. - [How the gripper works](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/how-it-works/index.md): The gripper is a state machine in the driver's firmware, fed by one command and answering with one status. - [Over CAN](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/can/index.md): CAN is the gripper's interface: the one cable carries it next to the power, and a robot's control board, a PC with the CANvas adapter or any microcontroller with a CAN transceiver drives the gripper with it. - [Over UART](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/uart/index.md): The driver inside the gripper has a serial port. - [With Python](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/python/index.md): The Spectral-BLDC library wraps the driver's CAN protocol, gripper messages included: one method per message, and the gripper's answers unpacked into attributes. - [With ROS 2](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/ros2/index.md): Two ROS 2 packages drive the gripper; both are built on the Python library and a python-can adapter. - [On PAROL6 and PAR6](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/robots/index.md): The gripper is made for the Source Robotics arms. - [Errors and recovery](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/06-operation/errors/index.md): When the driver inside the gripper detects a fault it stops the motor, goes to idle and sets the error bit in every CAN frame it sends. - [7. Maintenance](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/07-maintenance/index.md): The gripper needs little: every wearing part is printed, so a worn part is replaced by printing a new one, and the mechanism is a rail, two racks and a pinion that want a little grease now and then. - [8. Firmware](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/08-firmware/index.md): The gripper has no firmware of its own: it runs the Spectral Micro driver's firmware with gripper mode turned on. - [9. Troubleshooting](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/09-troubleshooting/index.md): By symptom. The error flags and what clears them are in Errors and recovery. - [Build guide](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/build/index.md): 1. Bill of materials: the repository's BOM, with the reference images. - [Bill of materials](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/build/bill-of-materials/index.md): This BOM lists all components required to build the SSG48 gripper. - [Printing the parts](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/build/printing/index.md): PETG for the body, the lids, the jaw plates and the coupler connector; the fin-ray fingers in a flexible filament. - [Mechanical assembly](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/build/mechanical-assembly/index.md): The repository's assembly manual, page by page: the jaws, the gear and magnet on the motor, the motor into the body, the connector and its wires, the driver and the thermistor, the calibration, the linear guide, the lid, - [Driver setup and first run](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/build/first-run/index.md): A gripper from the shop arrives with its driver configured: the motor calibrated, gripper mode on, the thermistor on, everything saved. - [Performance tests](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/appendix/performance/index.md): Thermal tests of the SSG-48 gripper under different conditions. - [Firmware release notes](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/appendix/firmware-release-notes/index.md): What changed in each release of the Spectral firmware the gripper runs, from the release notes in the driver's repository, up to the release this site describes. - [Versions and compatibility](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/appendix/compatibility/index.md): Which Spectral firmware release works with which bootloader, gripper hardware, Python library and ROS 2 driver. - [Glossary](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/terminology/index.md) - [CAD and downloads](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/cad-files/index.md) ## API reference - [API reference](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/index.md): The gripper's CAN messages and UART commands, its status and error bits, and the Python library calls that send them, for the firmware named on the landing page. - [CAN frame tool and downloads](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/can-tools/index.md): Build or inspect a frame using the command definitions of this manual's firmware release. - [CAN messages](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/can/index.md): CAN 2.0, 1 Mbit/s, 11-bit identifiers. - [Gripper](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/can/gripper/index.md): The move command, its answer, and the gripper calibration. - [System](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/can/system/index.md): Node ID, stopping, saving, resetting, clearing errors, the watchdog and the heartbeat setup: the driver's system messages a gripper host uses. - [Status requests](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/can/status/index.md): Remote frames the host sends under a command ID, answered by the gripper with a data frame under the same ID, and the heartbeat the gripper sends on its own when it is set up. - [UART commands](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/uart/index.md): The commands a gripper needs over the driver's serial port, for the firmware release this site describes. - [Gripper](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/uart/gripper/index.md) - [Driver setup](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/uart/setup/index.md): The driver commands a self-built gripper is configured with; Driver configuration is the procedure. - [Status and utility](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/uart/utility/index.md) - [Errors and status bits](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/errors/index.md): Byte 3 of RespondGripperdatapack, the answer to every gripper command, bits numbered from the most significant: - [Python library](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/reference/python/index.md): The Spectral-BLDC package (Spectral-BLDC-Python, pip install Spectral-BLDC) has one method per CAN message in SpectralBLDC.SpectralCAN, and SpectralBLDC.CanCommunication for the bus. ## Guides - [Guides](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/guides/index.md): Worked examples around the gripper. - [Basic control in Python](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/guides/basic-control/index.md): The shortest program that drives the gripper: it connects through the CANvas adapter, clears the errors, calibrates, then closes and opens every three seconds and prints what the gripper answers. - [Teleoperation with two grippers](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/guides/teleoperation/index.md): Two grippers on one CAN bus, coupled so that each follows the other: squeeze one by hand and the other closes; when the other meets an object, the one in your hand pushes back with the force it feels. ## Support - [Getting help](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/support/index.md): Before you ask, Troubleshooting goes through the common symptoms, and the gripper's status tells most of what anyone will ask you for. - [Report a problem](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/support/report-a-problem/index.md): Open an issue in the product repository for the gripper and its files, in the driver's repository for the firmware, or in Spectral-BLDC-Python for the Python library. - [Contributing](https://docs.source-robotics.com/SSG48-gripper-docs/1.1/support/contributing/index.md): This documentation lives in Source-Robotics/SSG48-gripper-docs.