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.

Olimex ESP8266 board with wires off to the standby board

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.

Avatar
Michael Hope
Software Engineer