radio receiver and arduino

hi guys. i'm working on a project using arduino and since i'm very new to electronics i ran into some issues. i'll split this post in two since the powers that be decided that my very first post should not contain any links or images.

i'm trying to re-use some parts from a ultrasonic car parking sensors kit. i could not find any info about the kit (i did not buy it, i got it from a friend) since it has no product number, no info about the manufacturer, nothing. the box looks like this (click on the thumbnail for a larger version):

the kit consists of a display module (the one in the picture above) and a sensors module. the two communicate by radio (i think). the display is very big and ugly and it has a lot of "features" that i do not want, all i care about is the information from the sensors. long story short, i want to use arduino to read the imput from the sensors module, which looks like this:

i'm not gonna mess around with that one, it's fine as it is. i took apart the display module and i found something that looks like a radio receiver:

display pcb receiver top receiver bottom

the only info i could find about this radio receiver is at this link. since i'm a noob, here's my first question: where on the arduino do i connect the 'Data' pin of the radio receiver? a digital pin, an analog one or the RX pin? that chinese web page says "Transfer Rate: 4.80KBPS" which make me think i should connect it to the arduino RX pin and use Serial.begin(4800) and but i'm not sure and i don't want to ruin my arduino. speaking of which, is it possible to fry my chip if i make some wrong connections? should i put a resistor between the RX pin and the receiver? sorry if my questions seem dumb...

the sensors module uses a AT89C2051 IC and that brings me to my second question: in order to figure out how the info from the sensors is coded (distance, position etc), is it possible to read the content of the that IC with the arduino board?

thanks in advanced and if anyone is interested i could post updates as i go along.

I would say if you wanted to do this right without damage and fumbling, your going to need to obtain an oscilloscope -and- a logic analyszer (or at least a digital storage oscilloscope - DSO for short).

You could then use it to measure the waveforms and data pattern coming from the data pin you know about, while at the same time having it hooked up to the display, and noting the waveforms and the data patterns generated, with the display information - to correlate everything.

This is what is known as a "man in the middle" attack.

Most likely, the data pin is generating a TTL or CMOS logic-level signal (0-5V or 0-3.3V, respectively), but using an o-scope will let you determine -exactly- what it is, so you can plan what to use for the interface circuit.

You might be able to get away with using one of those el-cheapo "Arduino/AVR" DSOs, or pocket DSOs, for this task, since the data rate is low enough (check them out at seeedstudio); they aren't expensive like a real DSO, and are probably perfect for this project. There are other options available, but that is one of the cheapest.

With that said - you could, in theory, hook the data pin up to an analog pin, and sample it really fast, and using that information, work out the waveforms and amplitude to determine what you are working with.

Whatever method you use, though, ultimately you need to gather a lot of data, so you can correlate the serial waveforms from the data pin with the readings on the output screen. You might want to set up a test bench with a standardized grid, and use one sensor at a time; likely, each sensor sends a reading of which sensor it is, and a distance value, plus maybe some start and end characters; possibly only four bytes total. A test bench, though, will help guide you immensely.

Hope this helps; good luck!


speaking of which, is it possible to fry my chip if i make some wrong connections?

Yes. In this particular case, it's not terribly likely (extremely unlikely if you get the ground right), but it's definitely possible. So proceed with caution.

The odds are very good (on the order of 10- or 20-to-1) that the display PCB is running off a regulated 5V (maybe 3.3V, but probably not). So the chances of a chip-killing signal are very small. That 3-pin header connector near the upper-right of the receiver PCB is probably 5V, ground, and 4800 baud serial data. You can use the datasheet of the 89C2051 to help figure out which is which using a multimeter.

The advice that cr0sh offered is all excellent, as general principles. But the facts that you have available in this particular case mean you can probably skip right to trying to decode the serial pin as 4800 baud async serial without disappointment. If you do have access to a scope, that can help figure out the protocol by getting you info about packet sizes and such, but you should be able to muddle through without one.

thank you for your replies, they help a lot and my brain hurts less now :slight_smile: