Skip to content

Hardware Specifications

SpecificationValue
MCUATmega1284P
Clock8 MHz (external crystal)
Flash128 KB
SRAM16 KB
EEPROM4 KB
CoreAVR 8-bit
SpecificationValue
ModuleRFM95
ChipsetSemtech SX1276
Frequency868 MHz (EU868)
ModulationLoRa spread spectrum
TX PowerUp to 14 dBm
InterfaceSPI
FunctionArduino PinATmega1284P Port
NSS (Chip Select)24PB0
RST (Reset)25PB1
DIO02PD2
DIO13PD3
DIO24PD4
DIO30PD0
DIO41PD1
DIO526PB2
MOSI-PB5 (hardware SPI)
MISO-PB6 (hardware SPI)
SCK-PB7 (hardware SPI)
FunctionArduino PinDescription
PERIF_PWR20Peripheral power control
BUZZER17Buzzer output (analog pin 3)
JSN_TX10JSN sensor TX
JSN_RX11JSN sensor RX
ONE_WIRE12OneWire bus

The I2C bus uses the hardware TWI interface:

  • SDA: PC1 (hardware)
  • SCL: PC0 (hardware)
  • Bus Speed: 80 kHz

The sensor module is expected at address 0x36.

FunctionDescription
UART TXDebug output at 115200 baud
UART RXSerial input

An FTDI-compatible 6-pin header provides debug access.

FuseValueDescription
lfuse0xFFExternal crystal, full swing oscillator
hfuse0xD1JTAG disabled, SPI enabled, BOD @ 2.7V
efuse0xFFBrown-out detection
  • Operating Voltage: 3.3V
  • Brown-out Detection: 2.7V threshold
  • Power Control: Pin 20 controls peripheral power
MethodToolSpeed
ISPUSBasp0.25 MHz
ISPAtmel ICEDefault

Upload command:

Terminal window
pio run -t upload

Upload flags used:

  • -e : Chip erase before programming
  • -B0.25 : Slow ISP clock (0.25 MHz)

The PlatformIO board definition is located at boards/mfm_v3_m1284p.json:

{
"build": {
"mcu": "atmega1284p",
"f_cpu": "8000000L"
},
"frameworks": ["arduino"],
"platform": "atmelavr"
}

KiCad design files are available in the hardware/ directory:

  • mfm-v3-smd.kicad_sch - Schematic
  • mfm-v3-smd.kicad_pcb - PCB layout
  • mfm-v3-smd.kicad_pro - Project file

Requires KiCad 6.0 or later.