Skip to content

Repository files navigation

CambridgeSoundWorksDigitalIRRemote

A Digispark/ATtiny85 DIY based IR (infra-red) remote control for a vintage Cambridge SoundWorks Digital CSW250 2.1 speaker system from 1999. This speaker system is connected to my TV and is responsible for the TV-audio.

Perfboard of the CambridgeSoundWorksDigitalIRRemote

The CambridgeSoundWorksDigitalIRRemote replaces the original speaker system "remote" control, which has some disadvantages:

  • Cable bounded (Max. 2 meters distance)
  • Without turning off the speaker system, the speaker system has an idle power consumption of about 7.5 W (even without audio input)1
  • With turning off the speaker system, the system has a power consumption of about 3.1 W2
  • To turn off the speaker system, the volume level has to be set to minimum volume level
  • After turning on the speaker system the previous volume level has to restored manually

The CambridgeSoundWorksDigitalIRRemote allows me use the IR wireless controller from my TV to

  • turn on/off the speaker system
  • automatically restore the last used volume level after turning on
  • change the volume level
  • mute/unmute

License and copyright

My code and this page is licensed under the terms of the CC0 Copyright (c) 2025 codingABI.

Used external board and libraries from Arduino IDE Board and Library Manager:

  • Board: ATTinyCore 1.5.2, LGPL version 2.1 by SpenceKonde
  • Libraries:

Hardware

  • Digispark ATtiny85 Microcontroller with reset pin configured as I/O pin
  • Digital potentiometer X9C103
  • IR-Receiver VS1838B
  • Optocoupler 817A
  • Cambridge SoundWorks Digital CSW250
  • Sony KDL-40W4500 TV with Sony RM-ED011 remote controller

Warning

The CambridgeSoundWorksDigitalIRRemote was designed only for my combination: Cambridge SoundWorks Digital CSW250 and Sony KDL-40W4500/Sony RM-ED011. Other TVs/IR-Remote controls could also work, if you find the appropriate IR signals and adjust my code

Used development environment

Arduino IDE 1.8.19 (Without "real portable" support version 2.* makes no sense for me https://forum.arduino.cc/t/arduino-ide-2-0-portable/, arduino/arduino-ide#122 ...)

IDE-Board settings:

  • ATtiny85 (Micronucleus / Digispark)
  • Clock: "8 MHz (no USB)" (8 MHz reduces the power consumption)

Appendix

Schematic

Schematic

Note

The schematic shows a female Mini-DIN-6 connector

Cambridge SoundWorks Digital CSW250

Cambridge SoundWorks Digital CSW250

Original remote control

The original remote control is cable bounded and connected by a Mini-DIN-6-Connector to the speaker system.

PCB CT5210B frontside

PCB CT5210B backside

After analyzing the PCB I got the following schematic:

PCB CT5210B schematic

Note

The schematic shows a female Mini-DIN-6 connector

SW1AReaction at the speaker system
OpenTurned off
ClosedTurned on (~1.3 mA between Mini-DIN-6 pin 6 and 3)

The CambridgeSoundWorksDigitalIRRemote replaces the mechanical switch SW1A with an optocoupler.

Mini-DIN-6 pinColorConnected to speaker system (my assumption)
1RedGround
2White5.6 V (seems to be regulated)
3GreenTurns on/off the audio amplifier (Pin 6 and 3 connected=On, Pin 6 and 3 disconnected=Off)
4YellowAudio volume level (0.76 V = Minimum volume, 5.14V = Maximum volume)
5BlueNot connected
6BlackVcc (15-18 V, when Pin 6 and 3 are not connected. Decreases to ~85%, when Pin 6 and 3 are connected)

The original remote control uses a linear B50K potentiometer RV1. Resistor R201 changes the linear to a non linear behaviour (see the following red line).

Voltage on Mini-DIN-6 pin 4 on the original remote control and CambridgeSoundWorksDigitalIRRemote

The CambridgeSoundWorksDigitalIRRemote uses a digital, 100-steps, linear potentiometer with 10K (because I had no 50K). To get a similar non linear behaviour (Green line) and to ensures that my digital potentiometer did not get more then the allowed 5 V, I had to lower the resistors:

  • R200 to 1K
  • R201 to 5K1
  • R202 to 2K

Sony RM-ED011

My Sony TV KDL-40W4500 has a "RM-ED011" IR remote control and the CambridgeSoundWorksDigitalIRRemote uses it to control the Cambridge SoundWorks Digital speaker system.

Sony RM-ED011 Remote control

The IRremote example ReceiveDump shows me the following addresses and commands and I use some of them for the CambridgeSoundWorksDigitalIRRemote:

ButtonAddress/Device CodeCommand
Button 010x010x3A
Button 020xA40x3D
Button 03*0x010x15
Button 040x970x1B
Button 050x970x1A
Button 060x970x19
Button 070x970x1C
Button 080x1A0x58
Button 090x970x18
Button 100x770x60
Button 11*0x770x52
Button 12*0x010x38
Button 130x970x28
Button 140x010x17
Button 150xA40x5B
Button 160x010x25
Button 170x010x65
Button 180x010x74
Button 190x010x75
Button 200x010x34
Button 210x010x33
Button 220x970x23
Button 230x970x36
Button 240x010x60
Button 250x030x4C
Button 260x030x4D
Button 270x030x4E
Button 280x030x4F
Button 29*0x010x00
Button 30*0x010x01
Button 31*0x010x02
Button 32*0x010x03
Button 33*0x010x04
Button 34*0x010x05
Button 35*0x010x06
Button 36*0x010x07
Button 37*0x010x08
Button 380x010x3F
Button 39*0x010x09
Button 400x770x76
Button 41*0x010x12
Button 42*0x010x13
Button 43*0x010x10
Button 44*0x010x11
Button 45*0x010x14
Button 460x010x3B

*TV can be turned on with this button

Power consumption

The CambridgeSoundWorksDigitalIRRemote gets its 5 V supply voltage from the USB port of my Sony-TV. When the Sony-TV is turned off about ~22 minutes later the USB port will be automatically disconnected.

Before disconnecting the 5 V supply voltage, the power consumption of the CambridgeSoundWorksDigitalIRRemote is dependent on the used voltage on the Digispark "5V"-pin, the clock speed and sleep mode:

"5V"-pin voltageClock speedSleep modePower consumptionComment
5.0 V16.5 MHz, tuned of USB (USB)none116 mW5 V from TV connected to "5V"-Pin of the Digispark
5.0 V16.5 MHz, tuned of USB (USB)SLEEP_MODE_IDLE93 mW5 V from TV connected to "5V"-Pin of the Digispark
5.0 V8 MHz (no USB)none96 mW5 V from TV connected to "5V"-Pin of the Digispark
5.0 V8 MHz (no USB)SLEEP_MODE_IDLE80 mW5 V from TV connected to "5V"-Pin of the Digispark
4.7 V8 MHz (no USB)SLEEP_MODE_IDLE70 mW5 V from TV connected to Digispark USB port (My Digispark uses a S4 Schottky diode with a forward voltage of ~0.3 V)3
4.3 V8 MHz (no USB)SLEEP_MODE_IDLE65 mW5 V from TV connected via a 1N4007 diode to "5V"-Pin of the Digispark4

Below 8 MHz the ATtiny85 can not receive IR signals from my Sony RM-ED011 (At least with the used library IRremote).

As as result of this table the CambridgeSoundWorksDigitalIRRemote uses 4.3 V, "8 MHz (no USB)" and SLEEP_MODE_IDLE

=> 65 mW power consumption5.

Pin 5 of Digispark as I/O pin

My Digispark clone uses pin 5 as a reset pin. To use this pin as an I/O pin I had to change a fuse:

hardware\tools\avr\bin\avrdude.exe -P com4 -C hardware\tools\avr\etc\avrdude.conf -b 19200 -c avrisp -p attiny85 -n
hardware\tools\avr\bin\avrdude.exe -P com4 -C hardware\tools\avr\etc\avrdude.conf -b 19200 -c avrisp -p attiny85 -U hfuse:w:0x5F:m 

Warning

After that the Digispark can only be programmed by a USB-micronucleus-bootloader or a high voltage programmer!

Pin 5 is a "weak" pin and can not provide as much power as the other I/O pins, but can provide the needed ~1.5 mA to drive the used optocoupler.

Footnotes

  1. Replacing the original power supply TEAD-66-153000V with a smaller/newer 15 V power supply (for example https://www.amazon.de/dp/B0D2K7L311?ref=ppx_yo2ov_dt_b_fed_asin_title) reduces the idle power consumption to 3.8 W

  2. Replacing the original power supply TEAD-66-153000V with a smaller/newer 15 V power supply (for example https://www.amazon.de/dp/B0D2K7L311?ref=ppx_yo2ov_dt_b_fed_asin_title) reduces turned off consumption to ~0 W

  3. "Pin high" voltage for pin 5=2.4 V, optocoupler If=1.6 mA, Ic=1.3 mA, Uceo=0.2 V

  4. "Pin high" voltage for Pin 5=2.2 V, optocoupler If=1.4 mA, Ic=1.1 mA, Uceo=1.8 V (not optimal, but working)

  5. Most of the power is not consumed by the ATtiny85. About 75% is consumed by the other used electronic components (Builtin LED, driving the optocoupler, digital potentiometer, USB data lines,...)

About

Digispark/ATtiny85 DIY based remote control for a vintage Cambridge SoundWorks Digital CSW250 speaker system

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages