Integrated Arduino  Zigbee with new ATmega128RFA1

Anyone planning to build an Arduino IDE compatible board with the new AVR with integrated zigbee?

http://www.atmelroma.it/dyn/products/product_card_mcu.asp?part_id=4692

I am collecting up your feature requests for a board.
My own enthusiasm is for a small footprint like the teensy or nano.
What about these ideas:

Lithium charger and battery socket?
lilypad form factor?

You might want to wait a bit till you can actually buy such chips. In an apparently new strategy, Atmel's 12/09 announcement doesn't even include a guess at to availability of the chip (nor could I find anything on their web pages.) I guess that in theory, this is a less ambitious product than then Xmegas, and could do much better, but...

I'm not sure what the implications of building an RF device from chip level is. One of the advantages of the "module" approach taken by Zigbee and Bluetooth Arduinos is that Radio certification issues are handed off to someone else...

They announced RF4CE certification so presumably prototypes exist.
It takes a while to design and build a board so why not start now? The pinout and recommended circuit are established.

The claim is that
"The Atmel Atmega128RFA1 is available now with a suggested price of $4.78 for 10K quantities."

I'd personally like an Arduino Mega form factor, so I could at least use existing shields with it.

Have you thought about antennas? Chip, trace, sma?

I looked at it and thought that it would be good but I would keep it to the standard form becuase I think more people will want to be able to fit shields etc.

Mowcius

A friend and me are right now going to make a diecmila like device from that module:
http://www.dresden-elektronik.de/shop/prod111.html
(advantage of the module: it is approved).

We decided to go for Diecimila because the RFA1 is a mega1281 device and has less ports then the mega1280 used on the mega arduino.

Here is the current pin wiring, any advice is very welcome, because
we are not sure what to do, whether to sprinkle around with the megaRFA1 ports to match exactly diecimila mapping or keep RFA1 ports intact and bundled. Generally the second level AVR functions generate headaches:

  • does some shields use T0/T1 ?
  • swap AIN0 and AIN1 to have a PWM at D6 ?
  • is ICP at D8 used from anybody?
  • MOSI and /SS have now PWM at megaRFA1!
--    J1            --    (Digital)
Arduino         type        ATmega128RFA1      deRFMega128
1    PD0/RxD     d0        PE0/RXD0            X2.3
2    PD1/TxD     d1        PE1/TXD0            X2.5
3    PD2/INT0    d2        PE4/OC3B/INT4 (PWM) X2.10
4    PD3/INT1    d3 (PWM)  PE5/OC3C/INT5 (PWM) X2.12
5    PD4/T0      d4        PE6                 X2.14
6    PD5/T1      d5 (PWM)  PE7                 X2.16
7    PD6/AIN0    d6 (PWM)  PE2/AIN0            X2.7
8    PD7/AIN1    d7        PE3/AIN1 (PWM)      X2.8
                   
--    J2            --    (AIN)
Arduino                ATmega128RFA1           deRFMega128
1    PC0/ADC0    a0        PF0/ADC0            X2.11
2    PC1/ADC1    a1        PF1/ADC1            X2.13
3    PC2/ADC2    a2        PF4/ADC4            X2.15
4    PC3/ADC3    a3        PF5/ADC5            X2.17
5    PC4/ADC4    a4        PF6/ADC6            X2.19
6    PC5/ADC5    a5        PF7/ADC7            X2.21
                    
--    J3            --    (SPI)
Arduino                ATmega128RFA1           deRFMega128
1    PB0/ICP      d8 (ICP)  PB4/OC2A (PWM)      X1.5
2    PB1/OC1     d9 (PWM)  PB5/OC1A (PWM)      X1.3
3    PB2/SS       d10 (PWM) PB0/SS              X1.8
4    PB3/MOSI    d11 (PWM) PB2/MOSI            X1.9
5    PB4/MISO    d12       PB3/MISO            X1.7
6    PB5/SCK     d13       PB1/SCK             X1.11
7    GND                
8    AREF        AREF                          X1.21

From the software it is initially planned to add a uracoli library in the core, similiar like for the zigbit:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1262379234/3#3

Sounds like a really neat device. Any ideas on the final price point?

The pure DE module (without the Arduino base board) is available in their shop for ~22,00EUR excl. tax (final price in germany ~27EUR + shipping cost).

Currently we have no idea about the price for the arduino base board and where to manufacture it. Until now it is just for fun and proof of concept, we was just excited about arduino and thought it could be a nice contribution.

Hi to all.

I was looking to the ATmega128RFA1 datasheet few weeks ago and was thinking it could be a great Arduino RF system.

I think, if starting from, Diecimila layout concept, that USB IC (FTDI) could be cut off rsulting in a less power consumption and cost (esternal adaptor could be used like in LilyPad, Mini, ...).

A more efficient voltage regulator should be used to make more easy to develop battery powered devices. Maybe, as suggested in other posts, a battery charger/regulator could be included in the board (or as external plugin/wired board via plug connector).

Maybe a real time clock and analog voltage reference chip cold be usefull too.

Separate I2C pins (like in Arduino Mega) will be usefull too.

I would like to partecipate in this project.

Ciao.
Marco.

I think, if starting from, Diecimila layout concept, that USB IC (FTDI) could be cut off rsulting in a less power consumption and cost (esternal adaptor could be used like in LilyPad, Mini, ...).

I did not test it yet, but there is a patch for avrdude which uses the bit bang mode of the
FTDI232 to do an ISP programming of the AVR (at least for the bootloader). But I agree that the chip should have an option to be disabled for reasons of power consumption.

Batterie powering is indeed a good idea for a "native" wireless arduino.

What about the pin voltage ? The RFA1 has a maximum VCC of 3.6 V. What to do
with the 5V shields ?

What about the pin voltage ? The RFA1 has a maximum VCC of 3.6 V. > What to do with the 5V shields ?

That is the point: mantain or not the compatibility with 5V shields?
For power reduction is preferable to have a 3.3V board.
For compatibiòlity with 5V shields it could be used a level converter IC, but than you have also problems with analog inputs signals conversions, ....
Ciao.

The 3.6V issue is inherent when using the RFA1 with Arduino.

I see two options
a) a converter shield with level shifters or
b) put the levels hifters on the arduino board

Option a) allows to make the 3.3V Arduino a power saving device and people angry
when they forgot to mount the level shifter shield.

I thought about the 3.3V/5V issue a while and came to the conclusion that it would probably the best, to move the connectors with a small amount so that the 5V shields will not fit in (acciedently). Any ideas, pro or con, to this rude approach are welcome.

The shield compatibility is an issue for the shields with 5V components, but also with the ones that have 3.3V components, since usually they have a voltage divider for signals. So if signal from ATmegaRFA are 3.3V (without any level converter) You'll have that the components on the shield will probably not sense highs.

Another approche could be to have 2 base boards (one 3.3V only for low power applications and one 5V with level converters) with no microcontroller where you can plug the ATmegaRFA1 small board.
A little bit like a Lego system with modular components (power , microcontroller, ....).

Ciao.

This sounds like a good aproach, I could imagine the board stack mechanically so:

      =#============#=     Original *.* Shield
       #            #
    =#=#============#=#=   Level Shifter Shield
     #                #
    =#================#=   3.3V RFA1 Arduino

I can see that but I think that so many people would use it with the level shifter, it should be integrated into the board. With a 'mega' sized board they/it would easily fit on.

Mowcius

The issue with the automatic direction finding level shifters (Maxim, M3xxx)
is, that they can't drive static loads and start oscilating. Sometimes there was
strange behaviour at power up, which could confuse e.g. I2C devices. So using
this devices can result in long and pain full debug sessions.

Is this 3.3V to 5V comaptibility issue worth to start a new topic, since it would come back
with xmega or arm, etc. ?

Just use a switch, no need to make things needlessly complicated imho.

We can consider using mosfets as level shifters, see: http://www.nxp.com/documents/application_note/AN10441.pdf or d.holmes > hardware > simple bus level-shift / I2C mosfet level converter w. Fairchild BSS138

David

The maxim MAX 3370 uses also transistors in the path. However they addressed the direction switching and with the box "speedup" the improved the switching speed (section "Bidirectional Transceiver Methods" http://www.maxim-ic.com/app-notes/index.mvp/id/3007). But this IC can't drive loads and starts oscilating when doing so.

Another question comes to my mind: how to protect the analog inputs ?

However, the first prototype will come with a big label "3.3V ONLY" on the PCB ... I think this will be ok for a prototype :slight_smile:

PS: Sorry for the naive discussion level, I'm more a software guy.