Sound System Demo Video

As promise here’s the demo video of the new CF-III setup. Sorry it’s so long.

P.S. Don’t forget the laptop is only used to show the diagnostic messages. It’s not needed for normal operation. Electrically this setup is exactly the same as all the other CF-II/CF-III systems in droids today. I’ve only added my custom code to add the extra functionality.

Posted by Chris on December 21st, 2007 in Electronics | 4 Comments

Tags: , , , ,

Advanced CF-III Sound System Setup – Going back to BASIC

I’m really excited to share some programming work I’ve been doing on my sound system the last few days. I don’t think anyone has done this before with the CF-III within the group.

Some background, I was a little disappointed that the CF-III was only able to trigger one set of random or sequenced sounds, plus one sound per remaining switch/contact. And like a lot of people I was frustrated with having to name all the files 0AC.WAV, 1FC.WAV etc. etc. Talk about getting confused.

What I really wanted was to have multiple banks of sounds, both for generic sounds, chatting/chirps sounds, and multiple banks of music. Try as I might with all the HEX file naming I couldn’t get it to work – and emails to ACS confirmed that I was asking too much of the CFSOUND.INI file.

So I decided to throw the CFSOUND.INI away and try writing my own program in ACS BASIC that would provide at least the same functionality that most people setup today, plus a lot more.

If you saw my post from a few days ago, you’ll know that I have two RF Remotes hooked into my CF-III, a 4 channel relay which handles volume and a 12 channel relay for triggering sounds.

By moving to hand written code in the CFSOUND.BAS file I was able to do everything I wanted plus more. Here’s a round down.

New Functionality – All Uniquely Addressable

  • Remote Volume Control
  • Two banks of music, with easy toggle select. 12 sounds total, all uniquely addressable
  • Generic Sound bank (20 wav files)
  • Chirpy/Chatting Sound bank (15 wav files)
  • Multiple Whistle Sounds on one key
  • Multiple Sad Sounds on one key
  • Long and Short version of the Leia message
  • Scream
  • Short Circuit
  • Random Sound Mode – Toggle on/off random sound playing – just press a button an leave R2 talk to himself at random intervals.
  • Easy to add more sounds to each bank
  • Quick boot time. CF-III is ready in seconds instead of the normal boot time measured in minutes when you have lots of files.

And to top it off I can call my sound files meaningful names for easy changes in the future. No more HEX coded files. e.g. You can now have files called “chirp.wav”, “scream.wav” and “vader.wav”.

This is all via a standard CF-III and your basic RF Remote/Receiver. Nothing extra is needed.

The last couple of nights have been very entertaining and a little painful trying to work around the limits of the BASIC programming language when I’m used to programming in C or PHP. I know I’ve learned or re-learned a lot since I last time wrote a BASIC program 25 years ago.

I think my favorite addition is the random sound mode. So I can leave R2 chatting away while I concentrate on driving 🙂

I’m really excited that I was able to get all this done, and I will hopefully be posting the CFSOUND.BAS program file once I’ve done some more testing.

Watch this space for a demo video soon.

Posted by Chris on December 20th, 2007 in Electronics | No Comments

Tags: , , , , , ,

Reconfigured Sound System Demo

Here’s a short video giving an overview of the newly reconfigured sound system.

Posted by Chris on December 17th, 2007 in Electronics | 2 Comments

Tags: , , , ,

Sound System Work

It had a busy weekend, but I did find some time to work on R2. I decided to continue focusing on the sound system and electronics in general as it’s easier to start and stop with minimum mess and cleanup.

I did hear back from ACS about the specs on the internal amplifier in the CF3 sound system. It turns out I was right and it can deliver 25W per channel, or 50W total. Their manual is rather vague and states it can only do 20W total, so I’m glad I checked now. I bought some new generic 4 1/2″ 4 ohm 30W speakers to test and they sound pretty good and seem louder and clearer than the single 15W horn speak I was using. Each speaker is connected to it’s down channel and delivers more sound than my ears could handle comfortably. I’m probably going to mount them behind the front vents for now, but may end up moving one into the skirt to bounce some sound off the floor to help it travel further and in more directions.


With the speakers out of the way I started to think about how I had the electronics laid out. Some of you may remember this is what my original electronic mounting panel looked like for C4.

It’s worked great, but I need to add a few things and as it stands, once the skins go on, I think it will be hard to use the hinged electronics panel to get access to the internals of the droid for maintenance, e.g. the batteries. I’m thinking it maybe simpler to move some or all of it internally to the droid.

With that said I started to disassemble the rear panel. I needed to do it anyway to add the Contact 24 I/O daughter card to the CF3 sound system. This will give me more options on the range of sounds I can trigger.

I’d been putting this off for a while as everything was working okay, and I could sort of live with only being able to trigger two banks of random sound vs the possibility of twelve banks.

With the everything disassembled adding the daughter board to the CF3 was a snap.

While I had the CF3 open I wanted to add an external connector to the white 3 pin header which bring out the volume control. It’s located just below the new Contact 24 daughter board and next to the CF card slot. I plan on connecting it to 2 channels on an RF receiver/relay board to allow me to adjust volume remotely.

3 pin volume header

The plug is pretty standard and I ended up buying a $2 fan extension cable as I couldn’t find loose plugs locally.

But there was a slight problem, the plug is too long and stops you from putting the Contact 24 card back in it’s place so I had to chop down the plug a bit.

I drilled a hole in the side of the box for the wire to pass through

I temporarily wired up the three contacts (up, down, common ground) to my RF receiver to try it out and it worked first time which surprised me. The plan is to have the volume on it’s own RF remote as I wanted to keep all 12 channels free on my original RF remote just to trigger sounds.

Now that the Contact 24 board was in place, I could start wiring up all 12 channels to the RF receiver using some hacked-up twisted pair LAN cable I had laying around.

Basically all the connectors labeled “A” on the RF receiver are connected to the adjacent “A” and then over to the common ground on the CF3 sound system. Then I connected the “B” connector of each relay over to a contact on the CF3. Starting at the top left going down is relay 1 thru 7, then on right starting at the bottom going up is relay 8 thru 12 . Each connections maps over to contacts 1-12 on the Contact Sense 24 board in the CF3.

RF Receiver wired up

This is the CF3/Contact Sense 24 side of the wiring. Each block of green plugs/connectors has 10 connections. The outside two are common ground. I’m only using one from each block and routing it over to the the two halves of the remote relay board (brown wire)

CF3 Connections

Here’s the the connections on the smaller 4 channel RF Receive from the CF3 volume cable. Note that on the 4 channel receiver we’re using connections B and C instead of A and B. This caught me of guard as the documentation that comes with the board is incorrect.

I’m going to Velcro each of the RF Receiver to the top of the CF3 case.

Right now I have the two RF remotes Velcro’d to the side of my transmitter, but I’m tempted to create a small box with better switches on it similar to the Vantec KeyCoder and have the RF transmitters hidden inside.

And finally here’s a wiring diagram I created that will hopefully make things a little easier to understand. There’s also a PDF version for printing.

CF3 and RF Remote Wiring Diagram

Next step is to reprogram the CF memory card to use all 12 channels of the remote.

Posted by Chris on December 17th, 2007 in Electronics | No Comments

Tags: , , , , , ,

CF3 Sound System – New Speaker?

I’m trying to resolve a lot of issues before I get to fully re-assembling my droid. It’s a real pain to pull him apart and I want to fix a bunch of things that have been bugging me like the slow dome. Another thing on my to-do list is the speaker.

I chose to use a 15W Horn Speaker on the recommendation of someone, and it does reproduce R2’s tinnie/metallic/middy sounds great. The price was right at the time too, but I think I can do better. It’s not as loud as some R2’s I’ve heard using in similar setups – which is my main motivation to find something different. The horn also takes a lot of space and I’m hoping to re-appropriate that for some electronics.

I’ve spend some time learning all about Ohms, Watts, Dbs and how they related to speakers and amplifiers. We’ve all heard the terms when we go out and buy the latest home theater surround system, but I never really understood what that meant in reality, e.g. you have 4 x 4 ohm 30Watts speakers and how that turns into how loud the speaker system is in Dbs.

Part of the problem deciding which new speaker(s) I should use is that the specs on the CF3 sound system I’m using from ACS are rather vague. They say the built in amplifier can deliver 20 Watts, but they don’t say if that’s across both channels, or if it’s per channel. And they don’t state how many Ohms the speaker should have.

With some digging I found that the sound board uses an AD 1994 chip, and here’s a summary of the specs

  • 105 dB dynamic range
  • 2 x 25 W output power (6 Ω)
  • 1 x 50 W output power (3 Ω)

As you can see it’s rated at 50W for one channel or 25W on two. A lot more than the 20W than that ASC rates the CF3 system at. Also notice the 3 and 6 ohm for the speakers. Most speakers you find are either 4 or 8 ohm, maybe 16. Even if the amplifier can only do 20W, my current horn speaker falls short of taking advantage of that.

Tomorrow I’m going to call them up and ask some questions and report back.

Useful links –

Posted by Chris on December 7th, 2007 in Electronics | 2 Comments

Tags: , , , , , , ,

12 Channel RF Remote Notes

There was some discussion on the builders message board recently about reprogramming the unique encoding on the newer 12 channel RF remotes.

Much of the documentation and notes on various R2 sites are for the older remotes. I thought it might be a good idea to document my findings on the new remotes.

I don’t want to repeat in detail why or how R2 builders use these boards, but the most common is to trigger sounds in your droid when combined with a CF3 sound system. Most of what’s been written about integrating the board into your droid applies no matter which revision you have – but changing the encoding has.

First up, most people find these boards on ebay. Just search on “12 rf remote” and you’ll find a lot of sellers offering them from all over the world. Don’t pay more than $30-40 with shipping. There’s still a few sellers offering the older boards too.

So what’s the difference between them? Not a lot to be honest. The newer boards are easier to reprogram the unique identifying code, and the transmitter is a little smaller. However the new receiver board does have an annoying buzzer that needs disabling.

For the geek in you – On the receiver board, auto learning decoding scheme has been programmed into the MCU IC chip, and inside the remote control or transmitter there’s an Encoding IC Chip, an SC-2262. This set of IC chips can be used to encode your signals so that multiple remotes in close proximity will not interfere with each other. In theory you can pick from 6561 different combinations.

Do you need to worry about changing the code? That’s easy, most boards are shipped with the same factory default code, and you don’t want your droid to clash with some else’s.

For reference, here’s the older board and the remote which is somewhat larger

If you have one of these then jump over to Alex’s original RF remote tutorial.

Warning: The Positive/Negative terminals are swapped on the new and old boards. Please double check everything you’re doing with the latest wiring diagrams from the manufacturer. Don’t assume this tutorial is up to date.

And, here’s the new RF remote/receiver – notice the circle/tab toward the back of the board. That’s the buzzer. If yours has one of these then you have the newer board.

Unlike the older board, to change the unique encoding all you have to do is set it on the remote transmitter and then set the receiver to auto-learn mode, with a press of a button and you’re done. Well that’s the overly simplified explanation.

Here’s an overview of the receiver board with the location of the learn button marked at the bottom left.

Procedure to Learn and Erase Codes

  • Press the “Learn” button on the receiver board, the siren will beep indicating the receiver is ready and waiting to learn from transmitter.
  • Press any designated keys to teach and select Output modes. (See list below)
  • If you need to reset/erase the the receiver due to lost or new remote, press “Learn” button for ~10sec until the siren beeps 3 times, which indicates previous learned codes have been erased.

Output Mode selection

Press 3 for Momentary Mode
Press 6 for Latched Mode
Press 9 for Toggle Mode
Press 12 for Ch1-Ch6: Toggle Mode, Ch7-Ch12: Momentary Mode

To set the encoding, first open up the transmitter

The chip at the bottom labeled SC-2262 is what does all the work.

Remove one more screw and separate the green circuit board from the casing

Notice the 3 rows of 8 little solder tabs at the bottom. That’s where you set the unique code using a soldering iron (one of 6561 or 3×8 combinations.)

Pin 1 through 8 bring out the Encode function of your remote transmitter. The receiver board will automatically learn from the transmitter by pressing the learn button.

On the older boards they used to labels the back of the board with a “H” for High, “L” for Low and numbers of the pin outs. Unfortunately the newer boards don’t have this luxury. I’ve marked up a photo to show the pin outs.

Low or ” L” – Low digital state (Close to GND level).
High or ” H” – High digital state (9-12V).

You should also be able to figure out the “L” and “H” states yourself. After you connect the system to power, use a Voltmeter to measure the contacts on both sides of the column of eight pins (1-8). Voltage level on each side should be consistence. If one side is “H”, the other side should be “L”. “H” level voltage can be measured only when signal is transmitting/receiving. Or simply use the above photo as reference.

Also, you don’t have to connect all eight pins to High or Low, just one will do. In my case pins 3 and 4 are connected to Low, and 7 to High.

Often remotes are default encoded to be 00000001, i.e. pin 8 is shorted to GND.

Encoded IC has following representation:

If the pin is not shorted to anything, its code value is “0”.
If the pin is shorted to Low, its code value is “1”,
If the pin is shorted to High, its code value is a “2”.

A couple of useful sites

  • Light Object – they sell on ebay under the name of coldfusionx, are based in the USA and a lot of R2 builders buy their boards from them. This link has a bunch of support documentation on it.
  • – Jerry Green’s write up on integrating the remote with a CF2 sound system.
  • – Alex’s original RF remote write-up.

Warning: I’ve just been informed that the Positive/Negative terminals are swapped on the new and old boards. Please double check everything you’re doing with the latest wiring diagrams from the manufacturer. Don’t assume this tutorial is up to date.

Posted by Chris on November 30th, 2007 in Electronics | 25 Comments

Tags: , , ,