Interfacing Aerocomm AC4790 with Propeller Chip – Hardware Perspective

In this post I will attempt to describe how I built a simple carrier board for AC4790 and then interfaced that with my Propeller chip (that is mounted on a Propstick). To get an introduction to what and why of AC4790, please see my earlier post here.

So, as stated in my last posting, AC4790 has 20 pins. Of course, for my application in ALIBE, I will only need for the communication module to be “reactive” vs “proactive” – meaning, the Command Center in homebase will issue a command to ALIBE’s communication module (AC4790) and then will expect ALIBE to either return data back to it or take an action onboard ALIBE. This is what I define as “reactive”. Proactive would be when the communication module would proactively send data to the homebase – ie., without being “asked” for.

In this scenario, I only need to tap into a few pins off the 20 pin lot. Here’s the description of these pins (as I said in my earlier posting).

1 (Session Indicator),
2 (Tx – from Propeller to AC4790 device),
3 (Rx – from AC4790 device to Propeller),
5 (GND),
9 (Rx Indicator),
10 and 11 (both need to be 3.3v VDD). and that’s it. 

I needed pins 1 and 9 for my LEDs (pic below).
My carrier board (very simple one BTW), has soldered LEDs and also exposes the pin 1 and 9 (as pin 1 and 4 carrier board) – if in case I need to further use those pins for future work. I am happy w/ the way it turned out.

Read thru the AC4790 manual especially the Pin characteristics and their meanings. Understanding this will be very helpful – it is only 2 pages long.

ac4790-to-prop-pins-fig1.jpgI used one of those PCB’s from radioshack and soldered in 7 pin SIP into the board as seen here underside of the PCB: There’s some additional soldering outside of just the 7 SIP pin. We’ll get to that soon.

ac4790-to-prop-pins-fig2.jpgI found some old connectors from my parts treasure chest and repurposed them to connect the AC4790 with the PCB. The wires are soldered on the underside (above picture) . You can see that here. Take a note of the pin numbers and ensure you are using the right pins and connecting the right pins to the SIP pins. Incorrectly hooking them up WILL for sure fry your AC4790. And, you don’t want that!

ac4790-pin-layout.jpgI have highlighted the pin layout on AC4790. Pay close attention to the numbering.

ac4790-to-prop-pins-fig3.jpgThis is probably a good time to look at this wiring diagram – it will give you an idea of how simple this is. Also, note that I hooked up my 2 LEDs to the pins 3 and 9 for the Session and Rx indication. They can be very useful to visually see what’s going on onboard ALIBE during communication. Note how pin 10 and 11 are together hooked up to 3.3v Vdd. This is important to know that AC4790 is a 3.3v device and NOT a 5v device.

ac4790-to-prop-pins-fig4.jpgThe completed PCB looks as here. I also added a small piece of foam btwn the AC4790 and the PCB.

ac4790-to-prop-pins-fig5.jpgI then took my “finished” product to my breadboard and hooked up the AC4790 Carrier Board (CB) to my Propeller pins. As you can tell from this picture, I only need 3 pins on Propeller to make my communication module working. Pretty cool ah!

The best part about this CB design is that I can always unplug the connectors to the AC4790, unscrew the standoffs, and take the AC4790 to my devboard if in case I need to edit its EEPROM settings or do a “dev board to dev board” testing. Very flexible – works well for my project.

Look for the following posting on how I tested this setup.

ciao
Nagi

11 Responses to “Interfacing Aerocomm AC4790 with Propeller Chip – Hardware Perspective”

  1. Tapan Sarkar Says:

    Hi Nagi,

    While I was just thinking the purchase of the AC4790-1000M SDK was useless, I discovered your site! It is such a wonderful site! The PCB making article for example is very appropriate.
    May I get your help to make an interface with AC4790 using VB language? I am not yet in VB .net but I can definitely read the examples. C example will also. I want to read the Radio-Tables to relay my data from one transmitter to another. Secondly, I am testing the SDKs in open outdoor space like one Traffic Intersection to another Traffic intersection on the same main road but I cannot go beyond 1 to 1.5 miles. Aerocomm says the -1000M can go even 20 miles with antenna, so I bought this higher model to reach just 4 miles! Well, the two intersections are not exactly in a straight ‘Line-of-Sight’ but they are like straight open roads as found in any regular US cities! Is there anyway I can improve the range? Do I need to use any antenna even within 3 to 4 miles?

    An example program with AC4790 command mode and knowing how to increase the range will be a very big help in my project.

    Best Regards

    Tapan Sarkar
    Baton Rouge, LA
    225-921-0739

  2. nagibabu Says:

    Tapan, thanks for the comments. It was a good learning experience for me in making this interface work for my robot project.

    It is farily straight forward to interface w/ any programming language – more so w/ VB. you can simply drop in the RS232 commn control on the form and plug in code to respond to events. To send data to the module, simply send packet. In my other posting, I have included my vb.net app for sample. Please take a look at it for some ideas.

    I have had good luck w/ ac4790 for up to 4 mile radius w/ the sdk supplied antenna. I have heard people using coiled antennas for better reception – I do not have experience w/ that – so can’t comment either way.

    hope that was helpful – good luck!

  3. Tapan Sarkar Says:

    I am trying to interface the AC4790 with a current-sensor.

    1. I will be highly obliged if you can send me a layout of your AC4790 connection with the 3.3 V circuit. I could not really follow it. I am using a uC board which has 5V supply. I guess I have to convert that to a 3.3V which I need to know how. But I also see that the AC4790 accpets 5V. So what I am missing here? I have purchased a AC4790-1000M

    2. can I connect uC serial output directly to AC4790 pins? Is it a TTL-TTL connection so no conversion to RS232 is necessary?

    3. Is there any battery backup circuit available which can be hooked to power circuit for the AC4790? The idea is if the power line fails, the transmission will contionue from the battery. I guess a 9V battery will go for quite some time but proper conversion is required to 3.3V etc.

    4. I could not open your .net program is it special .doc file?

    I am sure everyday lots of people gets benefited and encouragement from your site. I myself have referred to few of my friends.

    Best Regards

    Tapan Sarkar
    225-921-0739

  4. Tapan Sarkar Says:

    Hi Nagi,

    I cannot open the .NET file What am I doing wrong?

    Regards

    Tapan

  5. nagibabu Says:

    Tapan,
    You might be refering to the VB.Net app in the other article. Please save this https://aliben.wordpress.com/files/2006/10/control-panel.doc content as a “zip” file, unzip and open.

    Let me know what the error desc is.

  6. Tapan Sarkar Says:

    I could extract with PKZIP. Thanks. Let me go through.

    Regards

    Tapan

  7. Dheeraj Sanka Says:

    Hi

    I am currently working on a project for the space lab at my university. We are also using the ac4790-200 unit for a similar purpose. I was wondering if the development software provided by aerocomm could be used at one end instead of using my own software(this is the end with my laptop). And have a microcontroller talking to the transceiver unit at the other end. I guess what i am trying to say is that will i need my own home-brewed software similar to your home-base CC or can i make do with the development software provided with the kit.

    Your help will be greatly appreciated.

    Thank You

    Dheeraj Sanka

  8. Angus Says:

    Hi,

    I cannot seem to get my simple setup to send/receive data from the other dev board.

    Here is a pic of my connections.

    Black/Red = GND / 3.3v
    Green = Pulled high with 10K resistos
    Yellow / Orange = RX/TX (tried both ways)

    Any ideas?? Am I missing something obvious??

  9. Juan Ramirez Says:

    The project ALIBE is really cool. I’m trying to build a system similar to ALIBE. In my case, the type of feedback control isn’t only reactive. I want to measure the velocity of a remote control airplane using Parallax´s GPS. This information takes a BS2 px and transmits the information through the AeroComm Link (RS232) to a propeller on the ground through another AeroComm Link (RS232). The propeller compares this speed with one manually put depending on the situation (landing) and sends a code to increase or decrease the speed of the propeller that is in the airplane through a Parallax servo. If for some reason the velocity of the airplane is outside of a range pre-established, the BS2px puts the velocity of the airplane back in the range. My comment in respect to your program Spin
    is that I don´t see the pin 17 in the CL4790 manual. I see the pin(Pin_CMD_or_Data) but it is for the AC4490. What type of antena do you use?

  10. Jose Luis Says:

    Hello Nagi,
    I am using the AC4790-1000 for a school project and the problem consists on sending and receiving from one transceiver to the other. I need to connect the AC4790 to a microcontroller (ATMEGA16), i cant understand completely how you are connecting the ac4790 to the micro using only 3 pins. Could you send me a little more information?
    Thanks for all the info already posted! very useful.
    JL

  11. Derek Says:

    Hi, I am interested in how you made use of the spin propellor software and you made it work with your visual basic program.

    Thanks

    Derek

Leave a reply to Juan Ramirez Cancel reply