Archos Remote

Description

The Archos Remote project was published in the May 2004 issue of Nuts & Volts. Click on the image below for a PDF file containing the original article. Please note that there appears to have been some slight mangling of the text before it reached the press so if you spot an error it is probably due to this.

(Reprinted by permission only from T & L Publications, Inc., d.b.a., Nuts & Volts, Copyright 2004).

 

 

This project implements a remote control for the Archos series of MP3 jukebox recorders and players, using a PIC12LC508A to provide the necessary logic. Six buttons allow the user to increase or decrease the playback volume, Play, Stop, and skip to the next or the previous song. The remote runs on one 3V CR2032 battery, which should have a life of more than a year under normal usage. If a PIC12C508A is used, then a supply voltage of 4.5V should be provided. Note that only certain Archos products are supported by the remote control. Check on the Archos site to determine which units are supported by the remote in their travel kit – the same devices should work fine with this design.

Acknowledgements

Information required to drive the remote port of Archos devices was gleaned from Tjerk Schuringa, creator of the original REMOCLONE remote (implemented with a 16LF84), and the authors of Rockbox, the amazing open source alternative to the Archos' proprietary firmware.

User Operation

Controlling the Archos players and recorders with the remote is straightforward. However, in some - hopefully rare - cases, it may be necessary to adjust the rate at which commands are transmitted. Refer to the Calibration mode section below for information about how this is done.

Normal mode

  • The user presses the button for the required function and, when a valid debounced button press is determined, the appropriate code is sent to the Archos. Only one key can be pressed at a time (with one exception - see Calibration Mode below), all other combinations are treated as invalid. Holding a volume adjustment key down sends a stream of repeat commands to the Archos.

Calibration mode

  • If Volup and Voldn are pressed simultaneously for about 2 seconds, the device is put into calibration mode. This allows you to tweak the serial timing to account for the relatively wide tolerance of the PIC's internal clock. In limited testing, the tolerance of the clock is close enough for the serial data to be recognised by the Archos Jukebox. It is possible, however, that adjustment of the default baud rate may be necessary.

  • While in calibration mode, a test code is sent to the Archos every 0.5s or so. 16 codes are sent in total - 4 VolDn followed by 4 VolUp, repeated twice - with the intent that this sequence is least likely to change the user's setting. Each press of the Next button increases the baud rate by decreasing the serial bit time by about 1us from the nominal period of 104us. Pressing the Prev button decreases the baud rate (increases the bit time) in the same way. Total adjustment is +/- 16 steps away from nominal, which encompasses the specified tolerance of the PIC oscillator. Making an adjustment when less than 16 test codes remain to be sent adds another 16 to the number to be sent.

  • For optimal performance over an extended temperature range, use the calibration feature to determine the range of values over which the Archos recognises commands from the remote at normal room temperatures, and then set to the middle of this range. If you get lost during this procedure, pressing Play (while in Calibrate mode) will return the timing to nominal.
  • Calibration mode is exited when the last test code has been sent, or can be terminated early by pressing the Stop button.

Schematic

Click on the image for a full-size schematic.

Note that the schematic is for the circuit board alone. JP1 and JP2 have to be connected to the 4-pole jackplug that goes into your Archos headphone socket. A normal headphone jackplug is 3-pole with the following convention:

  • Tip: Left audio
  • Ring: Right audio
  • Barrel: Ground

To allow the remote to work, you need a 4-pole jackplug connected like this:

  • Tip: Left audio out (JP2-1)
  • Ring1: Right audio out (JP2-3)
  • Ring 2: Serial data in (JP1-1)
  • Barrel: Ground (JP2-2)

Note that if you put a normal headphone jack into the Archos, the serial data input is grounded.

Code

The code was written using the MPLAB 5.70.40 IDE from Microchip. Click here for the assembler file.