@tekka
i tryed it
My little instructions for Arduino Atmega328p 5v ext
1)download from https://github.com/mysensors/MySensorsBootloaderRF24
2)copy to arduino folder arduino-1.8.0/hardware/arduino/avr/bootloaders/MySensors and paste boards.txt
proMYSBL.name=ATmega328 16Mhz MYSBootloader
proMYSBL.upload.tool=avrdude
proMYSBL.upload.protocol=arduino
proMYSBL.upload.maximum_size=30720
proMYSBL.upload.maximum_data_size=2048
proMYSBL.upload.speed=115200
proMYSBL.bootloader.tool=avrdude
proMYSBL.bootloader.low_fuses=0xF7
proMYSBL.bootloader.high_fuses=0xDA
proMYSBL.bootloader.extended_fuses=0x06
proMYSBL.bootloader.unlock_bits=0x3F
proMYSBL.bootloader.lock_bits=0x0F
proMYSBL.bootloader.file=MySensors/MYSBootloader.hex
proMYSBL.build.mcu=atmega328p
proMYSBL.build.f_cpu=16000000L
proMYSBL.build.board=AVR_UNO
proMYSBL.build.core=arduino
proMYSBL.build.variant=standard
3)In Arduino IDE select downloadex bootloader and burn it to Atmega
avrdude log
/home/werwolfx/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/bin/avrdude -C/home/werwolfx/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0x06:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xF7:m
avrdude: Version 6.3, compiled on Dec 16 2016 at 12:32:01
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/werwolfx/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/etc/avrdude.conf"
User configuration file is "/home/werwolfx/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):
/home/werwolfx/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/bin/avrdude -C/home/werwolfx/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:/media/werwolfx/SSDData/arduino-1.8.0/hardware/arduino/avr/bootloaders/MySensors/MYSBootloader.hex:i -Ulock:w:0x0F:m
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0x06"
avrdude: writing efuse (1 bytes):
Writing | ***failed;
################################################## | 100% 0.03s
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x06:
avrdude: load data efuse data from input file 0x06:
avrdude: input file 0x06 contains 1 bytes
avrdude: reading on-chip efuse data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xfe instead of 0x06 (double check with your datasheet first).
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xDA"
avrdude: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xDA:
avrdude: load data hfuse data from input file 0xDA:
avrdude: input file 0xDA contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xF7"
avrdude: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xF7:
avrdude: load data lfuse data from input file 0xF7:
avrdude: input file 0xF7 contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: Version 6.3, compiled on Dec 16 2016 at 12:32:01
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/werwolfx/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/etc/avrdude.conf"
User configuration file is "/home/werwolfx/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega328P
Chip Erase delay : 9000 us
avrdude done. Thank you.
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "/media/werwolfx/SSDData/arduino-1.8.0/hardware/arduino/avr/bootloaders/MySensors/MYSBootloader.hex"
avrdude: writing flash (32762 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 32762 bytes of flash written
avrdude: verifying flash memory against /media/werwolfx/SSDData/arduino-1.8.0/hardware/arduino/avr/bootloaders/MySensors/MYSBootloader.hex:
avrdude: load data flash data from input file /media/werwolfx/SSDData/arduino-1.8.0/hardware/arduino/avr/bootloaders/MySensors/MYSBootloader.hex:
avrdude: input file /media/werwolfx/SSDData/arduino-1.8.0/hardware/arduino/avr/bootloaders/MySensors/MYSBootloader.hex contains 32762 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 32762 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude done. Thank you.
- I loaded test sketh WaterMeterPulssensor (from Mysensors example) to arduino
wait if the module is start and see to MYSController
in MYSController
14.01.2017 11:34:49 RX 5;6;1;0;3;0
14.01.2017 11:34:52 RX 10;5;1;0;17;5519
14.01.2017 11:34:52 RX 10;6;1;0;39;23.99
14.01.2017 11:34:57 RX 6;3;1;0;16;0
14.01.2017 11:34:58 RX 6;4;1;0;37;170
14.01.2017 11:34:58 RX 6;6;1;0;3;0
14.01.2017 11:34:58 RX 6;5;1;0;0;20.50
14.01.2017 11:35:01 RX 4;255;0;0;17;2.1.0
14.01.2017 11:35:01 DEBUG Update child id=255, type=S_ARDUINO_NODE
14.01.2017 11:35:01 RX 4;255;3;0;6;0
14.01.2017 11:35:01 TX 4;255;3;0;6;M
14.01.2017 11:35:02 RX 4;255;3;0;11;Water Meter
14.01.2017 11:35:02 RX 4;255;3;0;12;1.1
14.01.2017 11:35:02 RX 4;1;0;0;21;
14.01.2017 11:35:02 DEBUG Update child id=1, type=S_WATER
14.01.2017 11:35:02 RX 4;1;2;0;24;
14.01.2017 11:35:08 RX 10;5;1;0;17;5462
14.01.2017 11:35:08 RX 10;6;1;0;39;23.75
14.01.2017 11:35:18 RX 7;3;1;0;16;0
14.01.2017 11:35:18 RX 7;4;1;0;37;192
14.01.2017 11:35:18 RX 7;6;1;0;3;0
14.01.2017 11:35:19 RX 5;3;1;0;16;0
14.01.2017 11:35:19 RX 5;4;1;0;37;34
14.01.2017 11:35:19 RX 5;6;1;0;3;0
5)in MYSController Assign FW Blink and Reboot
MYSController
14.01.2017 11:38:03 TX 4;0;3;0;13;0
14.01.2017 11:38:09 RX 4;255;0;0;17;2.1.0
14.01.2017 11:38:09 CHILD New child discovered, node id=4, child id=internal
14.01.2017 11:38:09 DEBUG Update child id=255, type=S_ARDUINO_NODE
14.01.2017 11:38:09 RX 4;255;3;0;6;0
14.01.2017 11:38:09 TX 4;255;3;0;6;M
14.01.2017 11:38:09 RX 4;255;3;0;11;Water Meter
14.01.2017 11:38:09 RX 4;255;3;0;12;1.1
14.01.2017 11:38:09 RX 4;1;0;0;21;
14.01.2017 11:38:09 CHILD New child discovered, node id=4, child id=1
14.01.2017 11:38:09 DEBUG Update child id=1, type=S_WATER
14.01.2017 11:38:10 RX 4;1;2;0;24;
14.01.2017 11:38:14 RX 4;255;3;0;21;0
Serial
101794 TSF:MSG:READ,0-0-4,s=0,c=3,t=13,pt=0,l=1,sg=0:0
0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.0
3 TSM:INIT
4 TSF:WUR:MS=0
11 TSM:INIT:TSP OK
13 TSM:INIT:STATID=4
14 TSF:SID:OK,ID=4
16 TSM:FPAR
52 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
345 TSF:MSG:READ,0-0-4,s=255,c=3,t=8,pt=1,l=1,sg=0:0
350 TSF:MSG:FPAR OK,ID=0,D=1
2060 TSM:FPAR:OK
2061 TSM:ID
2062 TSM:ID:OK
2064 TSM:UPL
2067 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
2081 TSF:MSG:READ,0-0-4,s=255,c=3,t=25,pt=1,l=1,sg=0:1
2086 TSF:MSG:PONG RECV,HP=1
2089 TSM:UPL:OK
2091 TSM:READY:ID=4,PAR=0,DIS=1
2098 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
2104 TSF:MSG:READ,0-0-4,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
2114 TSF:MSG:SEND,4-4-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.1.0
2126 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
2157 TSF:MSG:READ,0-0-4,s=255,c=3,t=6,pt=0,l=1,sg=0:M
2164 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=11,pt=0,l=11,sg=0,ft=0,st=OK:Water Meter
2176 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.1
2183 TSF:MSG:SEND,4-4-0-0,s=1,c=0,t=21,pt=0,l=0,sg=0,ft=0,st=OK:
2189 MCO:REG:REQ
2193 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
2245 TSF:MSG:READ,0-0-4,s=255,c=3,t=27,pt=1,l=1,sg=0:1
2250 MCO:PIM:NODE REG=1
2252 MCO:BGN:STP
2255 TSF:MSG:SEND,4-4-0-0,s=1,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
2262 MCO:BGN:INIT OK,TSP=1
2335 TSF:MSG:READ,0-0-4,s=255,c=3,t=6,pt=0,l=6,sg=0:Metric
2866 TSF:MSG:READ,0-0-4,s=1,c=1,t=24,pt=0,l=6,sg=0:400100
Received last pulse count from gw:400100
6381 TSF:MSG:READ,0-0-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
6386 TSF:MSG:BC
6637 TSF:MSG:SEND,4-4-0-0,s=255,c=3,t=21,pt=1,l=1,sg=0,ft=0,st=OK:0```