Help with FlexyPin RFM69CW Breakout Shield

I was then trying to figure out why the 22 pF capacitor across that one resistor makes it “work”. What would you call these circuits I made? A “loaded voltage divider” with the top resistor removed?

Which is actually usable, unlike the first one you posted.

WRONG :exploding_head:

It’s more akin to an L-section matching pad - and that’s a whole different area.

Here’s an updated schedule and board. I’d appreciate any feedback.

Updates:

  1. Corrected voltage dividers to no longer be backwards. (!)
  2. Arranged voltage dividers in rank-and-file style, similar to proven designs.
  3. Rotated the orientation of the board 180 degrees to match the pin-labels on the Uno board.
  4. Used the trace widths seen in the original emonTx Shield v1.
  5. Added a decoupling capacitor as seen in the original emonTx Shield v1 and as noted by @rupert.

RFM69_FlexyPin_Shield_0-2DR.brd (184.6 KB)
RFM69_FlexyPin_Shield_0-2DR.sch (775.9 KB)
RFM69_FlexyPin_Shield_0-2DR.pdf (35.4 KB)
RFM69_FlexyPin_Shield_0-2DR-brd.pdf (62.2 KB)

The electrolyic capacitor is drawn the wrong way round. The straight side is positive. I also suggest adding a suitable mark on the silk screen.

You might want to think about options for something other than a wire antenna. @Bill.Thomson is the r.f. expert, but he won’t see this for a few days.

From the board layout, the decoupling capacitor C1 looks to be a ceramic capacitor from its size and shape. This is what is used on the emonTx shield and is the correct type to bypass the high frequencies used in the RFM69 module. Ceramic capacitors are non polarized and do not have + and - terminals.

However, the symbol used for C1 in the schematic is that used for an electrolytic capacitor, which is polarized (has + and - terminals). As Robert says, the symbol is the wrong way round. The symbol should be two parallel straight lines for a non polarized capacitor.

You might want to add a ground plane to the board, again because of the high frequencies used in the RFM69 module, and to give the quarter wave wire antenna a reference ground plane to ‘work against’. If you do add a ground plane, you will need to add thermal reliefs to any grounded pads to avoid soldering difficulties.

Hope this helps.

I think I’d have gone for an electrolytic to handle the current surge when transmitting, with a ceramic in parallel for the r.f.

The original board appeared to have a ground plane, I understand it isn’t normally shown on the Eagle CAD layout even though it might be present.

Thank you both for your help!

That is what I was intending, yes.

I found a part with the non-polarized symbol in the Eagle rcl library. C-EU > C025-025X050. I switched to that one.

What value for the electrolytic?

This is true. The ground plane is there, but not shown in the PDF output from Eagle.

Good point. All set there. The OSHPark CAM job I use (they have one specifically for milled slots) takes care of the spoke-pattern thermal relief in parts connected to the ground plane. OSH Park Docs ~ Eagle ~ Cutouts and Slots In Eagle.

The max. current to transmit is 45 mA, so something in the order of 33 - 68 µF (probably tantalum for size), you don’t need more than 6.3 V rating.

It might be overkill, but if you have the holes there, you can fit it later if it proves necessary.
The same goes for the small compensation capacitors that you added across the 4.7 kΩ resistors - they are most likely unnecessary now that you’ve found the true fault, but if you have holes for them, they can easily and neatly be added later.

47 uF was available in aluminum and tantalum with a similar footprint from Digikey (478-8849-ND and 493-12747-1-ND). I added this part to the design.

Great point. I added these to the design as well.

I also added test points to all eight connections to the RFM69CW. I ordered some of these from Mouser:
534-5001. My thought is it will be easier to study with the 'scope using these.

RFM69_FlexyPin_Shield_0-E.brd (195.5 KB)
RFM69_FlexyPin_Shield_0-E.sch (1.2 MB)
RFM69_FlexyPin_Shield_0-E_2023-02-13 (2).zip (182.6 KB)

I received the most recent version of the shield and soldered one together today. It works!

I first tried it without the capacitors, just to see if it would work without them. It did not work. The sketch would start and write “RF12demo.14” to serial, then nothing.

I then soldered on the capacitors discussed above. The aluminum 47µF electrolytic 493-12747-1-ND with .1µF ceramic on VCC. And the ceramic .1µF capacitors across the 4k7 resistors. It worked! The RF12demo started receiving packets and writing them to the serial monitor as expected.

Based on the brief experiment I just did, I would say that the capacitors are necessary. I added all of them at once, so I can’t say if any were not necessary, but the breakout works with the capacitors installed and does not work without them.

I spend some time on the LowPowerLab user forum, and Felix has said in many posts that this is a breakout/breadboard prototype he does not recommend trying to make. In one reply to a post he says,

How to make Arduino+RFMxx work" question have always had a lot of trouble. And based on my own experience I tend to believe a lot of this trouble comes from poor wiring inherent to breadboard and air wires. The 5v-3.3v signal buffering is another conundrum that is not very straightforward especially for beginners.

My experience bears this out. It is surprising to me that the breadboard diagram that one encounters in various places has worked for anyone.

Thanks @Robert.Wall for your help finding a recipe that works.

The board is available on OSH Park if anyone wants to try their own.

1 Like

Thank you for sharing EAGLE shcematic and board file. I am working on making PCB for another Castellated Hole devices. Would you share Eagle libray file with us?

I have found !

I am glad you found it. I created the one I used because I couldn’t find one for Eagle.

Here’s mine, in case it is helpful to anyone.

FlexyPin.zip (2.0 KB)

Here’s a request of anyone who is good with Eagle library footprints. My library footprint uses two SMD pads (top and bottom) with a milled hole (a circle on the milling layer) through them. This is where the end of the spring will be soldered to the board. The fab houses I have used (OSHPark and SeedStudio) treat this as a plated slot, so the top and bottom pads are electically connected. Even if not, the solder and spring electrically connect the top and the bottom pads once installed. But I have not found a way to let Eagle know that these two pads are connected to each other and thus the pin in the schematic. If I ever need to route a trace to the bottom pad in a board, I need to override an airwire error and an overlap error because Eagle doesn’t understand the bottom pad as a valid connection to the pin. If there is an elegant way to tell Eagle the top and bottom pad are (will be, once fabricated) connected, I’d be interested.

brand dock, thank you for your sharing!!! The one I have found is only footprint (no symbol, no device) This library uses dimention layer for the holes. Autodesk tutorial says using Milling as yours.

I will add your library and test top and bottom connection on EAGLE. I know EAGLE will terminate service in 2926 and I need to move to KiCAD or other CAD… Thank you !

A note about using my FlexyPin library part. As I mentioned above, because of the way the footprint is created, Eagle doesn’t know that the bottom pad is connected to the pin. If you want to route a trace to the bottom pad, you can. It will work. You’ll just get an airwire error (because Eagle doesn’t know you’ve connected to the pin) and a pair of clearance errors (because Eagle thinks you’ve hit an unexpected pad with your trace.) You can approve all three errors and your board will work.

This is the issue that I wish I knew how to resolve in the library footprint. But in the meantime, the workaround is not too bad.