I’ve used Xbees and Nordic nRF24L01+ chips so far for wireless, and I’m always looking to try the market. I’ve just noticed Microchip do this chip, and am wondering if anyone has used it yet and know if it has good range, how easy the setup and dev is and any other general comments etc…? I also like the fact that it is only £6 compared to £20 for Xbee and £14 for nRFL01+
Actually, TimZim and I are working on some libraries for this baby. It’s a pretty nice module and well priced compared with the xbee modules. Microchip forum or the sourceboost one are good tips.
Thanks. I’ve posted on MC forum and only had one comment about “yes its good price”… nothing about what I asked lol.
Anyway, me and my inpatience have ordered 2 of them anyway. Once I’ve trials it I’ll post a comparison against the Xbee and nRF24L01+ I’ve used also. I’m liking the look of it also, its smaller and slimmer than the other 2 module boards, so saves me making up my own board when this is compact enough for direct SMD soldering.
Read 50 odd pages so far but got more to read to get to the dirty on setting it up over SPI yet, presume its pretty similar to the Nordic as it talks about similar functions etc… Looking forward to getting them working.
No problems. We’ll have some code to share shortly and any suggestions along the way are welcome. The zigbee and “miwi” stacks that microchip have published certainly give me confidence that it can work nicely. I’m looking forward to testing the range of the higher power one.
angelsix:
Thanks. I’ve posted on MC forum and only had one comment about “yes its good price”… nothing about what I asked lol.
Anyway, me and my inpatience have ordered 2 of them anyway. Once I’ve trials it I’ll post a comparison against the Xbee and nRF24L01+ I’ve used also.
Interested to hear how the MC compares to XBee in terms of functionality of the 802.15.4 firmware with transparent serial port extension and virtual wire and A/D support - often eliminating the need for an added microprocessor.
One of my favourite suppliers Sure electronics (on ebay) have now started shipping mrf boards, with an attached pic 24f, all for $14 inc shipping. I’ve ordered a couple to try them out. Together that allows a serial link.
The Microchip wireless modules arrived today they look so cool, they are tiny compared to the others as they are thinner boards, SMD solder tags and generally flatter… can’t wait get time to program these and get them up and running.
Just having a quick read of the datasheet and a few questions already. Firstly the SPI mode states that writing happens on the rising edge but reading happens on the falling edge… yet the accompanying image shows both happening on the rising edge. Which is it?
Secondly, the SPI mode for long addresses (which will be needed) is 12bit not 8bit so any Microchip PICs internal SPI modules simply won’t work as they are 8bit? Seems odd. Whats the best way to implement the SPI protocol using a PIC?
The SPI mode is actually completely standard, in as much as the specified mode can be generated by PICs just be specifying the appropriate config options for the SPI module, so I expect other processors will work the same way.
The long address mode uses 8 bit bytes - it’s just that the last 5 bits aren’t used.
Our testing has conculed that you need to lower CS and raise again after any interaction, but especially for writing.
Thanks for the info I will make note of that for when I get around to it.
I can specify the edges (rising/falling) and clock idle etc… and all other things fine, but the transfer will always be 8 bits per clock, so I cannot see how to send 12 bits in one transaction through configuration or am I missing something? Perhaps sending 2x 8 bits but I wouldn’t of thought that would work?
If you look at the long address write diagram, everything is in fact in 8 bit chunks - it’s not very clear, but do you see how the clock keeps going after A2 - A1 - A0 - 0 - < X > ? That X bit is “don’t care” - ie, the clock keeps going but it doesn’t matter what the bits are. Another way to describe it:
[1 A9 A8 A7 A6 A5 A4 A3] [A2 A1 A0 0 DC DC DC DC] [D7 D6 D5 D4 D3 D2 D2 D1 D0]
And I have put brackets around each byte so you can see it. Three bytes. DC = don’t care.
occam49:
I took a quick look at these … one word (actually three) “OTP” One Time Programmable ROM.
Not on the modules. They come with an EEPROM. I know because I’ve flashed mine many times, including OTA uploads.
Graham
I took a loser look. Yes, it looks like the stack and some other functionality is pre-programmed in the OTP ROM from the factory. So updates to that code are not possible. The user code is stored in an external FLASH and loaded into RAM at chip boot.
Do you have to purchase the $450 Dev kit to get all the tools etc? What type of JTAG do you use?
The Jennic modules can be programmed with a 5v TTL lead.
The dev chain is Eclipse and GCC based and is free to download and use.
The OTP holds Jennic supplied code to offer a simplified API for user code. I presume if any of this is found to be broken, you could supply your own functionality, but I’ve not run into this (yet).
iharris:
If you look at the long address write diagram, everything is in fact in 8 bit chunks - it’s not very clear, but do you see how the clock keeps going after A2 - A1 - A0 - 0 - < X > ? That X bit is “don’t care” - ie, the clock keeps going but it doesn’t matter what the bits are. Another way to describe it:
[1 A9 A8 A7 A6 A5 A4 A3] [A2 A1 A0 0 DC DC DC DC] [D7 D6 D5 D4 D3 D2 D2 D1 D0]
And I have put brackets around each byte so you can see it. Three bytes. DC = don’t care.
cheers
Ian.
Ian,
Thanks yes I see it now very simple. I’ve got to finish off 2 little projects this week but should be free to start looking at these next week. Still reading through the data sheet.
I plan to write my library in ASM still, but with this being an ZigBee compatible device, does that mean setting them up has to be using the protocol or can you just ignore the protocol and instead send more “raw” level data over 2 devices and make your own simplified protocol similar to the Nordic which you basically setup a channel and payload width and bits and bobs then just send and receive packets? Or do you think I am best using the C++ (presumably) ZigBee stack provided by Microchip to use these devices? I just like staying in ASM as it gives me more of a feel for exactly whats going on in the PIC, thats why I wrote the entire Nordic library in ASM too.