Shop Learn
NRF24L01+ revisited - Page 2 — Parallax Forums

NRF24L01+ revisited



  • RS_JimRS_Jim Posts: 1,525

    Once I got all of the cockroaches stomped, I can get nrf24-conncheck.spin2 to function on both KISS boards! Now to finish copying over all of the files that I added to the library to the new library, I can continue on with the development of my project. Thanks for your patience with me and pointing out the possible solution with downloading the new library.

  • woohoo, great news! No problem, anytime.
    In the future, I'd recommend downloading the repositories using git, and anytime you want to update them, all you'd have to do is git pull - this will then only download what's changed since the last time you ran it.
    A second separate copy of any repositories you want to modify is a good idea, too (there are ways to manage making changes to it within git like forking a repo, or just creating another branch, but the second copy method is easier if you don't care to learn git to that depth).


  • RS_JimRS_Jim Posts: 1,525
    edited 2021-11-14 13:24

    back to the first problem.
    direct from screenshot

    "Serial terminal started
    NRF24L01+ driver failed to start - halting
    This is the TX-DEMO file, with the con info changed to match the hardware. Changed to the same as the nrfcom check which worked and reported $E7,E7...etc.
    I did notice that there is no preset for TX or RX 4M?

    Right now I have to reboot the computer as I am getting Checksum errors of all attempts to compile and run on P2 from flexprop.
    addit: reboot solved checksum error proplem. What am I missing? Why on the same piece of hardware, same hookup do we go from displaying the contents of the rcv addr register to a load error? Is it something in the wireless file. by the way, it does not matter if I use older version or not, the problem is still the same.

  • Jim,

    The nRF24 has a max transmit/receive speed of 2Mbps, so there should be no 4Mbps preset.
    The following preset methods should be available in the driver:

    $ grep "PUB Preset" wireless.transceiver.nrf24l01.spi.spin2
    PUB Preset_RX250k()
    PUB Preset_RX250k_NoAA()
    PUB Preset_RX1M()
    PUB Preset_RX1M_NoAA()
    PUB Preset_RX2M()
    PUB Preset_RX2M_NoAA()
    PUB Preset_TX250k()
    PUB Preset_TX250k_NoAA()
    PUB Preset_TX1M()
    PUB Preset_TX1M_NoAA()
    PUB Preset_TX2M()
    PUB Preset_TX2M_NoAA()

    As for the demo startup issue:
    Are the pin CONstants defined exactly the same way as they were in the connectivity check?
    Have you retried the connectivity check since having difficulties with the TX Demo to verify it still works?
    Have you modified the stock TX Demo to define (and power) the VCC and GND pins as in the working version of the connectivity check? I don't have that defined in any of the demos in the repository because I generally power modules using the power rails, not the I/O pins themselves.
    Attached is a copy I just modified to include the VCC and GND pins that works here, with the module connected just as you have it connected to the KISS board.

  • RS_JimRS_Jim Posts: 1,525

    Hi Jessie,
    You finally made me think about the error of my ways! My last problem had to do with the use of VARs where I should have been using CONs. I think that I slipped into the VARs because I forgot that the compiler is a single pass compiler and I had gotten pin assignments out of order. Next regarding the the use of IO pins for VDD and VSS, I abandoned that effort after you mentioned the current draw potential for the NRF. They are now connected to the power rails. Once I remembered single pass and reordered pin assignment in the CON section, my problems magically went away. I think that my fail to start came from using _pin as a VAR in one place and the software uses a constant elsewhere and they did not match. Lesson learned the hardway!

  • Hi Jim,

    Glad you're back in business... sometimes it seems learning something the hard way is the best way (rhetorical question: ask me how I know :) )
    The non-amplified modules are probably fine to power directly from I/O pins - the catch being only the ones with genuine Nordic chips on them would be guaranteed to consume a safe amount of current. I don't know that I ever measured the draw of a fake one for myself; I just remember reading that their current draw could be higher than the real ones in certain situations.
    I can certainly understand the appeal of powering it with I/O pins though - it just plugs right into the KISS board...

  • RS_JimRS_Jim Posts: 1,525

    Having issues again need to bring this back to top for reference.

  • Hi Jim, what's happening?

  • RS_JimRS_Jim Posts: 1,525

    Back to having NRF start up issues. had most of the cockroaches stomped in the TX mode and switched to RX mode. Using (what I think is the same code) to start the NRF works in the TX mode and fails to start NRF in the RX mode. Still attempting to trace my steps, stay tuned. Test routine works and can run TX mode on same processor with out issue, so hardware is OK.

Sign In or Register to comment.