UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 INTRODUCTION The UM7 is a 3rd-generation Attitude and Heading Reference System (AHRS) that takes advantage of state-of-the-art MEMS teschnology to improve performance and reduce costs. Like its predecessors, the UM7 combines triaxial accelerometer, rate gyro, and magnetometer data using a sophisticated Extended Kalman Filter to produce attitude and heading estimates.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Lower Cost State-of-the-art MEMS devices designed for mass-market consumer applications drastically lowers cost OEM version reduces overall cost, size, and weight Ease of use Transmits data using human-readable NMEA strings, binary packets for higher efficiency, or a combination of both. Flexible communication architecture allows UM7 to transmit any combination of data at individually adjustable rates.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 TABLE OF CONTENTS Introduction ................................................................................................................................1 Features ......................................................................................................................................1 Datasheet Revision History..........................................................................................................7 Specifications ...........
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Configuration Registers .............................................................................................................46 CREG_COM_SETTINGS – 0x00 (0) ..........................................................................................46 CREG_COM_RATES1 – 0x01 (1) ..............................................................................................48 CREG_COM_RATES2 – 0x02 (2) ..........................................................
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_MAG_RAW_XY – 0x5C (92)..........................................................................................67 DREG_MAG_RAW_Z – 0x5D (93) ...........................................................................................67 DREG_MAG_RAW_TIME – 0x5E (94)......................................................................................67 DREG_TEMPERATURE – 0x5F (95) ...............................................................................
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_POSITION_TIME – 0x78 (120) ......................................................................................76 DREG_VELOCITY_N – 0x79 (121) ............................................................................................76 DREG_VELOCITY_E – 0x7A (122) ............................................................................................77 DREG_VELOCITY_UP – 0x7B (123).....................................................................
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Disclaimer .................................................................................................................................84 DATASHEET REVISION HISTORY Rev. 1.0 – Initial Release Rev. 1.1 – Updated SPI bus information to more accurately describe minimum delay between SPI bytes. Updated absolute maximum rating information on header pins to identify 5V tolerant pins. Rev 1.2 – Fixed some register definition problems.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 SPECIFICATIONS ATTITUDE AND HEADING SPECIFICATIONS EKF Estimation Rate 500 Hz Static Accuracy – Pitch +/- 1 degree, typical* and Roll Dynamic Accuracy – Pitch and Roll +/- 3 degrees, typical* Static Accuracy – Yaw +/-3 degrees, typical* Dynamic Accuracy – Yaw +/- 5 degrees, typical* Repeatability 0.5 degrees Resolution < 0.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 * Maximum change without calibration. Improved performance can be obtained with calibration. ACCELEROMETER SPECIFICATIONS Sensitivity change vs. temperature* +/- 0.02% / deg C Bias change vs. temperature (X,Y)* +/- 0.75 mg/deg C Bias change vs. temperature (Z)* +/- 1.50 mg/deg C Rate noise density 400 ug / rtHz Dynamic Range +/- 8 g * Maximum change without calibration. Improved performance can be obtained with calibration.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Operating Temperature -40C to +85C Dimensions 1.06" x 1.02" x 0.26" (27mm x 26mm x 6.5mm) Weight 0.4 oz (11 grams) Data Output Rate 1 Hz to 255 Hz, binary packets 1 Hz to 100 Hz, NMEA packets Output Data Attitude, Heading (Euler Angles) Attitude quaternion GPS altitude, position, velocity (w/external GPS) GPS position in meters from home configurable home position.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 ABSOLUTE MAXIMUM RATINGS ABSOLUTE MAXIMUM MECHANICAL RATINGS Max Acceleration 3000g for 0.5 ms 10000 g for 0.1ms Operating Temperature Range -40C to +85 C Storage Temperature Range -40C to +125 C ABSOLUTE MAXIMUM ELECTRICAL RATINGS Supply Voltage (Vin) -0.3 V to +6.5 V Maximum voltage on any input (except Vin, TX, and RX) 3.5V Maximum voltage on TX and RX pins on main IO header 5.5V Minimum voltage on any pin -0.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 ELECTRICAL CHARACTERISTICS OPERATING CHARACTERISTICS Supply Voltage +4.0 V to +5.5V Operating current ~ 50mA at 5.0V IO Logic Level +3.3V TTL Input logic low threshold 1.16V Max Input logic high threshold 2.15V Min 3.3V pin, max output current (continuous, Vin = 5.0V, Ta = 25 C) 180mA 3.3V pin, max output current (continuous, Vin = 5.0V, Ta = 50 C) 120mA 3.3V pin, max output current (continuous, Vin = 5.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 PINOUT MAIN IO HEADER Mating connector: JST part number ZHR-5(P) Pin Name Description GND Supply ground 3.3V 3.3V output from onboard LDO. May also function as a 3.3V supply input if Vin is left unconnected. Vin Supply voltage input. 5.0V nominal. TX UART TX output (3.3V TTL) RX UART RX input (3.3V TTL) * The Main IO Header contains all pins required to operate the UM7 normally. The IO Expansion and Programming headers are optional.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 IO EXPANSION HEADER Mating connector: JST part number ZHR-6(P) Pin Name Description TX2 Secondary UART TX output (3.3V TTL). Can be used to interface with external GPS or Bluetooth module. If connected to GPS, this pin can serve as the PPS input to synchronize the system clock with UTC time (configured in the CREG_MISC_SETTINGS register). Leave unconnected if not used. RX2 Secondary UART RX input (3.3V TTL).
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 MECHANICAL DRAWING Dimensions are in inches. Unless otherwise noted, dimensional tolerances are within +/0.002”.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 SPI COMMUNICATION The UM7 SPI bus operates at a +3.3V logic level. The UM7 is a slave on the bus, remaining inactive unless queried by a master device. Since the SPI bus will not always be used, bus inputs (MOSI, SCK, SS) are pulled to +3.3V internally. This prevents noise from being registered by the UM7 as attempts to communicate with the sensor.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Commands are initiated over the SPI bus by sending a write operation to the command address, with all four data bytes at zero. The UM7 will not report that a command was executed over the SPI bus except for during a GET_FW_REVISION command, which causes the firmware revision to be sent over the MISO line during the next four byte transfers on the bus.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Figure 2 - Single Register Read Operation SS MOSI 0x00 Addr MISO 0x00 0x00 0x00 0x00 B3 B2 B1 B0 Figure 3 - Multiple Register Read Operation … SS MOSI 0x00 Addr1 MISO 0x00 0x00 0x00 Addr2 0x00 B3 B2 B1 B0 B3 … B2 … Figure 4 - Single Register Write Operation SS MOSI 0x01 Addr B3 B2 B1 B0 MISO SERIAL COMMUNICATION The UM7 communicates using a 3.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Depending on how it is configured, the UM7 can transmit either binary packets for efficiency, NMEA-style ASCII packets for easy readability, or a combination of both. NMEA packets can be transmitted by the UM7 at rates of up to 100 Hz. Binary packets can be transmitted at rates of up to 255 Hz. The communication architecture of the UM7 allows the user to select both what data is transmitted, and at what rates.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 by computers as well. The downside is that they are less efficient than binary packets, taking more time to transmit the same amount of information. Each NMEA packet begins with a $ symbol and ends with a carriage-return, linefeed pair (‘\r\n’, simply a new line when viewed on a serial terminal). Between the start and end symbols, the packet consists of a predefined comma-separated list containing sensor data.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 If no GPS is connected, this represents the amount of time in seconds since the sensor was last turned on. If GPS with PPS is properly connected, this is synchronized to UTC time of day. sats_used e.g. 05 Represents the number of satellites used in the GPS position fix, if GPS is connected. This field is always 2 digits long. sats_in_view e.g. 11 Represents the number of satellites being tracked by the GPS, if GPS is connected.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 This is the hex representation of the single-byte checksum of the packet. The checksum is computed using the exclusive-or of every byte in the packet except the * character preceding the checksum and the $ starting the packet. The checksum computation does include commas in the packet. Pose packet - $PCHRP DESCRIPTION The NMEA pose packet contains sensor position and Euler Angle attitude.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 If GPS is connected, this represents the sensor’s position in meters east of the configurable home position. If the sensor is more than 99 km away from its home position, the fractional digits are truncated. alt e.g. 15.521 This field can be up to 10 digits long. There will always be 3 decimal digits. If GPS is connected, this represents the sensor’s altitude in meters from the configurable home position.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 $PCHRA,time,roll,pitch,yaw,heading,*checksum e.g. $PCHRA,105.015,20.32,20.32,20.32,20.32,*66 PACKET FIELD DESCRIPTION Field Description $PCHRA Header field, always precedes the attitude packet time e.g. 105.015 This field can be up to 13 digits long. There will always be 3 decimal digits. If no GPS is connected, this represents the amount of time in seconds since the sensor was last turned on.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 The NMEA sensor packet contains gyro, accelerometer, and magnetometer data measured by the sensor. Because all the needed data will not fit into a single packet, this packet will be transmitted three times, once for each sensor. PACKET FORMAT $PCHRS,count,time,sensor_x,sensor_y,sensor_z,*checksum e.g. $PCHRS,1,105.015,-0.9987,-0.9987,-0.9987,*79 PACKET FIELD DESCRIPTION Field Description $PCHRS Header field, always precedes the attitude packet count e.g.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 This represents sensor data as specified in the ‘count’ field above. Gyro data is in degrees per second. Accelerometer data is in gravities. Magnetometer data is unit-norm (unitless). *checksum e.g. *79 This is the hex representation of the single-byte checksum of the packet. The checksum is computed using the exclusive-or of every byte in the packet except the * character preceding the checksum and the $ starting the packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 This represents the east velocity of the sensor in m/s as reported by GPS, if it is connected. vu e.g. 15.23 This field can be up to 7 digits long. There will always be 2 decimal digits. This field is provided for compatibility and is not used on the UM7, as GPS does not provide an upward velocity component. Will always be 0.00 on the UM7. Roll rate e.g. -450.26 This field can be up to 8 digits long. There will always be 2 decimal digits.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 $PCHRG Header field, always precedes the rate packet time e.g. 105.015 This field can be up to 13 digits long. There will always be 3 decimal digits. If no GPS is connected, this represents the amount of time in seconds since the sensor was last turned on. If GPS with PPS is properly connected, this is synchronized to UTC time of day. latitude e.g. 40.047706 This field can be up to 11 digits long. There will always be 6 decimal digits.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 the * character preceding the checksum and the $ starting the packet. The checksum computation does include commas in the packet. Quaternion Packet - $PCHRQ DESCRIPTION The NMEA quaternion packet contains the attitude quaternion (valid when the sensor is in quaternion mode). PACKET FORMAT $PCHRG,time,a,b,c,d,*checksum e.g. $PCHRG,105.015,0.76592,0.76592,0.76592,0.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 This represents element d of the attitude quaternion. *checksum e.g. *60 This is the hex representation of the single-byte checksum of the packet. The checksum is computed using the exclusive-or of every byte in the packet except the * character preceding the checksum and the $ starting the packet. The checksum computation does include commas in the packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 BINARY PACKET STRUCTURE Data transmitted and received by the UM7 is formatted into packets containing: 1. The three character start sequence 's', 'n', 'p' to indicate the start of a new packet (i.e. start new packet) 2. A "packet type" (PT) byte describing the function and length of the packet 3. An address byte indicating the address of the register or command 4. A sequence of data bytes, the length of which is specified in the PT byte 5.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 1 Hidden: If set, then the packet address specified in the “Address” field is a “hidden” address. Hidden registers are used to store factory calibration and filter tuning coefficients that do not typically need to be viewed or modified by the user. This bit should always be set to 0 to avoid altering factory configuration. 0 Command Failed (CF): Used by the autopilot to report when a command has failed. Must be set to zero for all packets written to the UM7.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Note that if a packet is a batch operation, the batch length must be greater than zero. The two checksum bytes consist of the unsigned 16-bit sum of all preceding bytes in the packet, including the packet header. Read Operations To initiate a serial read of one or more registers aboard the sensor, a packet should be sent to the UM7 with the "Has Data" bit cleared.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Command Operations There are a variety of register address that do not correspond with actual physical registers aboard the UM7. These "command" addresses are used to cause the sensor to execute specific commands (there are commands for executing calibration operations, resetting the onboard filters, etc. See the Register Overview in this document for more details).
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 uint8_t data_length; uint8_t data[30]; } UM7_packet; // parse_serial_data // This function parses the data in ‘rx_data’ with length ‘rx_length’ and attempts to find a packet // in the data. If a packet is found, the structure ‘packet’ is filled with the packet data. // If there is not enough data for a full packet in the provided array, parse_serial_data returns 1. // If there is enough data, but no packet header was found, parse_serial_data returns 2.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 uint8_t packet_index = index; // Check to see if the variable ‘packet_index’ is equal to (rx_length - 2). If it is, then the above // loop executed to completion and never found a packet header. if( packet_index == (rx_length – 2) ) { return 2; } // If we get here, a packet header was found. Now check to see if we have enough room // left in the buffer to contain a full packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 { // Packet has data and is a batch. This means it contains ‘batch_length' registers, each // of which has a length of 4 bytes data_length = 4*batch_length; } else // Packet has data but is not a batch. This means it contains one register (4 bytes) { data_length = 4; } } else // Packet has no data { data_length = 0; } // At this point, we know exactly how long the packet is. Now we can check to make sure // we have enough data for the full packet.
UM7 DATASHEET Rev. 1.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 tx_data[1] = ‘n’; tx_data[2] = ‘p’; tx_data[3] = 0x00; // Packet Type byte tx_data[4] = 0xAA; // Address of GET_FW_REVISION register tx_data[5] = 0x01; // Checksum high byte tx_data[6] = 0xFB; // Checksum low byte USART_transmit( tx_data, 7 ); The preceding code assumes that a function called USART_transmit( uint8_t* data, uint8_t length) exists that transmits ‘length’ characters from the provided buffer over the UART.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 // If so, do stuff with them. } Note that it is not always sufficient to simply check the address of the data register that you want to read. In almost all cases, data automatically transmitted by the UM7 is sent in batch operations to improve efficiency. For example, when processed rate gyro is transmitted, it is sent in one batch packet containing registers 97 (gyro x), 98 (gyro y), 99 (gyro z), and 100 (gyro time).
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 0x05 (5) CREG_COM_RATES5 Broadcast rate settings 0x06 (6) CREG_COM_RATES6 Broadcast rate settings 0x07 (7) CREG_COM_RATES7 Broadcast rate settings 0x08 (8) CREG_MISC_SETTINGS Misc.
UM7 DATASHEET Rev. 1.
UM7 DATASHEET Rev. 1.
UM7 DATASHEET Rev. 1.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 0x8A (138) DREG_GYRO_BIAS_Y Gyro y-axis bias estimate 0x8B (139) DREG_GYRO_BIAS_Z Gyro z-axis bias estimate Commands Address Name Description 0xAA (170) GET_FW_REVISION Causes the autopilot to respond with a packet containing the current firmware revision.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 CONFIGURATION REGISTERS A set of 32-bit configuration registers allows the UM7’s behavior to be customized for specific applications. In general, settings are most easily configured using the CHR Serial Interface, which allows the contents of each configuration register to be set without understanding the register contents at the bit/byte level. This section outlines in detail the contents and functionality of each register.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 4 = 57600 5 = 115200 6 = 128000* 7 = 153600* 8 = 230400* 9 = 256000* 10 = 460800* 11 = 921600* 12:15 = reserved * Most PC serial ports do not support baud-rates above 115200 27:24 GPS_BAUD Sets the baud rate of the UM7 auxiliary serial port.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 CREG_COM_RATES1 – 0x01 (1) SUMMARY The CREG_COM_RATES1 register sets desired telemetry transmission rates in Hz for raw accelerometer, gyro, and magnetometer data. If the specified rate is 0, then no data is transmitted. REGISTER CONTENTS B3 B2 B1 B0 RAW_ACCEL_RATE RAW_GYRO_RATE RAW_MAG_RATE Reserved DESCRIPTION Bits Name Description 31:24 RAW_ACCEL_RATE Specifies the desired raw accelerometer data broadcast rate in Hz.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 CREG_COM_RATES2 – 0x02 (2) SUMMARY The CREG_COM_RATES2 register sets desired telemetry transmission rates for all raw data and temperature. If the specified rate is 0, then no data is transmitted. REGISTER CONTENTS B3 B2 B1 B0 TEMP_RATE RES RES ALL_RAW_RATE DESCRIPTION Bits Name Description 31:24 TEMP_RATE Specifies the desired broadcast rate for temperature data. The data is stored as an unsigned 8-bit integer, yielding a maximum rate of 255 Hz.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 CREG_COM_RATES3 – 0x03 (3) SUMMARY The CREG_COM_RATES3 register sets desired telemetry transmission rates for processed sensor data. If the specified rate is 0, then no data is transmitted. REGISTER CONTENTS B3 B2 B1 B0 PROC_ACCEL_RATE PROC_GYRO_RATE PROC_MAG_RATE Reserved DESCRIPTION Bits Name 31:24 PROC_ACCEL_RATE Specifies the desired broadcast rate for processed accelerometer data.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 If the “all processed data broadcast rate” setting in register CREG_COM_RATES4 is not zero, then the rates specified in the CREG_COM_RATES3 register are overridden. CREG_COM_RATES4 – 0x04 (4) SUMMARY The CREG_COM_RATES4 register sets desired telemetry transmission rates for all processed dat. If the specified rate is 0, then no data is transmitted.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 B3 B2 B1 B0 QUAT_RATE EULER_RATE POSITION_RATE VELOCITY_RATE DESCRIPTION Bits Name Description 31:24 QUAT_RATE Specifies the desired broadcast rate for quaternion data. The data is stored as an unsigned 8-bit integer, yielding a maximum rate of 255 Hz. 23:16 EULER_RATE Specifies the desired broadcast rate for Euler Angle data. The data is stored as an unsigned 8-bit integer, yielding a maximum rate of 255 Hz.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 CREG_COM_RATES6 – 0x06 (6) SUMMARY The CREG_COM_RATES6 register sets desired telemetry transmission rates for pose (Euler/position packet), health, and gyro bias estimates. If the specified rate is 0, then no data is transmitted.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 * Will default to 1Hz 15:8 GYRO_BIAS_RATE Specifies the desired broadcast rate for gyro bias estimates. The rate is stored as an unsigned 8-bit integer, yielding a maximum rate of 255 Hz. 7:0 RESERVED These bits are reserved for future use. Pose data (Euler Angles and position) is stored in registers 112 to 120. If the pose rate is greater than 0, then pose data will be transmitted in a batch packet with length 9 and start address 112.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 0 = off 1 = 1 Hz 2 = 2 Hz 3 = 4 Hz 4 = 5 Hz 5 = 10 Hz 6 = 15 Hz 7 = 20 Hz 8 = 30 Hz 9 = 40 Hz 10 = 50 Hz 11 = 60 Hz 12 = 70 Hz 13 = 80 Hz 14 = 90 Hz 15 = 100 Hz 27:24 POSE_RATE Specifies the desired broadcast rate for CHR NMEA-style pose (Euler Angle/position) packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 12 = 70 Hz 13 = 80 Hz 14 = 90 Hz 15 = 100 Hz 23:20 ATTITUDE_RATE Specifies the desired broadcast rate for CHR NMEA-style attitude packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 5 = 10 Hz 6 = 15 Hz 7 = 20 Hz 8 = 30 Hz 9 = 40 Hz 10 = 50 Hz 11 = 60 Hz 12 = 70 Hz 13 = 80 Hz 14 = 90 Hz 15 = 100 Hz 15:12 RATES_RATE Specifies the desired broadcast rate for CHR NMEA-style rate data packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 11:8 GPS_POSE_RATE Specifies the desired broadcast rate for CHR NMEA-style GPS pose packet. 0 = off 1 = 1 Hz 2 = 2 Hz 3 = 4 Hz 4 = 5 Hz 5 = 10 Hz 6 = 15 Hz 7 = 20 Hz 8 = 30 Hz 9 = 40 Hz 10 = 50 Hz 11 = 60 Hz 12 = 70 Hz 13 = 80 Hz 14 = 90 Hz 15 = 100 Hz 7:4 QUAT_RATE Specifies the desired broadcast rate for CHR NMEA-style quaternion packet.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 9 = 40 Hz 10 = 50 Hz 11 = 60 Hz 12 = 70 Hz 13 = 80 Hz 14 = 90 Hz 15 = 100 Hz 3:0 RES These bits are reserved. CREG_MISC_SETTINGS – 0x08 (8) SUMMARY This register contains miscellaneous filter and sensor control options.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 2 ZG If set, this bit causes the UM7 to attempt to measure the rate gyro bias on startup. The sensor must be stationary on startup for this feature to work properly. 1 Q If this bit is set, the sensor will run in quaternion mode instead of Euler Angle mode. 0 MAG If set, the magnetometer will be used in state updates.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 B3 B2 B1 B0 32-bit IEEE Floating Point Value CREG_GYRO_TRIM_X – 0x0C (12) SUMMARY This register sets the x-axis rate gyro trim, which is used to add additional bias compensation for the rate gyros during calls to the ZERO_GYRO_BIAS command.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 CREG_MAG_CAL1_1 to CREG_MAG_CAL3_3 – 0x0F (15) to 0x17 (23) SUMMARY These registers store the 9 entries into a 3x3 matrix that is used to perform soft-iron calibration of the magnetometer on the device. These terms can be computed by performing magnetometer calibration with the CHR Serial Interface.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 SUMMARY This registers stores a bias term for the magnetometer z-axis for hard-iron calibration. This term can be computed by performing magnetometer calibration with the CHR Serial Interface.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DATA REGISTERS DREG_HEALTH – 0x55 (85) SUMMARY The health register reports the current status of the GPS module and the other sensors on the UM7. Monitoring the health register is the easiest way to monitor the quality of the GPS lock and to watch for other problems that could affect the behavior of the UM7.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 trusted. Usually indicates bad calibration, local field distortions, or both. 4 ACC_N This bit is set if the sensor detects that the norm of the accelerometer measurement is too far away from 1G to be used (i.e. during aggressive acceleration or high vibration). 3 ACCEL This bit will be set if the accelerometer fails to initialize on startup. 2 GYRO This bit will be set if the rate gyro fails to initialize on startup.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_GYRO_RAW_TIME – 0x58 (88) SUMMARY Contains time at which the last rate gyro data was acquired. REGISTER CONTENTS B3 B2 B1 B0 Gyro Time (IEEE Floating Point) DREG_ACCEL_RAW_XY – 0x59 (89) SUMMARY Contains raw X and Y axis accelerometer data.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_MAG_RAW_XY – 0x5C (92) SUMMARY Contains raw X and Y axis magnetometer data. REGISTER CONTENTS B3 B2 B1 Mag X (2’s complement 16-bit integer) B0 Mag Y (2’s complement 16-bit integer) DREG_MAG_RAW_Z – 0x5D (93) SUMMARY Contains raw Z axis magnetometer data REGISTER CONTENTS B3 B2 B1 Mag Z (2’s complement 16-bit integer) B0 RES DREG_MAG_RAW_TIME – 0x5E (94) SUMMARY Contains time at which the last magnetometer data was acquired.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 REGISTER CONTENTS B3 B2 B1 B0 Temperature in degrees C (IEEE Floating Point) DREG_TEMPERATURE_TIME – 0x60 (96) SUMMARY Contains time at which the last temperature was acquired. REGISTER CONTENTS B3 B2 B1 B0 Temperature time (IEEE Floating Point) DREG_GYRO_PROC_X – 0x61 (97) SUMMARY Contains the actual measured angular rate in degrees/s after calibration has been applied.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 B3 B2 B1 B0 Gyro Y (IEEE Floating Point) DREG_GYRO_PROC_Z – 0x63 (99) SUMMARY Contains the actual measured angular rate in degrees/s after calibration has been applied. REGISTER CONTENTS B3 B2 B1 B0 Gyro Z (IEEE Floating Point) DREG_GYRO_PROC_TIME – 0x64 (100) SUMMARY Contains the time at which the last rate gyro data was measured.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Contains the actual measured acceleration in m/s/s after calibration has been applied. REGISTER CONTENTS B3 B2 B1 B0 Accel Y (IEEE Floating Point) DREG_ACCEL_PROC_Z – 0x67 (103) SUMMARY Contains the actual measured acceleration in m/s/s after calibration has been applied. REGISTER CONTENTS B3 B2 B1 B0 Accel Z (IEEE Floating Point) DREG_ACCEL_PROC_TIME – 0x68 (104) SUMMARY Contains the time at which the acceleration was measured.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 REGISTER CONTENTS B3 B2 B1 B0 Mag X (IEEE Floating Point) DREG_MAG_PROC_Y – 0x6A (106) SUMMARY Contains the actual measured magnetic field after calibration has been applied. REGISTER CONTENTS B3 B2 B1 B0 Mag Y (IEEE Floating Point) DREG_MAG_PROC_Z – 0x6B (107) SUMMARY Contains the actual measured magnetic field after calibration has been applied.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Contains the first two components of the estimated quaternion attitude. REGISTER CONTENTS B3 B2 B1 Quat A B0 Quat B DESCRIPTION Bits Name Description 31:16 Quat A First quaternion component. Stored as a 16-bit signed integer. To get the actual value, divide by 29789.09091. 15:0 Quat B Second quaternion component. Stored as a 16-bit signed integer. To get the actual value, divide by 29789.09091.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 REGISTER CONTENTS B3 B2 B1 B0 Quaternion Time (IEEE Floating Point) DREG_EULER_PHI_THETA – 0x70 (112) SUMMARY Contains the pitch and roll angle estimates. REGISTER CONTENTS B3 B2 B1 Phi (roll) B0 Theta (Pitch) DESCRIPTION Bits Name Description 31:16 Phi (roll) Roll angle. Stored as a 16-bit signed integer. To get the actual value, divide by 91.02222. 15:0 Theta (pitch) Pitch angle. Stored as a 16-bit signed integer.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 31:16 Psi (yaw) Yaw angle. Stored as a 16-bit signed integer. To get the actual value, divide by 91.02222. 15:0 Unused These bits are unused DREG_EULER_PHI_THETA_DOT – 0x72 (114) SUMMARY Contains the pitch and roll rate estimates. REGISTER CONTENTS B3 B2 B1 Roll rate B0 Pitch rate DESCRIPTION Bits Name Description 31:16 Roll rate Roll rate. Stored as a 16-bit signed integer. To get the actual value in degrees per second, divide by 16.0.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Bits Name Description 31:16 Yaw rate Yaw rate. Stored as a 16-bit signed integer. To get the actual value in degrees per second, divide by 16.0. 15:0 Unused These bits are unused DREG_EULER_TIME – 0x74 (116) SUMMARY Contains the time that the Euler Angles were measured.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 REGISTER CONTENTS B3 B2 B1 B0 East Position (IEEE Floating Point) DREG_POSITION_UP – 0x77 (119) SUMMARY Contains the measured altitude in meters from the altitude specified in CREG_HOME_UP. REGISTER CONTENTS B3 B2 B1 B0 Altitude (IEEE Floating Point) DREG_POSITION_TIME – 0x78 (120) SUMMARY Contains the time at which the position was acquired.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_VELOCITY_E – 0x7A (122) SUMMARY Contains the measured east velocity in m/s. REGISTER CONTENTS B3 B2 B1 B0 East Velocity (IEEE Floating Point) DREG_VELOCITY_UP – 0x7B (123) SUMMARY Contains the measured altitude velocity in m/s. REGISTER CONTENTS B3 B2 B1 B0 Altitude Velocity (IEEE Floating Point) DREG_VELOCITY_TIME – 0x7C (124) SUMMARY Contains the time at which the velocity was measured.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_GPS_LONGITUDE – 0x7E (126) SUMMARY Contains the GPS-reported longitude in degrees. REGISTER CONTENTS B3 B2 B1 B0 GPS Longitude (IEEE Floating Point) DREG_GPS_ALTITUDE – 0x7F (127) SUMMARY Contains the GPS-reported altitude in meters. REGISTER CONTENTS B3 B2 B1 B0 GPS Altitude (IEEE Floating Point) DREG_GPS_COURSE – 0x80 (128) SUMMARY Contains the GPS-reported course in degrees.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 DREG_GPS_TIME – 0x82 (130) SUMMARY Contains the GPS-reported time in seconds from the last epoch. REGISTER CONTENTS B3 B2 B1 B0 GPS Time (IEEE Floating Point) DREG_GPS_SAT_1_2 – 0x83 (131) SUMMARY Contains satellite ID and SNR for satellites 1 and 2.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Sat3 ID Sat3 SNR Sat4 ID Sat4 SNR DESCRIPTION Bits Name Description 31:24 Sat3 ID ID of satellite 23:16 Sat3 SNR Signal-to-Noise Ratio of satellite as reported by GPS receiver 15:8 Sat4 ID ID of satellite 7:0 Sat5 SNR Signal-to-Noise Ratio of satellite as reported by GPS receiver DREG_GPS_SAT_5_6 – 0x85 (133) SUMMARY Contains satellite ID and SNR for satellites 5 and 6.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 B3 B2 B1 B0 Sat7 ID Sat7 SNR Sat8 ID Sat8 SNR DESCRIPTION Bits Name Description 31:24 Sat7 ID ID of satellite 23:16 Sat7 SNR Signal-to-Noise Ratio of satellite as reported by GPS receiver 15:8 Sat8 ID ID of satellite 7:0 Sat8 SNR Signal-to-Noise Ratio of satellite as reported by GPS receiver DREG_GPS_SAT_9_10 – 0x87 (135) SUMMARY Contains satellite ID and SNR for satellites 9 and 10.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 REGISTER CONTENTS B3 B2 B1 B0 Sat11 ID Sat11 SNR Sat12 ID Sat12 SNR DESCRIPTION Bits Name Description 31:24 Sat11 ID ID of satellite 23:16 Sat11 SNR Signal-to-Noise Ratio of satellite as reported by GPS receiver 15:8 Sat12 ID ID of satellite 7:0 Sat12 SNR Signal-to-Noise Ratio of satellite as reported by GPS receiver DREG_GYRO_BIAS_X – 0x89 (137) SUMMARY Contains the estimated x-axis gyro bias in deg/s.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 REGISTER CONTENTS B3 B2 B1 B0 Gyro bias X (IEEE Floating Point) COMMANDS GET_FW_REVISION – 0xAA (170) Causes the UM7 to transmit a packet containing the firmware revision string. The firmware revision is a four-byte character sequence. The first firmware release version for the UM7, for example, was “OR1A”. The address of the packet will be 0xAA. The data section of the packet will contain four bytes.
UM7 DATASHEET Rev. 1.6 – Released 1/10/2016 Resets the filter. DISCLAIMER This document is provided as reference only. Typical device specifications must be evaluated by the end-user. Redshift Labs reserves the right to modify this document and the products it describes without notice.