Another Room Automation project

You can have multiple SPI devices connected to pins 11..13, you just need to manually
toggle different pins from pin 10 for the chip select.

Also, if you're only gonna be testing a device that uses CS other than pin 10, you still need
to configure pin 10 as OUTPUT, else the mega328 SPI peripheral will revert to slave mode.

I dont know if i followed exactly what you said. (english is not my main language)
So i can use my duemilanove with ethernet shield on top and also use nrf24l01 chip with no conflict between those two ?
didnt understand exactly what you mean by manually switching different pins from pin 10 :confused:

@ zoomkat i thought of that, but wouldnt that make the process of data slower ?

It might make it slower, but may not be the slowest part of your network or noticable from a human perception point of view.

Ok, may be i'll just connect my master node (custom pcb with nrf24l01 chip) to computer with ftdi cable and then it'll receive commands from serial via php page or something like that...it's not the best for sure, the best option would be connecting ethernet sield and nrf24 chip together, but i didnt understood how to do that.

You can use SPI pins 11..13 for more than 1 device, but you just have to use a
different chip-select pin for each different device, pin 10 for one and some other
pin for the others. So you have to make sure the nrf2401 shield uses a something
different from the ethernet board for chip-select.

And that is done by software only ?

i found this:

One little catch is with Ethernet shields based on the Wiznet W5100 chipset, which includes the official Ethernet shield and many third-party shields. The W5100 has a design flaw that causes it to maintain control of the SPI bus even when another device has been selected, making it very tricky to combine the official Ethernet shield with other shields that use SPI. The Freetronics Ethernet Shield uses the W5100 chipset but includes a fix in hardware so it doesn't have that problem and will happily share the bus with other SPI devices.

source: Stacking Arduino Shields | Freetronics

So maybe there's a problem with ethernet shield, even if i can use another pin for CS (on the nrf24l01 chip), the ethernet shield wont let me use it :s

You're just gonna have to work that out between whatever shields you have. Check out
the schematics, etc. Many shields seem to have marginal designs. You may have to cut
some traces, and patch software, to get shields to play nice together, or toss some shields
in the closet, and buy something else. XBee shields are notorious for this kind of problem
too.

EDIT: the other option is, you can try using the software SPI commands to connect to the
NRF2401 module, and use a different set of pins than 10..13,

http://arduino.cc/en/Reference/ShiftIn
http://arduino.cc/en/Reference/ShiftOut

So maybe there's a problem with ethernet shield, even if i can use another pin for CS (on the nrf24l01 chip), the ethernet shield wont let me use it :s

The w5100 shield is what it is. As far as I know most shields are made with the idea of them being the only shield on the arduino. You start stacking shields and you are pretty much on your own to figure out the interfacing.

Carlcox89:
Yes, there are some interesting examples out there.

Some useful information here

file:///E:/Arduino/arduino-1.0.1/libraries/NRF24/doc/index.html

Nick_Pyner:

Carlcox89:
Yes, there are some interesting examples out there.

Some useful information here

file:///E:/Arduino/arduino-1.0.1/libraries/NRF24/doc/index.html

My problem isnt with the nrf24 chip.
I just need some opinion of what is the best approach for the master node to be connected to internet

So, no one has an opinion on what could be the best approach ?

  • arduino w/ Ethernet shield + nrf24 chip
  • Nrf24 chip on custom pcb being connected to pc (serial) and a php that would handle the requests...etc
  • Nf24 chip on custom pcb connected (serial) to arduino with ethernet shield

?

I thought I had made a couple of straightforward suggestions.

Besides those, from my perspective, I'd probably look for an ethernet shield that's not
so rigid in demanding domination over the buss.

@ oric_dan , i just read the EDIT you made in that post before :slight_smile:
i actually found a guy in the nrf24 maniacbug library post that has an arduino mega with ethernet shield and nrf24 working together.
I think i'll follow that

I've pretty much been working on the same setup with the exception of using RFM12Bs instead of the nrf24s (Form factor issue and availability at the moment). I haven't had any issues with the Ethernet Shield and the RFM12B after adjusting the library to use pin 9 as the SS, but I haven't tried doing that for the NRF24s yet.

@ Arrch thanks for the info :slight_smile:

Carlcox89:
@ oric_dan , i just read the EDIT you made in that post before :slight_smile:
i actually found a guy in the nrf24 maniacbug library post that has an arduino mega with ethernet shield and nrf24 working together.
I think i'll follow that

Can you give a link to this?

Arrch:
I've pretty much been working on the same setup with the exception of using RFM12Bs instead of the nrf24s (Form factor issue and availability at the moment). I haven't had any issues with the Ethernet Shield and the RFM12B after adjusting the library to use pin 9 as the SS, but I haven't tried doing that for the NRF24s yet.

You mean the library for the RFM12, or for the ethernet module?

Also, which RFM12 library are you using? I tried the JeeLib library, but the examples don't work.

RF24 Library: Driver for nRF24L01(+) 2.4GHz Wireless Transceiver - #115 by system - Networking, Protocols, and Devices - Arduino Forum :slight_smile:

Carlcox89:
So, no one has an opinion on what could be the best approach ?

  • arduino w/ Ethernet shield + nrf24 chip
  • Nrf24 chip on custom pcb being connected to pc (serial) and a php that would handle the requests...etc
  • Nf24 chip on custom pcb connected (serial) to arduino with ethernet shield

Why don't you explore using Raspberry Pi as the central hub with built-in ethernet or USB wifi/BT adapter.. it is cheaper than an Eth Shield and a lot more powerful and flexible and runs an O/S...

If you need a longer bridge, you can have 2 Raspberry Pi running a wifi link to each other with external wifi antennas... flexible solution using common wifi products...

This HOWTO uses both the maniacbug libraries for both Arduino and ported to RPi so the codes looks similar...

My idea was to make the Arduino/nRF onto a PCB as remote notes connected to RPi with a nRF radio with external antenna for better range/coverage..