It is feasible to use the microcontroller as an IOTA wallet.
For example, you can store your IOTA seed on the flash, generate addresses from it, generate sign transactions. One option to get started is to use the IOTA Ledger Blue / Nano wallet code. It is a lightweight C library that can be easily ported to different hardware targets.
It is not feasible to ...
I am working exactly on this at the moment: https://github.com/embedded-iota/iota-c-light-wallet (but on my fork. I will push it to embedded iota when it works fine.)
The address generation works fine. I have trouble to create a transaction bundle. There are some tricky parts when you work on a MCU without MMU. In my case: STM32F1.
I also integrated it into ...
A low min value can only be given as an averaged value, since finding the nonce (pow) is a statistical process.
Energy consumption for this pow process depends on how effective your cpu is working (electricity cost per hash) and in practical terms on how well tangle-upload is working.
Remember if you are required to re-attach often this will add to your ...
I'll try to answer.
1) The "M-bug" is effectively the normalized bundle-hash containing the character M.
More information about it here:
Why is the normalized hash considered insecure when containing the char 'M'
2) Proof-of-Work was implemented in VHDL between 26th April '18 and 26th Aug '18 and became the PiDiver: https://github.com/shufps/...
1) In mid 2017 the M-Bug was found and the work-around for it is (inoficially) called "Mini-PoW". It could happen that a Bundle-Hash contained "M" which exposed a private key (and all following keys) directly and weakened signatures significantly. The Workaround simply recreates bundle-hashs until no "M" is contained within the hash. This is a brute-force ...
Working on it: https://github.com/embedded-iota/iota-c-light-wallet (on my own fork. Will push it to embedded iota when it works fine.)
The address generation works. I work currently on the transfer, so that it is possible to use it on a MCU without MMU.
I also integrated it already to RIOT OS. So feel free to check it out: https://github.com/Citrullin/RIOT/...
The Crypto Core is a FPGA system which consists of Cortex M1 soft-cpu and specialized logic for accelerating algorithms like hashing (and also PoW) or type-conversions.
So, it's both - microcontroller in an FPGA and it can do PoW very fast :)
The iota.lib.js.powsrvio in your question is a NodeJS library: https://www.npmjs.com/package/iota.lib.js.powsrvio
How to use powsrv.io?
To use NodeJS libraries, you need to install NodeJS. That is something you can do on any Linux distribution, for example.
And what are prerequirements ?
The system must have enough RAM, program memory and computing ...