CES Update: Atmega128RFA1

After posting about our visit and interview with [Vemund], the Atmel rep at CES. We got the feeling you needed to know some more. The thing that has got us pretty excited is the ATmega128RFA1(pdf) single-chip microcontroller and Zigbee radio module. It can be found in the ATmegaRFA1-EK1 development board. We look forward to seeing future projects and products involving this chip. How would you use this chip?

38 thoughts on “CES Update: Atmega128RFA1”

If I remember correctly, Travis Goodspeed was sniffing the encryption key during the initial transaction between a mote’s CPU and radio. Perhaps the integration the CPU and radio into a single package will make this attack outside of the time/monetary investment for a subset of attackers?

It could be really awesome if they included a preprogrammed bootloader that lets program the chip over the air. Then my dream of wireless bootloading would come true (yes, I know about zigbee hacks but I believe it should be done on chip).

Setting aside the implementation trivia, Over-The-Air programming is going to be risky for single chip devices not using external flash. *IF* there’s either an unbricking mode watchdog scheme, or external flash memory, it gets “less risky” at best.

Security per se is a Verb,not a Noun, and as such- RF programming is only as secure or insecure from exploits as you make it.

But yeah, it would be so neat to RF Flash that mouse or keyboard or Earset no wires needed

@oren:
AVR devices with self-programming capability have a reserved bootloader flash section – the bootloader can safely overwrite the application section – if something fails, the bootloader is still there. Encryption/signing of binaries should also possible. However, the ATmega128 (not RFA1) has a bootloader size of 4096 words (=8192 bytes) maximum. I would assume the ATmega128RFA1 has the same limits. I have my doubts that complex ZigBee protocol code fits in here (on the other hand, I really do not know how much code is necessary).

@svofski:
This is already possible, as Jkx mentioned, by using a cheap (433Mhz/868Mhz) RFM12 module.

@Rupin:
“In-System Programming” (over SPI) should always be possible. Beware though, that on the AVR Dragon (if you happen to have one of these) JTAG debugging functionality is limited to up-to-32K flash devices. Programming over ISP, however, is possible.

That module is interesting (although I have little faith in 433Mhz devices), but my point is a little different. If AVR had a standard bootloader pre-programmed, it would already be 10x easier to work with. For me it’s always the same procedure all over again: design/solder, make a human sacrifice, program the bootloader and fuses over the ugly wires, pray that it worked, start real work with bootloader over serial never having to fear of broken fuses again.

Now if there’s a standard bootloader, the whole process is much easier PLUS you don’t have to route the oh-so-familiar programming taps. If there’s an over-the-air bootloader, it’s many times more easy because you don’t even have to route the serial pads (unless you use the serial for something else of course). Just snap it in, bzzzt, voila! But one can only dream…

The BOM for my version of an xbee module will cost between $10 and $20, depending on how much the atmega128rfa1 costs. That cost includes the pcb getting done by BatchPCB, so volume runs would be less. While my hardware will cost less, I can’t provide the robust AT command set that the Xbee does. That is unless folks in the community come together and make something.

@Jkx: I agree the current modules are pretty expensive (>$20 for zigbit & Xbee). However, the point of this chip is to have enough RAM and flash to do a full ZigBee/6loWPAN stack. An AVR tiny won’t cut it for those stack footprints.

why don’t they integrate balun (B1) into the chip itself, that would be a real deal. we always have to design our own or get the baluns that take up some space… why, o why don’t they do it? what use we have of this unbalanced output anyway P&N?

Great. If hackaday starts showing wireless arduino projects that flash an LED when there is (fill in the blank with something stupid) an incomming email for example. Then i will….i dont know what ill do. but it wont be good.

@Jkx, the zigbit modules are engineered solutions… If you crack one open, you’ll likely see an ATmega1280 AVR and an AT86RF230 or 231 radio. The AVR does all the zigbee protocol stuff, and the radio handles everything from the MAC layer on down.

You can also buy those chips discretely or in bundles. The AT86RF230 costs about $3.70 in singles from Digikey.

Atmel also bundles radio chips with AVRs /without/ packaged discretely as well. These cost anywhere from $7 to about $20 depending. I’d expect this new chip to come in somewhere in that range.

@bistromath Yes TI, Freescale and others have zigbee solutions that are more advanced. The problem there is you have to purchase a >$2k compiler, then also possibly license their zigbee SDK/stcaks for >$2k. Atmel gives you a royalty free stack (Bitcloud) and their compiler is gcc. Granted there is still the commercial license fee from the ZigBee org.

Don’t forget that there is an open source ZigBee stack being worked on over @ http://www.freaklabs.org. In his blog he addresed the issue of ZigBee and paying them money to commercially selling their stuff.

Also, a truly free solution exists by switching over to 6loWPAN & ContikiOS.

They should concentrate on making the Atmega1284 available instead of announcing new stuff all the time. A cheap RFM12 module is all that’s needed to make radio availabe without a new specialized Atmega.

Thanks for tossing us some more meat on ATMEL from CES. It seems HaD is listening!

@Xandl,

The AVR Dragon ($49 USD) ISP/HVSP/JTAG/DWire programmer in-system debugger is no longer constrained to 32kB as of AVR Studio V4.18+SP1 released this month. If you will note, the Dragon firmware is automatically checked and updated by AVR Studio. This is long overdue and confirms ATMEL was intentionally crippling the Dragon to preserve market share for their other equally capable but hugely overpriced programmers. ATMEL is usually not like this, they understand making small money on overpriced tools and development software prevents the sale of parts, their primary product. If only Microchip (and others) would understand this.

Oh yes, don’t believe the bunk that the AVR Dragon is “fragile”. The early V1 devices had some issues were fully addressed in the V2 boards. Virtually all boards in stock with common vendors are V2 boards.

The Dragon provides not only simple ISP programming but JTAG and HVSP programming, one of which (depending on target chip) is required for programming certain protected fuses. And don’t forget you also have full JTAG and DWire debug support as well. Many ask why spend $49 on a Dragon when you can buy an ISP progammer for $19. I’ve just explained why.

@Gerd,

The ATMega1284P was supposed to ship this week from the likes of Mouser and Digi-Key. They seem to be late. But I’m sure the parts are released to manufacturing. Why are people so zoned-in on the ATMega1284P anyway? It is essentially the ATMega1280P but available in a PDIP40 package. Oh oh… I see, “Arduino environment saps up resources, need more memory, must have DIP parts for Arduino, must have ATMega1284P – yes master – Bzzzzzttt”. Forget the Arduino… If you must, just get creative and buy a PDIP breakout for the ATMega1280P for now. You also get soooo many more pins with the non PDIP part. It does seem though the ATMega1284P is a little cheaper.

Don’t forget, you don’t only need the hardware, you need to IDE to support the hardware. If I’m not mistaken the ATMega1280 is supported in AVRStudio V4.18 with SP1 released this month. I don’t know about the ATMega1284, but since it is RTM it should be there too. Also, as I’ve stated elsewhere here, V4.18+SP1 opens up the AVR Dragon to beyond 32kB! Just in time for the ATMega1284.

@Drone
“ATMEL is usually not like this, they understand making small money on overpriced tools and development software prevents the sale of parts, their primary product. If only Microchip (and others) would understand this.”

in what way Microchip dont understand this ? Is there anything even close to PicKit2 price and performance ?

Yes, I know zigit modules are only a AVR + an ISM mod, but you know as an hobbist I’m clearly not able to design the module by myself (lack some times, experience ..). So I need to buy a zigbit (or something equivalent) and that’s pricey.

I know developpement cost some money, but you can’t put a zigbee plug everywhere if a single module cost more than 20$ …

For the licence, this is issue. I bought some kits and parts from Zigbit, but only MAC is free, for a full zigbee stack you have to pay for. In fact with the kit you have a evaluation CD, I lost it .. and Zigbit want to charge me for a new licence, that’s cost an arm …

So for me this is not a good solution .. component are pricey, software is really hard to use, and cost you additionnal fee if you want to sell it.

On the other the other side, there is 6lowpan and Contriki, but I’m wondering it this solution is a really interesting for an hobbist .. Do you plan to have more than 256 tags in your house, I don’t.

That’s exactly why, I’m wondering if designing a small fully-opensource and roalty free protocol of top of an simple RF module won’t be better.

I don’t want to flame this topic on the excellent hackaday, if some people are interested perhaps we can talk somewhere. (contact me, just check my website for email)

You know a cheap at86rf23x module (not the single chip) ? Not even talking that a zibgee stack requires a lot of RAM/FLASH .. Requires at least an Atemga64 I think. (128 for the zigbit).. Doesn’t this looks overhead for an external T° / humidity sensors ? or an simple lamp switch ?

@Jkx Akiba (dude behind that freaklabs.org site) says he will have at86rf23x modules in a new online store soon. I have no idea what he will charge.

I just checked out the Sparfun site for cheap RF modules. The cheapest they have is $20 based on a Nordic nRF2401A chip. At that rate, the Xbee is a better solution if you ask me.

What you are getting at is exactly why I started my board work. I want a sub $20 solution for modules. Ideally I would have just bit the bullet and bought a bunch of Xbee modules. Problem with that is they require an external micro to do anything custom. I looked into taking their firmware and modding it slightly, but that is a moving target as they have modules based upon Ember as well as Atmel silicon. Plus modding their firmware could require commercial compilers (Ember & Freescale solutions).

The bigger problem is to get the modules below $20, you have to buy in volume and sell them at thin margins. Digi/Sparfun modules are there to make money, not as development kits to sell silicon. One could argue Atmel et al. should sell their development kits for cheaper, but they all target commercial companies with huge volumes. Purchasing a development kit for $3,000 instead of $100 isn’t really a big deal to them. Atmel seems to be the best company in selling stuff for cheap (Dragon, Raven boards, etc). I have no experience with microchip, so my opinion is biased.

Who knows, maybe I’ll get lucky and the demand for my modules will be enough that I can sell them via Sparkfun/SeeedStudio. The more demand there is, the cheaper the module cost will be. Volume, Volume, Volume. ;)

Sorry, won’t be going below $20 for the Chibi boards. The boards will be about $50 and have an ATMega32U4, DC/DC converter for reliable battery operation, AT86RF230 radio, SMA external antenna connector and SMD antenna. It’ll also connect to the peripheral sensor boards I’m designing as well as a breadboard for checking out custom sensor circuits. Its mostly targeted at people that want a complete system to get into wireless sensor networking so its a bit more sophisticated than a a radio module. The real bitch is manufacturing the boards since, even with a pick n place, a lot of manual labor is involved.

With this chip, it should be easy for people to make a simple module for wireless comms running on Chibi. The driver should aready support the 128RFA1 so the only thing to do is emulate an XBee pinout, add the RF front end components, and write some software to take data from the UART and send it to the spec’d address. I don’t think the full XBee AT commands are required. Most people only use a small subset of them.