Altus Optidrive Eco Modbus register map
Also covers ODV-3
HVAC variable speed drive: control word, speed reference, ramp time, status and trip code, output frequency, current, torque and power, inputs, DC bus, temperature and energy meters
- Official
- 32 registers
- Modbus RTU
- Revision 1 · 2026-11-10
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 115200 8N1 · 115200 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 32 holding registers
- Groups
- 6
- Revision
- 1 · 2026-11-10
- Added
- ()
- File
- maps/altus/optidrive-eco.mbmap.json · 7 KB · history
- SHA-256
- f9b5ed5a9a9d804c29d28d33ea52f0a846b6fa07c92a7732d13d3216b6116c4c
- Manufacturer
- altus.com.br
Sources and notes
- Guia do usuário do Optidrive ECO · version Versão 3.12 linked in issue #119; section 10.2 (Comunicações do Modbus RTU); written for firmware 2.51
Source: Guia do usuário do Optidrive ECO, Versão 3.12
- Modbus RTU on the RJ45 connector (pin 7 RS485-, pin 8 RS485+), also used by BACnet MS/TP. FC03, FC06 and FC16 (registers 1 to 4 only). Registers are numbered from 1, as in the guide: masters that start at 0 must subtract 1.
- Factory settings: address 1 (P5-01, 1 to 63; P5-16 allows 0 to 247), 115.2 kbit/s (P5-03), no parity and 1 stop bit (P5-04 = n-1). P5-04 also allows n-2, odd and even parity with one stop bit; P5-01, P5-03 and P5-04 cannot be changed over Modbus.
- Registers 1 and 2 control the drive only when P1-12 = 4 (Modbus RTU) and no fieldbus module is fitted; register 4 needs fieldbus ramp control. Registers 6 to 35 can always be read. Register 3 is reserved.
- Every parameter of groups 1 to 5 is also a register: its number is the parameter number (P1-01 is register 101). Values with a decimal point are sent multiplied by 10. Only P1-01 is listed here as an example.
- Register 6: the low byte is the status byte, the high byte is the fault number. The guide's text for the pre-ramp speed reference (register 22) gives no scale; it is shown raw. Energy meters are two registers each (kWh and MWh parts) with no stated decimals. The guide is written for firmware 2.51.
- Written from the user guide; this map has not been tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 1 | bool bit 0 | RW | 1 = run, 0 = stop | |||
| HR | 1 | bool bit 1 | RW | 1 = stop with the second deceleration ramp | |||
| HR | 1 | bool bit 2 | RW | 1 = reset an active trip; set back to 0 after the fault clears | |||
| HR | 1 | bool bit 3 | RW | 1 = coast to stop | |||
| HR | 2 | uint16 | RW | Hz | ×0.1 | Setpoint in Hz with one decimal | |
| HR | 4 | uint16 | RW | s | ×0.01 | Acceleration and deceleration time, 0 to 60000 raw; used when fieldbus ramp control is enabled | |
| HR | 6 | bool bit 0 | R | ||||
| HR | 6 | bool bit 1 | R | ||||
| HR | 6 | bool bit 2 | R | ||||
| HR | 6 | bool bit 3 | R | ||||
| HR | 6 | bool bit 4 | R | ||||
| HR | 6 | bool bit 5 | R | ||||
| HR | 6 | bool bit 6 | R | ||||
| HR | 6 | bool bit 7 | R | 1 = low or high load detected | |||
| HR | 6 | uint16 bits 8–15 | R | Number of the active fault; see the fault list in the guide | |||
| HR | 7 | uint16 | R | Hz | ×0.1 | ||
| HR | 8 | uint16 | R | A | ×0.1 | ||
| HR | 9 | int16 | R | % | ×0.1 | ||
| HR | 10 | uint16 | R | kW | ×0.01 | ||
| HR | 11 | uint16 | R | Bit 0 = digital input 1, and so on | |||
| HR | 20 | uint16 | R | % | ×0.1 | ||
| HR | 21 | uint16 | R | % | ×0.1 | ||
| HR | 22 | uint16 | R | Internal frequency setpoint | |||
| HR | 23 | uint16 | R | V | |||
| HR | 24 | int16 | R | °C | |||
| HR | 30 | uint16 | R | User-resettable energy meter, kWh part (P0-26); decimals not stated | |||
| HR | 31 | uint16 | R | User-resettable energy meter, MWh part (P0-27) | |||
| HR | 32 | uint16 | R | Non-resettable energy meter, kWh part | |||
| HR | 33 | uint16 | R | Non-resettable energy meter, MWh part | |||
| HR | 34 | uint16 | R | h | Total operating time, hours (P0-31) | ||
| HR | 35 | uint16 | R | Total operating time, minutes and seconds (P0-31); packing not described | |||
| HR | 101 | uint16 | RW | Hz | ×0.1 | P1-01 |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).