==== Moteino====
{{:boards:loranode2.jpg?200}}
\\ \\
{{:boards:cloneheader.jpg?100}} {{:boards:cloneradio.jpg?100}}
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===
{{:boards:poundland.jpg?100}}
{{:boards:lidl.jpg?100}}
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===
{{:boards:clonetest.jpg?200}}
This is a quick test that communications are working.
The bootloader is related to DualOptiboot_V5.0_atmega328_BlinkD9.hex, perhaps an older revision.
__[[:interfaces:pololu|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===
{{:boards:cloneisp.jpg?200}}
ISP must be performed at 3V3. Beware of cheap programmers that bit-bang
I/O at 5V.
__[[:interfaces:pololu|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===
^Frequency^1/4 wavelength^
|433 MHz |16.4 cm|
|868 MHz |8.2 cm|
|915 MHz |7.8 cm |
=== Resources ===
[[https://lowpowerlab.com/guide/moteino/|Project page]]
[[https://lowpowerlab.com/wp-content/uploads/2016/09/R6_schematic.png|Schematic]]
[[https://www.torexsemi.com/file/xc6206/XC6206.pdf|XC6206 datasheet]]
[[https://ww1.microchip.com/downloads/en/DeviceDoc/20005122B.pdf|MCP1703A datasheet]]
[[https://www.hoperf.com/data/upload/portal/20190801/RFM95W-V2.0.pdf|RFM95W datasheet]]
[[https://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p|ATMega fuse calculator]]