I'm trying to use the NRF24L01 chip with the STM32F407xx black board. I was checking the test script here: https://github.com/micropython/micropyt ... l01test.py - if I run micropython.platform, the board comes up as "pyboard", but it's clearly not pin-compatible. Question: what are the pin names for the NRF24L01 socket on the board, and how to set this chip up? I tried following this: https://stm32f4-discovery.net/2014/06/l ... stm32f4xx/ for pinout, but it's about the discovery board which clearly doesn't have the NRF socket. Any ideas?
UPDATE: I tried using pins from this schematics: https://os.mbed.com/users/hudakz/code/S ... /shortlog/,
so:
cfg = {'spi':1, 'miso':'PB4', 'mosi':'PB5', 'sck':'PB3', 'csn':'PB7', 'ce':'PB6'}
and then
csn = Pin(cfg['csn'], mode=Pin.OUT, value=1)
ce = Pin(cfg['ce'], mode=Pin.OUT, value=0)
nrf = NRF24L01(SPI(cfg['spi'], csn, ce, payload_size=8)
but all I get is OSError: nRF24L01+ Hardware not responding
[STM32F407xx] - NRF24L01
Re: [STM32F407xx] - NRF24L01
It's coming up as 'pyboard' as that's the default for the STM32 port.
Pinout:
https://github.com/mcauser/BLACK_F407VE#nrf24l01-jp2
* 1 GND
* 2 3V3
* 3 PB6 NRF_CE
* 4 PB7 NRF_CS
* 5 PB3 SPI1_SCK
* 6 PB5 SPI1_MOSI
* 7 PB4 SPI1_MISO
* 8 PB8 NRF_IRQ
Orient the NRF24L01 so that the antenna is furthest away from the board.
The ZE and ZG boards have a different set of pins:
* 1 GND
* 2 3V3
* 3 PG6 NRF_CE
* 4 PG7 NRF_CS
* 5 PB3 SPI1_SCK
* 6 PB5 SPI1_MOSI
* 7 PB4 SPI1_MISO
* 8 PG8 NRF_IRQ
https://github.com/mcauser/BLACK_F407ZE#nrf24l01-j8
https://github.com/mcauser/BLACK_F407ZG#nrf24l01-j8
You can tell which board you have by looking where the USB and MicroSD are located.
The VE board has the USB on the left and the ZE/ZG has the USB on the right.
Pinout:
https://github.com/mcauser/BLACK_F407VE#nrf24l01-jp2
Code: Select all
+-------------------------------------+
| USB JTAG MicroSD |
| |
| 2 4 6 8 |
| 1 3 5 7 |
| NRF |
* 2 3V3
* 3 PB6 NRF_CE
* 4 PB7 NRF_CS
* 5 PB3 SPI1_SCK
* 6 PB5 SPI1_MOSI
* 7 PB4 SPI1_MISO
* 8 PB8 NRF_IRQ
Orient the NRF24L01 so that the antenna is furthest away from the board.
The ZE and ZG boards have a different set of pins:
* 1 GND
* 2 3V3
* 3 PG6 NRF_CE
* 4 PG7 NRF_CS
* 5 PB3 SPI1_SCK
* 6 PB5 SPI1_MOSI
* 7 PB4 SPI1_MISO
* 8 PG8 NRF_IRQ
https://github.com/mcauser/BLACK_F407ZE#nrf24l01-j8
https://github.com/mcauser/BLACK_F407ZG#nrf24l01-j8
You can tell which board you have by looking where the USB and MicroSD are located.
The VE board has the USB on the left and the ZE/ZG has the USB on the right.
Re: [STM32F407xx] - NRF24L01
Mine is definitely a VE board, and yes, got the antenna going outwards, as you said. So the pins seem to be declared correctly:
cfg = {'spi':1, 'miso':'PB4', 'mosi':'PB5', 'sck':'PB3', 'csn':'PB7', 'ce':'PB6'}, and I'm still getting that OSError. So what's wrong with my code? Is the IRQ pin supposed to be declared somewhere, too?
cfg = {'spi':1, 'miso':'PB4', 'mosi':'PB5', 'sck':'PB3', 'csn':'PB7', 'ce':'PB6'}, and I'm still getting that OSError. So what's wrong with my code? Is the IRQ pin supposed to be declared somewhere, too?