Table of Contents

Moteino

loranode2.jpg

cloneheader.jpg cloneradio.jpg

This is a clone of the Low Power Labs Moteino AVR radio board which supports RFM95W LoRa modules.

The clone was made by XRobotix Pty Ltd but nothing else is known about that.

Issues

There is a flaw in the design of the Moteino which presents VIN on the serial programming port instead of VDD. This can adversely affect UART programmers which use VDD to detect the target voltage.

The Moteino runs the ATMEGA out of specification by using a 16 MHZ XTAL at 3V3. Generally this works but is not guaranteed at a wide temperature range.

There is no RESET pin connection for the RFM95W module. This doesn't have an impact if appreciated. Similarly there is no input for DIO1 which may be utilised for Rx timeouts.

On the XRobotix clone the LDO VREG has been replaced. VIN max is 6V rather than 16V and current max is 200mA instead of 600mA.

The board has been tested to work at 2.5V and will transmit at this frequency even with the 16 MHz XTAL, however, the boot-loader has a BOR setting of 2V7 which means it will continually reboot at around 2.9V which is at the top of the BOR range for 2V7. The ATmega and SX1276 can operate at 1.8V minimum.

Pinout

poundland.jpg lidl.jpg

GND  VIN  3V3  PD1  PD0  ADC7 ADC6 PC5  PC4  PC3  PC2  PC1  PC0
               Tx   Rx             SCL  SDA
DTR
Tx        LDO VREG                                     ANT
Rx        3V3                                               GND
VIN                      ATMEGA328P                         3V3
NC        XTAL                                             AREF
GND       16MHz
                                        LED  SS   MOSI MISO SCK   
RST  PD2  PD3  PD4  PD5  PD6  PD7  PB0  PB1  PB2  PB3  PB4  PB5

LDO VREG  VIN MAX
XC6206    6V
MCP1703A  16V

Boot-loader

clonetest.jpg

This is a quick test that communications are working.

The bootloader is related to DualOptiboot_V5.0_atmega328_BlinkD9.hex, perhaps an older revision.

Pololu USB AVR Programmer v2.1

This programming board can supply power to the circuit but not enough power for radio transmission.

Configure
pavr2cmd --restore-defaults
pavr2cmd --regulator-mode 3v3
pavr2cmd --vcc-output enabled
Probe
avrdude -carduino -P`pavr2cmd --ttl-port` -b115200 -pm328p -D

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)

avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.

ISP

cloneisp.jpg

ISP must be performed at 3V3. Beware of cheap programmers that bit-bang I/O at 5V.

Pololu USB AVR Programmer v2.1

I/O pins on the Pololu have 470R in series and it uses target voltage sense.

Moteino

PB2 must be pulled high via 100K when ISP is connected to disconnect the RFM95W module from the SPI bus. This floats otherwise.

RESET RST
SCK   PB5
MISO  PB4
MOSI  PB3
SS    PB2 ---100K---3V3
3V3
GND
Pololu

Vcc must be connected to target 3V3 because ISP will not function unless a target voltage is sensed.

MISO  PB4 |1 2| Vcc
SCK   PB5 |3 4| PB3 MOSI
RESET RST |5 6| GND GROUND
Configure
pavr2cmd --restore-defaults
pavr2cmd --regulator-mode 3v3
pavr2cmd --vcc-output disabled
Probe
avrdude -B 50 -c avrisp2 -P `pavr2cmd --prog-port` -p atmega328p

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)

avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)

avrdude done.  Thank you.

Antenna

Frequency1/4 wavelength
433 MHz 16.4 cm
868 MHz 8.2 cm
915 MHz 7.8 cm

Resources

Project page

Schematic

XC6206 datasheet

MCP1703A datasheet

RFM95W datasheet

ATMega fuse calculator