Raspberry Pi Pico: nRF24L01 over SPI

  Переглядів 27,884

Tinker Tech Trove

Tinker Tech Trove

3 роки тому

Today we learn how to interface the Raspberry Pi Pico with an SPI peripheral, specifically the nRF24L01 for two way wireless communication. As always the code is available on github at github.com/tinkertechtrove/pi...
The nRF24L01 driver modules can be found here: github.com/micropython/microp...
Time Codes:
- Intro and demo 0:45
- SPI 2:29
- nRF24L01 6:23
- Software 8:38
- Outro 18:37
Follow me on Twitter at / tinkertechtrove

КОМЕНТАРІ: 107
@gnollkamper
@gnollkamper Рік тому
Not only a great tutorial but provided background information in a clear concise manner. THANK YOU!
@gitasr5450
@gitasr5450 3 роки тому
Detailed presentation for good understanding, good.
@mariopojoy
@mariopojoy 3 роки тому
This is exactly what I was looking for. Your series on ESP01 helped me a lot, and now this is what I needed to port some projects from STM32 to RPI Pico... keep up the good work. I'm sure this channel will grow a lot. I'll suggest a second part of this one adding the MESH network capabilities of the NRF24L01.
@d-i-ry
@d-i-ry 2 роки тому
Hey Mario, is your project up online? I'm stuck and can't get my 2 Pico's to communicate
@wickeddubz
@wickeddubz 3 роки тому
Thanks! Great example, I’d be happy to see more data transmission, receiving and parsing tutorials.
@raymondmichael4987
@raymondmichael4987 2 роки тому
Just subbed, such a wonderful work through. Keep them coming
@cuttawayproductions3438
@cuttawayproductions3438 3 роки тому
Thank you for another excellent video!! Definitely a weekly highlight and I’m sure my local electronics store is also grateful for your content 😄. May you please include a LoRa module at some stage?
@cnaazh6942
@cnaazh6942 2 роки тому
man, exactly what i wanted. i thought i'm gonna search for days. but OH NO it only took 5 min finding this. thank you soooooo much
@TheSchwarzenberger
@TheSchwarzenberger 2 роки тому
Thank you for an nice video! I wish a merry Christmas. Best regards from Germany.
@skf957
@skf957 3 роки тому
Good content, well presented. Thank you.
@raymondmichael4987
@raymondmichael4987 2 роки тому
I spend most of my today's time learning from your videos; You have a talent when it comes to teaching, you're natural. Can you create another pico tutorial with GSM module, preferably SIM800L , to post sensor reading to a cloud database like mongodb or any nosql db. thanks and stay blessed my brother
@monguskooklord7867
@monguskooklord7867 2 роки тому
Helpful videos, I love this board. I've never before ventured into microcontroller land I'm usually dealing with FPGAs and very low level mixed signal/power stuff. But this thing is so easy to use I dont have to bug a software person anymore to get prototypes working :)
@d-i-ry
@d-i-ry 2 роки тому
absolutely fantastic tutorial! thank you!
@alexblunt7493
@alexblunt7493 3 роки тому
Your content is getting so good. Nice job
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
Thank you Alex 🙂
@Solstice42
@Solstice42 3 роки тому
perfect for a project I have in mind - you must have been reading my mind LOL!
@allthegearnoidea6752
@allthegearnoidea6752 Рік тому
Great video and beautiful explanation. Thanks regards Chris
@ccx3-3658
@ccx3-3658 6 місяців тому
What a shame that you don't seem to have added to this channel for a couple of years. Your tutorials are wonderfully clear, well-presented, and helpful.
@MicrobyteAlan
@MicrobyteAlan 2 роки тому
Interesting and well presented thanks
@shanmukbitra8839
@shanmukbitra8839 Рік тому
Very nicely explained thank you
@aem870
@aem870 2 роки тому
Thank you. very helpful.
@MrRyghtHere
@MrRyghtHere 2 роки тому
Hi! Really informative video! Would love to do a project implementing these, but is there a driver for just a regular raspberry pi 4? And what differences to your code would I need to make?
@AlexandreLefaure
@AlexandreLefaure 2 роки тому
Excellent video, very clear :)
@joelreyes8459
@joelreyes8459 2 роки тому
Excellent video! do you know where we can find documentation of the other pipe line addresses? I looked in the nrf24l01 datasheet but didn't find it there.
@josemariaterrazasmarino3190
@josemariaterrazasmarino3190 2 роки тому
great project the driver can be use for nfr24l01+?
@gedtoon6451
@gedtoon6451 2 роки тому
On many Arduino/nRF24L01 projects on the web, they state that reliability can be improved by adding a 10uF capacitor as close as possible to the nRF24L01 power pins. Inexpensive adaptor modules are available that have a 3.3V regulator and filter capacitors.
@D3RmahNet
@D3RmahNet 3 роки тому
Keep it up mate ❤
@SayantanAuddy
@SayantanAuddy 2 роки тому
Very nice video, clear, concise and informative! Thank you so much. Is it possible to do this with circuitpython as well?
@zyghom
@zyghom 2 роки тому
so wait: I can attach on one Pico or Pi4 1 nrf module that will be the controller, and then on 6 other Picos 1 module and 1 Raspberry can talk to and listen to 6 others, right? or in fact each of them can talk to each other even (ok, then it will be messy to handle it). To make it every power efficient, every client is only listening, once the command comes from the controller, the client does his job (i.e. get temperature, etc. from sensors connected to it) and sends back to the controller. Then it goes to sleep (RX) again. Did I get it correctly? Btw, what would be the advantage/disadvantage between nrf vs wifi connected client (i.e. ESP)?
@AdrianGonzalez-un6di
@AdrianGonzalez-un6di 2 роки тому
If i want create a multiCeiver is required increase the pipe´s list? or instance a new nrf object and with "for loop" start to listen each pipe one by one? thanks.
@tonyfremont
@tonyfremont 11 місяців тому
When using these modules, add an electrolytic cap across the power and ground pins, right on the RF module board. Otherwise, you'll have all kinds of weird problems trying to communicate, especially with longer packets.
@leewilkins3155
@leewilkins3155 2 роки тому
Great video. I set it up on one pico, and all seems fine. However I am trying to set up a pi 4 as the receiver, and I can't seem to find a compatible library. I am novice, but I can't seem to get any of the existing libraries to work. I would love to see you connect a pico to a pi 4.
@danielsalinaslopez3541
@danielsalinaslopez3541 2 роки тому
Hi! I'm trying to send and messages between a Pi Pico and an Arduino Uno but I haven´t figured out how to do it. Do u know a way to make it possible?
@moadibnasir2526
@moadibnasir2526 2 роки тому
You are excellent
@selimhancihan2520
@selimhancihan2520 3 роки тому
sir how can ı control 433 Mhz tranceiver and receiver with two pico one connect push button and the other connect led there are no library (virtulwire) for pico
@cgnclk
@cgnclk 2 роки тому
Is is possible to get a troubleshoot on why it doesn't work when some of us try? Possible causes etc... Because i've seen a bunch of people including myself tried the very same things you showed and the LEDs don't light up on the other Pico.
@robdriessen7675
@robdriessen7675 2 роки тому
Hi Tim, wrt the AUTO-ack you smartly introduced: the code is activated with writing "0b11111000" to the EN_AA register (reg #1): nrf.reg_write(0x01, 0b11111000) # enable auto-ack on all pipes. The datasheet however says: "bits 6+7 are to be zero ONLY (section 9.1 Register Mapping) and use bits 0,..5" to activate auto-ack for any of the pipes 0..5. Am I missing something here ?
@tompaquette7138
@tompaquette7138 2 роки тому
I finally understand the SPI and i2c pin uses! Nice video. I have a question on utilization of thr feature with a developed program called lightshowpi, but even if you don't know what that is my question for now is simple enough. Can you operate csp1's gpio's in dependant of csp2's pins, both from csc's request? 2 seperate wireless gpio additions rather then extensions. The reason I ask is I'm trying to get away from 10 cords spidering everywhere from my pi4, and with a wireless receiver I hope to use minimum 2 gpio out pins for light channels. Have 6 receivers with 2 seperately controlled lights and minimum 8 controlled channels, so some receivers would be acknowledging the same command some of the time.
@harshavardhanmv198
@harshavardhanmv198 2 роки тому
Can u try communicating esp32 and pico with nrf24l01? I'm not able to do it
@ravitejakonathala547
@ravitejakonathala547 2 роки тому
Could you made video on nrf24l01 as a ble mode with Raspberry pi pico
@TBL_stevennelson
@TBL_stevennelson 3 роки тому
I've been looking for a Video just like this I'm still in the middle of it but I looked up info to do this project last week
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
Good luck, hope it goes well
@pykid1915
@pykid1915 2 роки тому
oh man you saved us ❤️😀
@kunalrathod2936
@kunalrathod2936 3 роки тому
im trying to make a small car and im trying to use this pico and nrf module......how do i do that?
@carever2000
@carever2000 Рік тому
Excelent video, tanks. Can you show how to use IRQ pin at nRF24L01?
@edgeeffect
@edgeeffect 3 роки тому
I really like your presentation style... relaxed and clear - just perfect. But I do wish your content was a bit more "hardcore" (less Python, more Assembly. More chips and discretes, less modules) but I also suspect that that would be kinda pants for audience development.... so ignore me and keep up The Great Work.
@Athens1992
@Athens1992 2 роки тому
Hello, I followed your instrcution but for some reason I can see the transmitter the led is blinking, but from the other pi pico does not read anything
@amiramir-mt3de
@amiramir-mt3de Рік тому
Hi, does this library work on esp8266 or esp32?
@aremumuiz6994
@aremumuiz6994 2 роки тому
is it possible to expand or increase raspberry pi pico GPIO
@jhonsqueaks4573
@jhonsqueaks4573 2 роки тому
Is It Possible To Use Tensorflow?.
@Gargola_Elegante
@Gargola_Elegante Рік тому
Great video!!, the link for the module drivers on github doesn't work, can you please enable them again? 😇
@freddiessayers7713
@freddiessayers7713 Рік тому
Does anyone know why I am getting a Hardware not responding error for the board. I have followed the instructions in the video but it never seems to work
@Terrasqule
@Terrasqule 2 роки тому
Great Video! Could you do one with two pi 4b's? I'm having trouble getting mine to work...
@Terrasqule
@Terrasqule 2 роки тому
NM, I figured it out.
@michaelbyron9688
@michaelbyron9688 2 роки тому
For an immense improvement in performance with the nRF24L01 set the PICO SPI baud rate to 48000 in nrf24l01.py ie change - self.init_spi(48000) ( it was 4000000 )
@pykid1915
@pykid1915 2 роки тому
this really worked for me✨😀, thankyou
@tanmayfuse1747
@tanmayfuse1747 2 роки тому
Can you please help to how we can control BLDC with rpi Pico
@Curiousmind-01.
@Curiousmind-01. 3 роки тому
Maybe few for now, but sir you have a subscriber from India 🇮🇳 too, 👍.
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
Thank you Avi 🙂
@sakuroyen-9924
@sakuroyen-9924 Рік тому
Heĺlo , I need some help i can get the data transmit and receive successfuly but the problem i get is 10-20time i send and i receive 1 time can you fix this lag delay? thank you in advance
@jayakrishnans2785
@jayakrishnans2785 2 роки тому
Hey can you please do a video on using ads1115 ADC converter on pi Pico ,
@rungeon83
@rungeon83 3 роки тому
OMG YOU DID IT :D!! Hahaha thank you
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
You're very welcome
@TT3Dxyz
@TT3Dxyz Рік тому
The github link is broken, is there an updated link anywhere?
@TheMysticABC
@TheMysticABC 2 роки тому
Fantastic series you are making regarding the PICO. I will be watching every one you make. Really clear instruction and your voice over is just perfect !!! Keep making more such videos !!! I have a few questions if I may. I have completely replicated your set up so that I can get started using nRF24L01. However, so far I can not get it to work Both Pico main.py scripts are running and I have ensured that the pipes are switched in the second Pico to ensure the TX RX side of things When I press the button, only the light on that Pico lights up and I get the print that shows tx1 and tx9 when you press and release the button. On the receiving Pico, nothing appears to be received as the rx 1 rx0 does not show. I get teh same when I press the button on the other Pico. I have checked the wiring of the nRF24L01 at least four times on both Picos to be really sure I have it right I have replaced both nRF24L01 module with new ones to make sure I do not have a bad module The except OSerror: is never fired off as I do not see a print for "message Lost" The only possible difference that I can think of so far that could be is that the version of the nRF24L01 driver might possibly be different to yours ?? Would you have any other suggestions to make to help me trouble shoot this issue and resolve it please ?? Many thanks
@Magicman8508
@Magicman8508 3 роки тому
Is it possible to adress more than six devices? Like giving 10 devices the same adress and using an additional device id in the payload?
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
Interesting idea, I have not tried that
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
I was thinking about this a bit more, while its unlikely that more than 6 devices can communicate directly (not tested this) it would be perfectly possible to setup a relay system. If you built an overlay network using a DHT or something (see en.wikipedia.org/wiki/Chord_(peer-to-peer) ) you could communicate efficiently between a very large number of peers, this is the same way bit torrent works.
@MRINDIANYOUTUBER
@MRINDIANYOUTUBER 3 місяці тому
OSError: nRF24L01+ Hardware not responding pease help
@gregorreichel9290
@gregorreichel9290 2 роки тому
Could you please show what you mean with: the only difference in the software if the two picos is: ? I did not get the point about how to change the pipes.
@d-i-ry
@d-i-ry 2 роки тому
Hey Gregor, were you able to solve this? I'm stuck at the same part
@gregorreichel9290
@gregorreichel9290 2 роки тому
@@d-i-ryYes, same pipe values for sender and receiver
@aem870
@aem870 2 роки тому
I have a problem. The receiver is extremely slow and unreliable, it seems like all messages are getting lost. The transmitter and receiver are only about half a meter apart.
@torac6989
@torac6989 2 роки тому
Im confused, got scripts working on both my nrf modules, they can both send and receive. But when I press a button only the pico connected to the button led turns on. The other doesnt get the message and led doesnt turn on.
@gregorreichel9290
@gregorreichel9290 2 роки тому
Try in nrf24l01.py in line 88: SPEED_1M or SPEED_2M self.set_power_speed(POWER_3, SPEED_250K)
@duckyblender
@duckyblender Рік тому
i think i got it, you need a voltage stabilizer
@So-Now
@So-Now Рік тому
Something very odd going on with your demo code, or my understanding of how these work. When the button changes state, it transmits the state, presumably on the tx_pipe. Then it returns to listening, presumably on the rx_pipe. The receiver receives the data without listening on the transmit pipe, where the data 'should' be being transmitted. Also, changing the pipes[0] and pipes[1] to exactly the same address has no effect on your code. It behaves the same.
@santhoskumar2592
@santhoskumar2592 2 роки тому
Bro can we use nrf24l01 as wifi module, i mean can we connect it to cloud
@tinkertechtrove2910
@tinkertechtrove2910 2 роки тому
you may want to checkout ukposts.info/have/v-deo/ro-FoZWAnpiDpZc.html
@santhoskumar2592
@santhoskumar2592 2 роки тому
@@tinkertechtrove2910 thank you soo much this helps in my mini project
@tinkertechtrove2910
@tinkertechtrove2910 2 роки тому
You are welcome 🙂
@jhonsqueaks4573
@jhonsqueaks4573 2 роки тому
Also Could You Do A LoRa Tutorial With The PICO?.
@d-i-ry
@d-i-ry 2 роки тому
does your code mean to say that 1 Pico should have pipes = (b"\xe1\xf0\xf0\xf0\xf0", b"\xd2\xf0\xf0\xf0\xf0") and the other has pipes = (b"\xd2\xf0\xf0\xf0\xf0", b"\xe1\xf0\xf0\xf0\xf0") ...because the communication isn't working for me yet
@cgnclk
@cgnclk 2 роки тому
My code neither. When I press the button, only the Pico that the button is connected to is lighting up.
@duckyblender
@duckyblender Рік тому
@@cgnclk same
@duckyblender
@duckyblender Рік тому
i think i got it, you need a voltage stabilizer
@mrkumar3775
@mrkumar3775 Рік тому
Can you please make a video for transmitting data pi Pico to Arduino Uno via nrf24l01 🙏🙏🙏
@coolcraftpe5368
@coolcraftpe5368 2 роки тому
It doenst work can someone please help me? I did every thing like in the video but it wont work I need Help please.
@cgnclk
@cgnclk 2 роки тому
Same :/ If anyone found a solution, please share.
@miguelbuitrago4405
@miguelbuitrago4405 2 роки тому
Me too. I did everything step by step but does not work.
@duckyblender
@duckyblender Рік тому
i think i got it, you need a voltage stabilizer
@technologyofwah9961
@technologyofwah9961 2 роки тому
please sir nrf24l01 & raspberry pi pico based 7 channel transmitter & reciver making vedio next please ?
@ribbithole4128
@ribbithole4128 Рік тому
OSError: nRF24L01+ Hardware not responding
@karlenaleksanyan9242
@karlenaleksanyan9242 Рік тому
did you somehow solve this issue?
@Mr.Leeroy
@Mr.Leeroy 3 роки тому
your voice recording peaks at -20db, please bring it up to -9db
@EvilKimau
@EvilKimau 3 роки тому
I love how with such even voice you can keep rattling off all the part names and acronyms. I would resort to saying the wireless thingy after one or two attempts.
@MadhuKumar-hi2qs
@MadhuKumar-hi2qs 3 роки тому
I'm 911th Subscriber
@tinkertechtrove2910
@tinkertechtrove2910 3 роки тому
Thank you 🙂
@Mr.Leeroy
@Mr.Leeroy 3 роки тому
computerlivesmatter ffs
@larrybud
@larrybud 4 місяці тому
4:14 Oh for fuck's sake. I'm out.
@dbtest117
@dbtest117 Рік тому
Oh stop it Master Slave is completely appropriate name for electric circuits.
@paulcottingham241
@paulcottingham241 3 роки тому
PC meets electrical engineering :-(
@johnbrisbin3626
@johnbrisbin3626 6 місяців тому
Don't need any woke renaming BS.
@nickfolino8228
@nickfolino8228 2 роки тому
If the terms master and slave offend you then you should find another hobby.
Raspberry Pi Pico - PIO explained
50:01
Slador
Переглядів 24 тис.
Raspberry Pi Pico: WiFi part 2, Deep Sleep!
23:13
Tinker Tech Trove
Переглядів 15 тис.
Їжа Закарпаття. Великий Гід.
1:00:29
Мiша Кацурiн
Переглядів 573 тис.
BRAWLER MUTATIONS WILL BREAK THE GAME! - Brawl Talk
09:34
Brawl Stars
Переглядів 25 млн
PicoMite: Running BASIC on a Raspberry Pi Pico
19:29
ExplainingComputers
Переглядів 143 тис.
Raspberry Pi Pico - Control the (I/O) World
1:03:16
DroneBot Workshop
Переглядів 597 тис.
NRF24 Frustration - Radio module doesn't work?
12:46
Electronoobs
Переглядів 81 тис.
Raspberry Pi  Pico PIO  - 8 Little Processors You Can Program
31:55
Gary Explains
Переглядів 86 тис.
Is Strictly Apple a SCAM?
27:22
Austin Evans
Переглядів 369 тис.
Raspberry Pi Pico VGA video output using only resistors
11:10
Robin Grosset
Переглядів 88 тис.
Build a Ham Transmitter with a Raspberry Pi Pico
5:21
101 Things
Переглядів 13 тис.
Raspberry Pi Pico gets WiFi via an ESP01 and UART
21:20
Tinker Tech Trove
Переглядів 47 тис.
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Переглядів 3,5 млн
Сомнительно... Ну Окэй... Распаковал Nothing Phone (2a)
16:19
РасПаковка ДваПаковка
Переглядів 57 тис.
Start from 0 at any point on the T1 Digital Tape Measure
0:14
REEKON Tools
Переглядів 18 млн