Easy/Newbie PCB for MySensors
-
The trace adds up to the antenna lengths for what I have seen so far, so I'd say to play safe and leave a hole where to solder the wire antenna or even better if it's near the edge of the pcb you could design a place to mount a sma connector for a real antenna. What do you think?
-
The trace adds up to the antenna lengths for what I have seen so far, so I'd say to play safe and leave a hole where to solder the wire antenna or even better if it's near the edge of the pcb you could design a place to mount a sma connector for a real antenna. What do you think?
@gohan - the problem is then if you buy a antenna from ebay with the right length. Added to the PCB trace the length will not match. I have to make the antenna hole as close as possible to the module then.
-
by looking around at other PCBs with sma connectors, they are close to radio module, but still a few millimeters away so I'd say you should be ok
@gohan - notised that as well. I have asked scalz over PM about this, I saw he made alot of RFM projects.
-
Sneak-peak at upcoming RFM edition.
All input appreciated as usual.- I couldnt fit a SMA connector at this point for external antenna because I dont want to remodel the PCB completley.
I want it to be as close looking to the original as possible to make it easier for newbies. - I went with the HW/W version. I talked to scalz and the CW is smaller and better for low power but HW/W is the one at MySensors website/tutorial/shop and preffered at 5v...
Thoughts?

- I couldnt fit a SMA connector at this point for external antenna because I dont want to remodel the PCB completley.
-
I thought the SMA connector could fit on the side of the PCB... oh well....
Btw, is the CW really smaller? I thought it was only a different pinout@gohan - Could be - never used them :S I just checked this image and they look smaller: https://www.google.se/search?q=RFM69H&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjdzPDD2OTTAhWqK5oKHW5RCboQ_AUICygC&biw=1920&bih=941#tbm=isch&q=RFM69H+pinout&imgrc=c_R-Nh2VtBGlRM:
Im giving it a second try with the SMA tonight... I will rotate it 180dgr and maybe I can fit it there...
-
What is the purpose of the Raw connection under the radio connection? Designed for a jumper to supply RAW to MYSX connection?
Also any other caveats to be aware of when using RAW and a 3.3 mini and skipping the regulator? -
I was working on a project last night and was using an old REV 8 board for it. After wiring it up I needed to check some things with the pins on the breakout header. When I looked at the site, which showed the REV 9 board, I noticed that the breakout header is quite different between the REV 8 and REV 9 boards. I figured that it was worth noting to people here to watch what diagram you are looking at compared to what REV of the board you are using.
-
I was working on a project last night and was using an old REV 8 board for it. After wiring it up I needed to check some things with the pins on the breakout header. When I looked at the site, which showed the REV 9 board, I noticed that the breakout header is quite different between the REV 8 and REV 9 boards. I figured that it was worth noting to people here to watch what diagram you are looking at compared to what REV of the board you are using.
@dbemowsk - thank you for pointing this out!
Rev 8 is MysX 1.X and one of the reasons I upgraded to Rev 9 is because MysX 2.X came out. The pins are a bit changed but much better in MysX 2.X. For more details can study the changes.txt as well in the project.I will add this to Q&A for EasyPCB so other users dont miss it!
Thanks again! -
Hi All,
I have a lot of these PCBs in Rev.9 running as battery powered sensors. Also some with regulated power. They are running currentl with a NRF24L01. But i need to use on some sensors a RFM69 868 Radio. I have few breakout boards to use a RFM69 on a NRF24L01 connector. Is it possilbe just to replace the Radios on my EasyPBCs NRF to use RFM69 Radios? Think from power perspective should this be working. Well I know I have to Change also the Radio type in the Sketch. But is there anything more to do? Like cabling or specific Settings in the Sketch?Many Thanks
Markus -
Hi All,
I have a lot of these PCBs in Rev.9 running as battery powered sensors. Also some with regulated power. They are running currentl with a NRF24L01. But i need to use on some sensors a RFM69 868 Radio. I have few breakout boards to use a RFM69 on a NRF24L01 connector. Is it possilbe just to replace the Radios on my EasyPBCs NRF to use RFM69 Radios? Think from power perspective should this be working. Well I know I have to Change also the Radio type in the Sketch. But is there anything more to do? Like cabling or specific Settings in the Sketch?Many Thanks
Markus -
@Markus. Keep in mind that the RFM69 radio pins are not 5V tolerable so use them only with 3.3V Pro mini. And like you said change the radio type in sketch.
@korttoma yes i use the pro mini 3,3V but can Ireplace the Radios simply with a modification of the Sketch ? Because hen I Flash following Sketch to the Easy pcb:
// Sample RFM69 receiver/gateway sketch, with ACK and optional encryption, and Automatic Transmission Control // Passes through any wireless received messages to the serial port & responds to ACKs // It also looks for an onboard FLASH chip, if present // ********************************************************************************** // Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact // ********************************************************************************** // License // ********************************************************************************** // This program is free software; you can redistribute it // and/or modify it under the terms of the GNU General // Public License as published by the Free Software // Foundation; either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will // be useful, but WITHOUT ANY WARRANTY; without even the // implied warranty of MERCHANTABILITY or FITNESS FOR A // PARTICULAR PURPOSE. See the GNU General Public // License for more details. // // Licence can be viewed at // http://www.gnu.org/licenses/gpl-3.0.txt // // Please maintain this license information along with authorship // and copyright notices in any redistribution of this code // ********************************************************************************** #include <RFM69.h> //get it here: https://www.github.com/lowpowerlab/rfm69 #include <RFM69_ATC.h> //get it here: https://www.github.com/lowpowerlab/rfm69 #include <SPIFlash.h> //get it here: https://www.github.com/lowpowerlab/spiflash #include <SPI.h> //included with Arduino IDE install (www.arduino.cc) //********************************************************************************************* //************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************* //********************************************************************************************* #define NODEID 1 //unique for each node on same network #define NETWORKID 100 //the same on all nodes that talk to each other //Match frequency to the hardware version of the radio on your Moteino (uncomment one): //#define FREQUENCY RF69_433MHZ #define FREQUENCY RF69_868MHZ //#define FREQUENCY RF69_915MHZ #define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! #define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! //********************************************************************************************* //Auto Transmission Control - dials down transmit power to save battery //Usually you do not need to always transmit at max output power //By reducing TX power even a little you save a significant amount of battery power //This setting enables this gateway to work with remote nodes that have ATC enabled to //dial their power down to only the required level #define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL //********************************************************************************************* #define SERIAL_BAUD 115200 #ifdef __AVR_ATmega1284P__ #define LED 15 // Moteino MEGAs have LEDs on D15 #define FLASH_SS 23 // and FLASH SS on D23 #else #define LED 9 // Moteinos have LEDs on D9 #define FLASH_SS 8 // and FLASH SS on D8 #endif #ifdef ENABLE_ATC RFM69_ATC radio; #else RFM69 radio; #endif SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL) bool promiscuousMode = false; //set to 'true' to sniff all packets on the same network void setup() { Serial.begin(SERIAL_BAUD); delay(10); radio.initialize(FREQUENCY,NODEID,NETWORKID); #ifdef IS_RFM69HW_HCW radio.setHighPower(); //must include this only for RFM69HW/HCW! #endif radio.encrypt(ENCRYPTKEY); radio.promiscuous(promiscuousMode); //radio.setFrequency(919000000); //set frequency to some custom frequency char buff[50]; sprintf(buff, "\nListening at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); Serial.println(buff); if (flash.initialize()) { Serial.print("SPI Flash Init OK. Unique MAC = ["); flash.readUniqueId(); for (byte i=0;i<8;i++) { Serial.print(flash.UNIQUEID[i], HEX); if (i!=8) Serial.print(':'); } Serial.println(']'); //alternative way to read it: //byte* MAC = flash.readUniqueId(); //for (byte i=0;i<8;i++) //{ // Serial.print(MAC[i], HEX); // Serial.print(' '); //} } else Serial.println("SPI Flash MEM not found (is chip soldered?)..."); #ifdef ENABLE_ATC Serial.println("RFM69_ATC Enabled (Auto Transmission Control)"); #endif } byte ackCount=0; uint32_t packetCount = 0; void loop() { //process any serial input if (Serial.available() > 0) { char input = Serial.read(); if (input == 'r') //d=dump all register values radio.readAllRegs(); if (input == 'E') //E=enable encryption radio.encrypt(ENCRYPTKEY); if (input == 'e') //e=disable encryption radio.encrypt(null); if (input == 'p') { promiscuousMode = !promiscuousMode; radio.promiscuous(promiscuousMode); Serial.print("Promiscuous mode ");Serial.println(promiscuousMode ? "on" : "off"); } if (input == 'd') //d=dump flash area { Serial.println("Flash content:"); int counter = 0; while(counter<=256){ Serial.print(flash.readByte(counter++), HEX); Serial.print('.'); } while(flash.busy()); Serial.println(); } if (input == 'D') { Serial.print("Deleting Flash chip ... "); flash.chipErase(); while(flash.busy()); Serial.println("DONE"); } if (input == 'i') { Serial.print("DeviceID: "); word jedecid = flash.readDeviceId(); Serial.println(jedecid, HEX); } if (input == 't') { byte temperature = radio.readTemperature(-1); // -1 = user cal factor, adjust for correct ambient byte fTemp = 1.8 * temperature + 32; // 9/5=1.8 Serial.print( "Radio Temp is "); Serial.print(temperature); Serial.print("C, "); Serial.print(fTemp); //converting to F loses some resolution, obvious when C is on edge between 2 values (ie 26C=78F, 27C=80F) Serial.println('F'); } } if (radio.receiveDone()) { Serial.print("#["); Serial.print(++packetCount); Serial.print(']'); Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] "); if (promiscuousMode) { Serial.print("to [");Serial.print(radio.TARGETID, DEC);Serial.print("] "); } for (byte i = 0; i < radio.DATALEN; i++) Serial.print((char)radio.DATA[i]); Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]"); if (radio.ACKRequested()) { byte theNodeID = radio.SENDERID; radio.sendACK(); Serial.print(" - ACK sent."); // When a node requests an ACK, respond to the ACK // and also send a packet requesting an ACK (every 3rd one only) // This way both TX/RX NODE functions are tested on 1 end at the GATEWAY if (ackCount++%3==0) { Serial.print(" Pinging node "); Serial.print(theNodeID); Serial.print(" - ACK..."); delay(3); //need this when sending right after reception .. ? if (radio.sendWithRetry(theNodeID, "ACK TEST", 8, 0)) // 0 = only 1 attempt, no retries Serial.print("ok!"); else Serial.print("nothing"); } } Serial.println(); Blink(LED,3); } } void Blink(byte PIN, int DELAY_MS) { pinMode(PIN, OUTPUT); digitalWrite(PIN,HIGH); delay(DELAY_MS); digitalWrite(PIN,LOW); }I get following result:
Listening at 868 Mhz... SPI Flash MEM not found (is chip soldered?)... RFM69_ATC Enabled (Auto Transmission Control) -
Hi All,
I have a lot of these PCBs in Rev.9 running as battery powered sensors. Also some with regulated power. They are running currentl with a NRF24L01. But i need to use on some sensors a RFM69 868 Radio. I have few breakout boards to use a RFM69 on a NRF24L01 connector. Is it possilbe just to replace the Radios on my EasyPBCs NRF to use RFM69 Radios? Think from power perspective should this be working. Well I know I have to Change also the Radio type in the Sketch. But is there anything more to do? Like cabling or specific Settings in the Sketch?Many Thanks
Markus -
I am using these and they work https://www.mysensors.org/hardware/nrf2rfm69
-
No, I only changed the define from nrf24 to rfm69 and that was it. The capacitor I left the one on the EASYPCB near the nrf24 connector (a 10uF ceramic)
-
@sundberg84: Received the V9 boards and started to work with them. Converting my nodes into smaller ones ;-)
I want to use it with my 5v arduino. So need voltage regulator for the radio. I guess you are using LE33 if I read the thread correctly. I have LM1117 which seems to be a hassle to fix on the board with the 'rough bulky' legs. Suggestions or just buy LE33 ;-)