transceiver's driver support for Arudino mega 2560

Hi,

I am testing the ccn-lite over Arduino mega 2560 board. Got the following compile error “There are unsatisfied feature requirements: transceiver EXPECT ERRORS!”.

I guess there is no transceiver’s driver support for Arudino mega 2560 board. Just want to confirm my guess.

Xili


As much as i know,

There is no tranceiver in default Arduino. You should attach a tranceiver maybe. :slight_smile:

Changue

Hi Xili,

as Chanque stated, the Arduino-mega2560 has no transceiver on it. In general I’d recommend to use one of the 32bit arm-cortex based platforms as they have the best support for RIOT. The “Atmel samr21 xplained pro” for example has an onboard IEEE802.15.4 transceiver, but therefore it’s a bit pricey (~40€). If you scroll through RIOT/boards* you can get an overview of our supported platforms.

Best, Peter

Hi Peter,

Actually, we have a Xbee transceiver hardware attached to Arduino-mega2560. My question is that “Does RIOT has the driver support for some transceiver hardware (for example, Xbee transceiver) for Arduino mega 2560 boards?”. I found it looks like there is no driver support for any transceiver in RIOT. Without the driver support of RIOT, transceiver won’t work.

For the board “Atmel samr21 xplained pro” you recommend, the supported platform table (https://github.com/RIOT-OS/RIOT/wiki/RIOT-Platforms) says this board’s support status is “In Progress”. I don’t know whether we can choose this or not.

What do you think of the telosb board which is “fully supported”? From the supported platform table, it looks like RIOT has the driver support for CC2420 chip which is a built-in transceiver module.

Thanks,

XIli

Hi Xili,

    Actually, we have a Xbee transceiver hardware attached to Arduino-mega2560. My question is that "Does RIOT has the driver support for some transceiver hardware (for example, Xbee transceiver) for Arduino mega 2560 boards?".

RIOT's design has architecture-independent drivers. Xbee is supported. You should be able to use this combination.

That said, the network stack is in flux right now. While link-layer communication should work rather nice, higher layers, e.g., 6lowpan, are in stabilzation phase right now.

For the board "Atmel samr21 xplained pro" you recommend, the supported platform table (RIOT Platforms · RIOT-OS/RIOT Wiki · GitHub) says this board's support status is "In Progress". I don't know whether we can choose this or not.

A lot of core devs are using the samr21, so it's probably the most supported board wrt networking.

Kaspar

Hi Xili,

in addition to Kaspars mail: The Arduino-mega2560 has no GPIO implementation right now (and also no SPI). That's why there is no transceiver support even if we have this architecure-independet drivers. You could use other boards to drive your Xbee like stm boards or arduino-due. They are cheaper but you need cables. (When using arduino-due be aware of the pinout, I'm not sure if we already managed to configure the pins so one could just plug the Xbee shield on the board).

Regarding the Atmel sam21: Even if the status is "in progress" I recommend that platform. It is well supported in RIOT and used by many of our core developers. I think "in progress" means that not all features are implemented now. But the most are, right now.

Best, Peter

Hi,

just a side remark: All the Xbee module needs is a working UART driver (and this is there for the mega2560)...

Cheers, Hauke

Hi Peter,

Thanks for your answer and suggestion.

Regarding the Atmel sam21 board, I did some research about this board. Are the following items are the correct choice for this board?

http://www.mouser.com/ProductDetail/Atmel/ATSAMR21-XPRO/?qs=%2fha2pyFaduinoflRfGzRdS4dlh0TRHsHwck%2fQEeul8k%3d

http://www.mouser.com/ProductDetail/Atmel/ATIO1-XPRO/?qs=%2fha2pyFaduhtOCTaz1iZVyfMwgvMHCxNg1zq5ZaphoVS1gdRKq6VlQ%3d%3d

Please help me to confirm this if you have time.

BTW, our goal is to test ccn-lite on RIOT, so as long as the transceiver works, ccn-lite stack should work, am I right?

Thanks,

Xili

Hi Xilian,

  1. Did you realize that the Xbee is based on Uart like Hauke stated? I totally forgot that. Means that you may be able to use it with the mega2560. Still, if it’s not about the money or the 8-bit avr stuff I’d recommend to use the Atmel board.

  2. The board I am talking about is this one:

  3. AFAIK ccn-lite is based on the old network stack which is not maintained anymore. Doesn’t mean that nobody on the mailing list could answer specific questions. I don’t now much about the latest status and future plans of ccn-lite. As far as I see it, the old transceiver driver for Atmel’s transceiver is still in RIOT master. Would be nice if someone with more knowledge can report about the ccn-lite status! Best, Peter

Hi,

ccn-lite is based on the old network stack which is not maintained anymore.

Correct.

I don't now much about the latest status and future plans of ccn-lite.

The plan is to create a new port of current ccn-lite based on the new network API. We want to stay closer to upstream this time so keeping it current is easier.

Need to find time...

Kaspar

Hi Peter,

Thanks. I gonna try the Xbee based on Uart interface.

Another question, do you have any experience with sensors on the board you recommend? Any suggestion for selecting sensors working with the ATSAMR21-XPRO board?

Xili

Hi,

Riot has support for several standard sensors/actuators. Look through the the drivers section of the API for convenience: http://api.riot-os.org/group__drivers.html Most of those are implemented based on the contemporary "peripheral" set of low level hardware interfaces: http://api.riot-os.org/group__driver__periph.html In order to see if a particular peripheral driver interface is available on your target board, you can check the respective "Makefile.features": https://github.com/RIOT-OS/RIOT/blob/master/boards/samr21-xpro/Makefile.features

That said it's quite easy and a good exercise to learn about RIOT and the contribution process to add a new driver :slight_smile:

Cheers, Ludwig

Hi Xilian, don't know if I got you correctly. Just in addition: The Atmel board has an on board IEEE802.15.4. transceiver. So if you are not dependent on the Xbee module it could be comfortable to use this instead of an external module. Otherwise I think you suggested to first try the Xbee+Arduino-mega2560 solution and then go for the Atmel board...

Best, Peter

Hi Ludwig,

About the sensor selection for the sam21 borad , I am confused about it. http://www.mouser.com/ProductDetail/Atmel/ATIO1-XPRO/?qs=%2fha2pyFaduhtOCTaz1iZVyfMwgvMHCxNg1zq5ZaphoVS1gdRKq6VlQ%3d%3d This is the sensor we plan to buy. The sam21 board provides the SPI, UART interfaces which matches this sensor’s interface types. I don’t know if this sensor will work properly since it may need a board-specific driver for this sensor. Or, I have to choose a sensor from this list "http://riot-os.org/api/group__drivers.html " which lists the sensor with drivers implemented for RIOT? If so, I may have another problem: These sensors list in the above mentioned list may not fit the sam21 board which only provides SPI, UART interfaces (This means these sensor may require different interfaces that sam21 board doesn’t support.)

Can you help me to clarify this?

Hi,

Regarding the Atmel extension board: I did not cross check whether RIOT does support all the sensors on it. If it would, you theoretically only need to specify the peripheral interface each sensor is connected to. As long as Atmel did not do something weird (don't know, I never had this board in my hands), you would not need to implement a special driver for the extension board itself.

At least the temperature sensor is not supported by RIOT right now. However, like I said before, implementing drivers is not so hard.

Regarding the interfaces, you are mistaken. First, the extension board needs more peripheral interfaces, not only UART and SPI. For example, quoting the datasheet: "IO1 Xplained Pro extension board features an Atmel AT30TSE758 temperature sensor chip with an 8kbit serial EEPROM inside. The sensor includes programmable high and low temperature alarms, user-selectable temperature resolution up to 12 bits, and an I2C/SMBus™ compatible serial interface."

Second, the samr21-xpro does feature more peripheral drivers. For example: "FEATURES_PROVIDED += periph_i2c"

Another way of adding sensors (which are already supported in RIOT) is this: Buy some sensors made for arduino on eBay, attach them to the board via jumper wire. Example: http://m.ebay.com/itm/DHT11-Temperature-and-Humidity-Sensor-Module-for-Arduino-/271096647277

I suggest you carefully read the articles at http://www.watr.li to give you an idea about the whole thing.

Cheers, Ludwig