Skip to content

Instantly share code, notes, and snippets.

@scottjgibson
Created November 29, 2012 19:44
Show Gist options
  • Select an option

  • Save scottjgibson/4171371 to your computer and use it in GitHub Desktop.

Select an option

Save scottjgibson/4171371 to your computer and use it in GitHub Desktop.
Arduino I2C Register Map
Proposed I2C Register Map for I2C Slave Gear Motor controller
Address R/W Size Description
0x00 R 1 Status
0x00 R 4 Current Position (mm)
0x00 W 4 Set Position (mm)
0x00 R/W 1 Speed
0x00 R/W 1
0x00 W 1 Action
0x00 R/W 2 Hall Sensor Pulses per 10mm
0x00 R/W 1 Config
Address: 0x00
Description: Status
Access: Read
Size: 1 Bytes
Additional Information:
0x00 Idle
0x01 Moving Out
0x02 Moving In
0x10 Error (Unspecified)
0x11 Error (Over Temp)
Address: 0x00
Description: Current Position (mm)
Access: Read
Size: 4 Bytes
Additional Information:
Current position in millimeters
Address: 0x00
Description: Action
Access: Write
Size: 1 Byte
Additional Information:
0x00 - Stop
0x01 - Go (Move towards set position)
Address: 0x00
Description: Motor Speed
Access: Read/Write
Size: 1 Byte
Additional Information:
PWM Duty Cycle; values 0-255 equating to 0-100% duty cycle
Address: 0x00
Description: Hall Sensor Pulses per 10mm
Access: Read/Write
Size: 2 Bytes
Additional Information:
Number of hall effect pulses per 10mm of movement (or 10 degrees rotation)
Address: 0x00
Description: Config
Access: Read/Write
Size: 1 Byte
Additional Information:
bit 0: if unset: manual mode (start command must be set)
if set: Auto Mode Enabled (Move as soon as set position written)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment