What does this have to do with Bobuino? Nothing that I can see. I request you take Bobuino out of the title.

Hmm ok I removed it. But question was relevant and about Bobuino as well as other variants of 1284p bootloaders, and why they don't work with SD card while Sanguino version did on my version of hardware... Was hoping to get some hints, this was not meant to critique your variant

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info

bratan, getting back to the original problem, have you ever gotten the RFM12s to work with any Arduino chip at all? Also, which library and sketchesare you using?

If you're using the jeelib s.w., from my experience, none of the sketches work correctly, including the demo sketch. I only ever got the RFM12s to work by using the sketches shown in the Arduino Cookbook.

bratan, getting back to the original problem, have you ever gotten the RFM12s to work with any Arduino chip at all? Also, which library and sketchesare you using?

If you're using the jeelib s.w., from my experience, none of the sketches work correctly, including the demo sketch. I only ever got the RFM12s to work by using the sketches shown in the Arduino Cookbook.

Yes in fact I only got it working using ATMega1284 running "Mighty 1284p 16Mhz w/ Optiboot". I ran it as a reciever, sketch is below (it uses Felix's RFM12B library which is derivative of Jeelib's but much better). I modified library slightly to include 1284p pin definition, because it only had 644p.

// Simple serial pass through program// It initializes the RFM12B radio with optional encryption and passes through any valid messages to the serial port// felix@lowpowerlab.com

#include <RFM12B.h>

// You will need to initialize the radio by telling it what ID it has and what network it's on// The NodeID takes values from 1-127, 0 is reserved for sending broadcast messages (send to all nodes)// The Network ID takes values from 0-255// By default the SPI-SS line used is D10 on Atmega328. You can change it by calling .SetCS(pin) where pin can be {8,9,10}#define NODEID 1 //network ID used for this unit#define NETWORKID 1 //the network ID we are on#define SERIAL_BAUD 115200

void loop(){ if (radio.ReceiveComplete()) { digitalWrite(LED_ID,HIGH); // Turn on LED if (radio.CRCPass()) { Serial.print('[');Serial.print(radio.GetSender());Serial.print("] "); for (byte i = 0; i < *radio.DataLen; i++) //can also use radio.GetDataLen() if you don't like pointers Serial.print((char)radio.Data[i]);

I have Moteino setup as trasmitter and it's hooked up to DS18B20 temp sensor (on breadboard) and transmits temperature readings. Setup works like a charm. But as I said with Mighty 1284p boot SD card stops working. With Sanguino SD card works but RF12B doesn't work...

Good, that's a step in the right direction from jeelib, I think. I've heard of the lowpower RFM12 library, but not used it.

Your sketch doesn't show specifically how your library code is using the SPI port, but I imagine that's where the problem is. IE, proper control of the SS and CS pins between the RFM12 and the SD card. And as noted before, the SS pin always hasto be configured as output, whether it's used or not.

Also, of course, RFM12 comms will not work properly unless an interrupt is used, so that needs be treated properly in the RFM12 code too.

EDIT: I assume you also assign different node IDs to the 2 different modules,meaning modify the sketch between Arduino boards.

Good, that's a step in the right direction from jeelib, I think. I've heard of the lowpower RFM12 library, but not used it.

Your sketch doesn't show specifically how your library code is using the SPI port, but I imagine that's where the problem is. IE, proper control of the SS and CS pins between the RFM12 and the SD card. And as noted before, the SS pin always hasto be configured as output, whether it's used or not.

Also, of course, RFM12 comms will not work properly unless an interrupt is used, so that needs be treated properly in the RFM12 code too.

EDIT: I assume you also assign different node IDs to the 2 different modules,meaning modify the sketch between Arduino boards.

Correct, I'm using totally different sketch for transmitter (attaching if you interested). You gave a good idea about setting SS as high, that could be the issue. So I need to set that port to high (i.e. DigitalWrite(SS_PIN,HIGH) in order to start using it? But let's forget for a minute RF12B. I'm trying an SD card code only (i.e. quickstart sketch from SDFat library) and it just doesn't work... So even if I'm not invoking RF12b in any way in the code it somehow still interferes on hardware level?

I think I understand now why Wave Shild had pullup resistor on SS line... I'm pretty sure I need to add one to RF12B so I don't have to pull it high from the code, right?

Good to hear things are working now. It's always a good idea to have a pullup on a-CS line, especially for a ckt on a shield, or for the small amount of time during Arduino bootup, however, it'll only do something if the Arduino I/O is configured as INPUT.

When the pin is configured as OUTPUT, then you specifically have to set it HIGH/LOWon purpose - for obvious reasons.

Just soldered 10K resistor between CS (hex buffer pin going to RF12B) and +5V line. And everything works without having to do anything in the code at all! Uploaded unmodified example sketch from SDFat: works!Sketch from WaveShield: it talks! Receiver sketch for RF12B: receives!Haven't tried both at the same time yet

Thank you again!

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info