Skip to content

Extending Stretch with Additional Hardware

This tutorial will walk you through different ways you can add additional hardware and integrate them with Stretch.

Mounting your Hardware

Stretch provides various threaded mounting points (M4 threaded) around it's body where you could mount your hardware securely.

Base Head Shoulder Wrist Tool Plate
Base Mounting Holes Head Mounting Holes Shoulder Mounting Holes Wrist Mounting Holes

Powering your Hardware

Stretch providess additional 12V auxilary power ports on the base, head and shoulder which you could use to power your additional hardware.

Base Head Shoulder
Base 12V Aux Head 12V Aux Shoulder 12V Aux

Checkout Adding Jetson to Stretch tutorial which utilizes Stretch's mounting holes and auxilary power ports.

Integrating Actuators and sensors

The robot's Wrist has different types of interfaces provided through which you could integrate additional actuators and sensors.

Wrist Dynamixel Interface

The wrist yaw degree-of-freedom uses a Dynamixel XL430 servo. Additional Dynamixel servos can be daisy chained off of this servo, allowing for more additional motors. Stretch comes with a XL430 compatible control cable preinstalled into this servo which can be used to daisy chain more XL430 compatible motors. If a different cable needs to be installed the servo cap can be removed as shown.

image alt text

Checkout Custom DOF tutorial to learn how to integrate custom or additional Dynamixel joints and tool chains with Stretch Body.

Wrist Expansion USB

The wrist includes a USB 2.0 A interface. This power to this USB port is fused to 500mA@5V.

Wrist Expansion Header

The wrist includes an expansion header that provides access to pins of the wrist Arduino board. The header connector can be accessed by removing the cap at the end of the arm.

image alt text

The header is wired to a Atmel SAMD21G18A-AUT (datasheet) microcontroller (same as Arduino Zero). The expansion header pins are configured at the factory to allow:

  • General purpose digital I/O
  • Analog input

In addition, the firmware can be configured for other pin functions, including:

  • Serial SPI
  • Serial I2C
  • Serial UART

Checkout Wrist Expansion Header tutorial to learn how to write custom Wacc firmware to utilize the above pin functions to read sensor data and integrate it with Stretch Body.

**The header pins utilize 3V3 TTL logic. They have limited interface protection (eg, ESD, over-voltage, shorts). It is possible to damage your robot if pin specifications are exceeded **

The pin mapping is:

Pin Name Function Factory Firmware
1 DGND Digital ground
2 3V3 3.3V supply fused at 250mA.
3 E12V 12VDC fused at 500mA
4 SS DIO | SPI SS Digital out (D3)
5 SCK DIO | SPI SCK Digital out (D2)
6 MISO DIO | SPI MISO |UART TX Digital in (D0)
7 MOSI DIO | SPI MOSI | UART RX Digital in (D1)
8 SCL DIO | I2C SCL Not used
9 SS DIO | I2C SDA Not used
10 ANA0 Analog input Analog in (A0)

The expansion DIO uses a 10 pin JST header B10B-PHDSS(LF)(SN). It is compatible with a JST PHDR-10VS housing. JST provides pre-crimped wire compatible with this housing ( part APAPA22K305).

Pin 1 & 10 are indicated below.

image alt text

The expansion DIO schematic shown below.

image alt text