Create and Propeller

Step-by-Step Tutorial


Home Propeller

Updated 12/13/2007

This is a step-by-step "tutorial" for connecting a Parallax Propeller Proto Board (#32212) to an iRobot Create's 25 pin Cargo Bay Connector.

Components:

  • iRobot Create.
  • Parallax Propeller Proto Board
  • Prop Clip or Prop Plug to program the Propeller chip.
  • An NTE1910 9v Regulator or an LM317 Voltage Regulator and resistors to drop the Create's main battery power (16v) down to 9v, which feeds the 3.3v and 5v regulators on the proto board.

This schematic includes a 5v i2c interface and some buttons and an LED.  These are not needed for the initial connections to the Create, but odds are at some point you will want to know how to connect an LED and Buttons and an i2c interface for other sensors.  Initially, just focus on adding the 9v Regulator and make the connections on Port 2 through Port 6 to the DB25 connector on the Create.

You can use Port 0 and 1 for an external Radio for remote control, or use Port 30 and 31, which are used for Programming the Propeller.  In that case, use the PropPlug programmer as your Propeller-to-PC Serial interface.  This works well for testing without having to add another serial connection to your PC.

 

Introduction:

The Cargo Bay 25-pin Connector allows us to send commands to the Create via TTL Serial, and receive responses and sensor data from the Create.  Pins are also available to monitor the Creates Docked Status and Power-on State as well as allowing us to Toggle Power On and Off.  We also have access to the Creates battery directly for full-time power, even when the Create is powered-off.

Step-by-Step Procedure:

Make a DB25 Male connector with wires connected to the following pins:
1. RXD (Create receives TTL level serial data)
2. TXD (Create transmits TTL level serial data)
3. Power control toggle (low-to-high transition toggles Create power)
8. Switched 5v (regulated 5v 100ma supply when Create power is ON)
9. Vpwr (unregulated Create Battery voltage 500ma)
13. Robot charging (5v when Docked)
25. Ground (GND)

Connect Create Pin # to Propeller PORT #
Pin 1 RXD to Propeller PORT 2
Pin 2
TXD to Propeller PORT 3 (1k resistor)
Pin 3 Power Control to Propeller PORT 4
Pin 8
Switched 5v to Propeller PORT 5 (1k resistor)
Pin 9 Vpwr should feed the LM317 Voltage Regulator (or a 9V Regulator, or 10 diodes in series) to drop your main supply voltage to under 9v.  Then, feed this 9v supply to your 3.3v regulator which will power the Propeller chip.  If your 3.3v regulator can hand a 16v input then the LM317 may not be necessary.
Pin 13 Robot Dock/Charger indicator to Propeller PORT 6 (1k resistor)
Pin 25 GND to Ground

NOTE: I am indicating the PIN # on the Create and the PORT # on the Propeller since, depending on your Propeller Chip, the PORT may be on a different Pin.

NOTE: Any 5v input to the Propeller should have a 1k series resistor.  Since the Propeller is a 3.3v device, the 1k resistor will limit the current while allowing standard 2.5v TTL level transitions to work.  Resistors are not necessary when outputting to a 5v device.

Download CreateSerialTest.spin, compile and upload to your Propeller.  Check the Port #'s in the sourcecode to verify they match the Port #'s you used on your Propeller.

Optional Radio Connection:
Connect a radio's TX pin to the Propeller PORT 0and the radio's RX pin to the Propeller PORT 1 to control the Create via a radio link.  This is 3.3v TTL Level serial, so if you have an RS232 device you will need to use an RS232 level shifter to interface with the Propeller (remember the 1k resistor for the RS232 TX to Propeller RX pin if you are using a 5v level shifter).  Or, change the DEBUG_RXPIN to 31 and the DEBUG_TXPIN to 30 if you just want to use the Propeller Programming Port for serial debugging.  All baud rates are at 57600.

That's about it.  If I left anything out or you can't get it working, send me an e-mail and maybe I'll be able to help.

 

 

References:

Create 25-pin Cargo Bay Connector:
1 RXD
2 TXD
3 Power Control Toggle
4 Analog Input
5 Digital input 1
6 Digital input 3
7 Digital output 1
8 Switched 5V (100ma)
9 Vpwr (unregulated, 500ma)
10 Switched Vpwr (1500ma)
11 Switched Vpwr (1500ma)
12 Switched Vpwr (1500ma)
13 Robot charging
14 GND
15 BRC (digital input/baud-rate-change to 19200)
16 GND
17 Digital input 0
18 Digital input 2
19 Digital output 0
20 Digital output 2
21 GND
22 Low side driver 0 (500ma)
23 Low side driver 1/IR LED (500ma)
24 Low side driver 2 (1500ma)
25 GND