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 |
---|---|---|---|
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 |
---|---|---|
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.
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.
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.
The expansion DIO schematic shown below.