Chamberlain Motion Receivers CWA2000 to Picaxe via KYK_MSI1 (Rev A)


Senior Member
This project was done to solve a few annoying problems:
01 Get my girlfriend to stop saying “whutzat?” every time something beeps at my place
02 Let my kayak tell me what’s happening with the control system (without having to look at the display)
03 Other ad hoc thangs’ that come up (mess with my dog, self-destruct sequence on my boat, etc.)
(i.e. simple hardware interface for simple projects to connect to the real world)

The KYK_MSI1 motherboard I designed for this project connects to port C of a Picaxe-20M2 (or other processor).
With no daughter modules plugged in the KYK_MSI1 supports the following:
01 Connection for Catalex-style MP3 player (Picaxe SPE035 would probably work if pin connection adjusted)
02 Connection for USB serial output to a PC (event reporting)
03 Connection for one Chamberlain motion receiver (8 motion sensors)
04 Connection for Acknowledge pushbutton (may also be pressed via PC USB serial RTS signal)
the attached PC can also check for unackowledged events via CTS
05 Connection for Blinking LED output to show an event has occurred

I designed (so far) 4 plug-in modules that are used to configure IO for various applications:
01 KYK_MSIR is used to attach light sensors for connecting 2 Chamberlain motion receivers (16 sensors)
(may also be used as simple IO for sensing daylight, comparators, etc.)
02 KYK_MSIN connects 2 opto-isolated inputs (12vdc ,24vdc etc.) as used on autos, boats, etc.
03 KYK_MSIO connects 2 opto-isolated outputs (12vdc ,24vdc etc.) as used on autos, boats, etc.
(e.g. to pick up relays to sound alarms, start motors, etc.)
04 KYK_MSIO connects 1 opto-isolated input & 1 output (12vdc ,24vdc etc.) as used on autos, boats, etc.

Since the connections for the little plug-in boards are pretty basic, it will be fairly simple to make future options.
(e.g. analog input scalers, analog output amps, etc.) The MSI1 board & plug-ins are designed for cheap & easy interfacing to simple applications for Picaxe (or other) processors. Nothing fancy here, just a short route from point A to point B.

Now, since explaining the kayak, PC software & ad hoc stuff would take too much background, I’ll just use the motion receivers to explain how the Picaxe software does it’s stuff.

This example application connects a Picaxe-20M2 (via port C) to up to 5 Chamberlain motion receiver(s). Each receiver can connect up to 8 wireless motion sensors within a half mile radius. This yields up to 40 individually recognizable motion sensors (although seldom needed unless you have a large warehouse or farm). Take note that this must be configured in the init procedure. Any unneeded motion receiver may be used as an input or output as desired. Also note that if an input is configured as a motion receiver but left unconnected, it’s 2-pin connector must be jumpered.

Chamberlain motion system operation (before connecting to this project):
When sensor 1 is detected the receiver beeps/blinks once, sensor 2 it beeps twice etc. While this is useful as a driveway or yard alert, it does get a little annoying trying to count the beeps (especially if you are awakened from a nap or asleep). Now, if you add multiple receivers, you have to ask yourself “was that receiver 1 or 2 that beeped 4 times?”. The project presented below does away with the beeping & replaces it with a human voice (e.g. sensor 1 now announces “motion driveway” rather than a single beep).

Note that although this project uses a Picaxe-20M2, the coding could be easily modified for any Picaxe. I chose the 20M2 because I wanted to use port B to control I2C devices (lights, weapons, time travel, etc.).

The software for this project is a simple event processor. That is, an event occurs that invokes an attached action(s).
Each specific event (e.g. analog or logic level transition, specific time, (whatever) must be assigned an event number.
This is accomplished as follows (where an active event returns its assigned event number in ZL):
Each motion sensor is assigned an “event code” (aka E-code). Sensors 1...40 are assigned event codes E001...E040.
The sound files associated with the sensors are 001.mp3...040.mp3 (simple enough).
For example (referring to KYK_MSI1 Software for Picaxe.bas):
01 proc main is an endless loop that calls various event scanners
e.g. Motion sensor 17 is sensed via proc motion.receiver3_Scan (returning variable ZL = 17)
02 proc main (seeing that an event has occurred) calls proc event_Exec with variable ZL = 17)
03 proc event_Exec calls whatever actions (usually procs) that are attached to event ZL.
e.g. sensor 17 is attached to mp3.command_Send (play audio) & event.code_Send (report event to PC)
However, I2C commands, PWM control, etc. can also be attached.

Obviously, for an event processor to handle multiple high-speed events (e.g. starship Enterprise) we would need numerous scanners & event_Execs (most with their own uProcs & memory). So, to avoid giving anyone a headache, we’re not going to go there.

Chamberlain CWA2000 Wireless Motion Alert Manual

Aideepen YX5300 UART Control Serial MP3 Music Player Module for Arduino/AVR/ARM/PIC

Sending events to a PC via a USB TTL serial interface:

FTDI Friend USB serial interface
CP2104 Friend USB to Serial Converter



Senior Member
Huge amount of work there. Very impressive.

At the end of the Project pdf list of option switches (extensive), I had to chuckle at "etc........... ". Undocumented starship options?


Senior Member
Huge amount of work there. Very impressive.

At the end of the Project pdf list of option switches (extensive), I had to chuckle at "etc........... ". Undocumented starship options?
hi Ibenson,
Yeh, this project just sort of accumulated over months in small intervals, so I may have “over-thunk” it.
I’ve had a new live-in girlfriend for about 6 months & she just gave me the marriage ultimatum, so (I’ll miss her but) I can’t wait to start getting my boats wet again & getting back in my workshop.
Hope you’re still getting a lot of time on the water.
I will get around to adding the starship functions, but have to get this project installed on my boats first. Old retired guys have a different set of priorities (i.e. religion fishing projects food females).
I’m thinkin’ it’s gonna’ take ‘bout 12000 Picaxes to do a starship, so I’ll get back to y’all on that.