Xbee 900HP not sending / receiving serial

I am using the digi xbee 900 hp and attempting to send serial data from one to another. The first one is connected to a microcontroller outputting a uart signal at 9600 baud. The other one is connected to a computer via usb. I tested both modules using the usb connections and established communication between them so I know they ate configured right. Then I connected one to my microcontroller circuit while the other is still connected to a computer via usb. My microller is sending data at 9600 baud once per second into the xbee pin3 but the other unit is not the receiving the serial data. Any ideas?

the XBee PRO 900 HP is a 3V CMOS level device. If you are not connecting it to a 3V process, a level shifter may be required.

Have you tried using the Loop back cluster ID function of the Range test in XCTU to verify you can still talk to the radio while it is connected to your processor?

I am using a Parallax XBee to USB and it works fine. When I connect to Teensy 4.1 board is when i have the issue. It is a 3.3 volt device. I can see the serial signal from the teensy output going to pin 3 on the xbee on my o’scope. This is a real head scratcher… What is the Loop back cluster ID function and how does it work?

Do I need to use serial handshaking to enable transmission and receiving? I am not any hardware control signals. If i do, which signals are absolutely necessary and can you explain the expected flow control?

I turned of the flow control (CTS) and still get nothing. I am using transparent mode. This doesn’t make sense. Why would data from the parallax board go through just fine and the Teensy arduino serial does not? Everything seems fine.

Another thing, when D1 is set to UART data indicator i never see digital signals indicating activity, even when all is working through the usb connections? How are the digital lines used?

Try enabling API mode on the module connected to the processor. Most Arduino libraries require the radio to be in API mode.

I am not using a lib. I am doing a direct write fron a serial output pin to the device pin three

I would suggest removing the XBee from the picture and simply run a wire from Pin 3 on the one board with the processor and connect it to pin 2 of the interface board at the PC side. Then see if your data shows on a terminal or serial console screen. This would ensure that your app is doing what you think it is doing.

I will try that but it is 3.3 TTL level and i will have to run it through a converter to rs232. I am already using two other teensy ports to send the same data stream to a RS232 and RS422 IC’s and there is no issues. I will also set up a test with another micro. As I said. the data signal out of the micro looks good on a scope.

What about my other question, when D1 (pin19 according to the documentation) is set to UART data indicator i never see digital signals indicating activity, even when all is working through the usb connections? How are the digital lines used?

what value are you setting the D1 command to?

Setting it to six which says UART Data indicator.

In that state, it will only change states as data is passing.

You should be able to do the option I gave you as you are only removing the two radios from the boards daughter boards and then running a jumper wire over.

I connected a FTDI TTL to usb (TTL-232R-3V3-WE) to my micro and there is no issue with the transmission from the micro to the computer.

FYI The 900HP is mounted on a custom pcb. There is a trace going from the TX pin on the micro to the 900HP pin 3 and one going from the RX pin on the micro to the pin 2 on the 900HP. The only other connections are 3V3 and ground.

ok i did what you suggested and jumpered the two Parallax boards and they communicated just fine. Could this be a settings problem?

I found the problem. My Ground was connected to the wrong pin. sorry for wasting your time.