Brainslug
I have a Marantz PM6006 amplifier which sounds great, but it’s older tech and doesn’t integrate with the rest of my home automation. In particular I’d like to have it follow the TV power state and automatically turn on when the TV turns on and turn off shortly after the TV turns off. This should reduce the overall power consumption as it’s a class AB amplifier and draws ~50 W even when idle.
The solution was to add Wifi based control using ESPHome. The integration was pretty clean as all of the signals needed are on the easily accessible STANDBY board which has:
- The always on 5 V standby supply
- The main power relay
- The wired remote
I used an Olimex ESP8266 board that I had in the spare parts drawer. The Olimex has a few unused pads which meant the support components (a MC1700 regulator, filter capacitor, and diode for the remote control interface) could be soldered to the board without needing an extra stripboard.
The signals needed are readily available on the STANDBY board. J8508 is +5 V, J8502 is GND, and the top two pins on N8504 are the RC5
and POW_ON
relay drive connections. The schematic for the very similar PM6005 is readily available online.
POW_ON
connects to GPIO15
and RC5
to GPIO13
via a diode so the infrared remote will still work. The ESPHome configuration is:
esphome:
name: pm6006
comment: PM6006 Amplifier
platform: esp8266
board: modwifi
wifi:
ssid: "your-ssid-here"
password: "your-password-here"
ap:
ssid: "PM6006 Fallback Hotspot"
password: "random-data"
power_save_mode: HIGH
captive_portal:
logger:
prometheus:
api:
password: "your-secret-here"
ota:
password: "your-secret-here"
status_led:
pin:
number: GPIO1
inverted: True
binary_sensor:
- platform: gpio
name: "PM6006 power sense"
id: pm6006_power_sense
pin:
number: 15
remote_transmitter:
pin:
number: GPIO13
inverted: True
carrier_duty_percent: 100%
switch:
- platform: template
name: "PM6006 power"
lambda: |-
if (id(pm6006_power_sense).state) {
return true;
} else {
return false;
}
turn_on_action:
remote_transmitter.transmit_rc5:
address: 0x10
command: 0x0C
repeat: 2
turn_off_action:
remote_transmitter.transmit_rc5:
address: 0x10
command: 0x0C
repeat: 2
Once flashed, the devices appears in Home Assistant and can be controlled from there. The device appears as a single switch where the state reflects the main power relay state so any external changes (like using the remote control) or lost packets will still show the correct power state.
I had to patch ESPHome to support the remote transmitter inverted mode. I’ll clean the patch up and send it upstream.
Marantz use the RC-5 standard commands so I’ll add other commands like volume control and input selection in the future.
I initially tried using a ESP32 board but the initial current draw was too high and caused the standby supply to collapse. The ESP8266 board draws about 70 mA once connected.