Support » Pololu Motoron Motor Controller User’s Guide »
10. EEPROM settings reference
This section documents all of the settings that are stored in the Motoron’s 128-byte non-volatile EEPROM memory. Most of the Motoron’s settings are stored in RAM and must be set after the Motoron powers up using the commands documented in Section 9. However, there are several settings related to the Motoron’s communication interfaces that are stored in EEPROM to ensure that they will be correct as soon as the Motoron powers on.
- The Offset of each setting is the location where it is stored in the Motoron’s EEPROM memory. You can use this offset with the “Write EEPROM” and “Read EEPROM” commands.
- The Type specifies how many bits the setting occupies, and says whether it is signed or unsigned.
- The Data specifies how the data for that setting is encoded in the Motoron’s memory.
- The Default is the value the setting has on a new Motoron.
- The JMP1 low entry is the value the Motoron will use for the setting if the JMP1 pin is low when the Motoron is starting up.
- The Range is the allowed set of values for the setting, if applicable. Trying to use a value outside of this range could result in unexpected behavior.
- The Arduino library field shows the methods in the Arduino library that can be used to access the setting (besides the general-purpose
writeEeprom
andreadEeprom
methods).
The term “bit 0” refers to the least significant bit of a variable. Unless otherwise specified, all multi-byte settings use little-endian byte ordering, meaning that the least-significant byte comes first.
List of EEPROM settings
Device number
Offset | 1 |
---|---|
Type | unsigned 14-bit |
Data |
|
Default | 16 |
JMP1 low | 15 |
Range | 0 to 16383 |
Arduino library | void writeEepromDeviceNumber(uint16_t number) |
For I²C Motorons, the device number should be between 0 and 127 and it is the I²C address the Motoron will use.
For serial Motorons, the device number should normally be between 0 and 127. If you have enabled 14-bit device numbers in the serial options, then the device number can be as high as 16383. The device number is used in Pololu protocol commands to address a specific Motoron or group of Motorons (see Section 7).
Alternative device number
Offset | 3 |
---|---|
Type | unsigned 14-bit, plus a single bit to enable the feature |
Data |
|
Default | Disabled |
JMP1 low | Disabled |
Range | 0 to 16383, or disabled |
Arduino library | void writeEepromAlternativeDeviceNumber(uint16_t number) void writeEepromDisableAlternativeDeviceNumber() |
If this setting is enabled, the Motoron will respond to any Pololu protocol commands sent to its alternative device number or the primary device number. This setting only applies to Motorons with a serial (UART) interface.
Communication options
Offset | 5 |
---|---|
Type | 8-bit |
Data |
|
Default | 0 (all options disabled) |
JMP1 low | 0 (all options disabled) |
Arduino library | void writeEepromSerialOptions(uint8_t options) |
This setting only applies to Motorons with a UART serial interface. Each bit (when set to 1) enables the corresponding feature as described in Section 7.
Baud rate / baud divider
Offset | 6 |
---|---|
Type | unsigned 16-bit |
Data | 16000000 bps divided by the desired baud rate |
Default | 115200 bps |
JMP1 low | 9600 bps |
Range | 245 bps to 250000 bps |
Arduino library | void writeEepromBaudRate(uint32_t baud) |
This setting determines the bit rate used on the RX and TX lines of Motorons with a serial interface.
The Motoron’s baud rate can be set as high as 1 Mbps, but 250 kbps is the highest baud rate we recommend using. See Section 7 for details.
Response delay
Offset | 8 |
---|---|
Type | unsigned 8-bit |
Data | time in units of microseconds |
Default | 0 |
JMP1 low | 0 |
Range | 0 to 255 |
Arduino library | void writeEepromResponseDelay(uint8_t delay) |
This setting specifies an additional delay that the Motoron will perform before sending a serial response. This can be useful in systems where another device is reading data from the Motoron and needs some time to switch from transmitting to receiving.