Thanks for the answers. For sure it is possible to buy an ATmega and even a full-featured debugger would be acceptable compared to the effort of porting. But still, I am very biased towards the PIC without logical or economical arguments.
I did not yet work with the mysensors libraries and only browsed quickly through the github repo. Maybe someone can give me a few hints to estimate the effort deeper than just claiming it as "much workload"?
What I see so far is:
make the C++ code compile (translate to C with clang/llvm and compile with the XC8 compiler)
create a new HAL (in hal/architecture) which seems not too much effort for making it initially working
Do I see it right, that there is a linux-port available? -> I would expect much more effort to port from AVR to linux than to port it to a different MCU
What about the licensing? It looks like the code is GPLv2, but in the CLA it seem that contributors need to give away their rights on the contributions and that mysensors can even redistribute the code under another license - which seems completely against the principles of the GPL. Can someone explain that in more detail?
Just one of many ideas, the possibilties are endless. I'de always go for RGB leds over just white, allows for more customisation while able to still give you the same white as the white leds.
... unless, as in my use case, colors are not needed.
I'm too stingy to pay for the unused dry powder!
Thanks for the reply. I am not looking to use an LCD, although that may be the best solution. For now, I plan on creating a simple set of LEDs and buttons.
I have looked over the code, and was wondering which part of the code is retrieving the status of a sensor? What if I have multiple motion sensors, how would I retrieve each unique value?
Im not sure where you get that #9 should be A5? Looks right to me. The pin is connected to pin 9, and that is D3.
For a rotary encoder, it depends on your input - but don't you want an analog signal in? In that case you use the analog pins.
Edit: offcourse, if you use a module converting it to digital like described in the the build section you use a digital pin.