RF69HCW module issues in my own PCB board

Started by gussabina, October 05, 2016, 04:20:32 PM

gussabina

Hello Perky:

I checked the grounds in a spare PCB (no components), but they are all connected together...
I also powered the board from a robust power supply and soldered cables to the radio module (in case traces were too weak), but this doesn't change the behavior.

I will continue investigating.
Thanks for the comments.

Gus

WhiteHare

#16
If you're looking for ideas, a next step might be to logic probe the mosi, miso, system clock, D00, and chip select lines to see if you're getting the expected communication between mcu and rfm69 or whether something's hanging that up.  There's a weird thing on the moteino where one of those lines (I think it was mosi or miso) needed a very weak externally applied pull-up or pull-down (I'm forgetting which) in order to wakeup the winbond memory after sleeping it, and it was never explained why.  I think maybe Felix couldn't reproduce it, but a few people ran into some anomalies like that.  I'm sure a search of the archive would turn it up.

I generally try to narrow down exactly where and when a failure occurs, and that often leads to why.

gussabina

Hello WhiteHare:

This is exactly what I'm doing now, although I was trying to avoid it  because of the pain....
May be, I'm focus too much in the RF module and the problem are in the mcu lines communicating with it....

Thanks
Gus

WhiteHare

Gus,

Sounds like you were making good progress.  Did you ever figure it out?

gussabina

Hello WhiteHare:
Thanks for asking...

Actually no... As you can see in the below picture, at the right, I soldered wires to access the SPI and checked and I found no differences with the prototype working (at the left). Everything is fine, meaning loading data in the fifo, etc., except for when switching to TX mode, it just doesn't transmit.... Nothing on the air...
So basically, it transmits one or two packets and then it dies...SPI responds but no packets are being transmitted.
As you can see in the picture, I'm now powering directly to the module (tried with 3 different power supplies, including 2xAA batteries), added Caps (10uF and 100nA) directly to the module, but everything continues the same...
What I discovered is in code, when using sleep mode or switching to RX mode, the failure occurs. If only TX, then no failure... However, the prototype in the left, where the module is far from the mcu board, everything works perfect.....

My plan now is to create few boards with different layouts, like rotate the module 90 degrees, or putting the module underneath, and also try the RF69HW module (different form factor that the RFM69HCW I'm using) to see if something changes...

I don't understand what is wrong..Layout shouldn't be that complicated...I'm not sure what is going on...

Let's see how it goes.
Thanks
Gus

WhiteHare

#20
Interesting.  So, something about changing modes might be a factor.  Does it transmit first before ever going into Rx mode?  Would that explain why you get at least the first couple of packets? 

Have you tried testing using Felix's code just to see if that might make it work?  If using your own code, do you have the RFM69's sequencer enabled?

On the other hand, that wouldn't explain why it works on your prototype but not your pcb.

perky

Also, are there vias between ground pours that are not shown on your layout? If there aren't any vias I can't see how the MCU ground pin is connected...
Mark.

gussabina

Hello Perky:

Yes, there are vias connecting the grounds. I tested it and all ground pins are connected together.

Regards;
Gus

gussabina

Hello WhiteHare:

Since I'm not using Arduino, I adapted this forum's libs but the code is doing basically the same...

I agree it seems problem is when switching between modes, but at then end, the same code works without any problem in the prototype, so I'm not sure if it's worth to go deeper in the code side...

Gus