These are things I've wanted to do, but haven't had time or help for.
Microcontrollers are wonderful devices with the limitation that there are too many different brands. Code development is difficult and portability doesn't exist.
If a universal assembler could be made with a useful subset of the instructions used by all controllers, code developed with it would be applicable to all controllers.
The main difference between processors is the handling of the stack. By eliminating all stack instructions (except a single level of call and return) portability would be possible. Any stack intructions which were needed could be coded as subroutines in the assembler language.
Most of the third world has very limited resources. The technology of the material and energy profligate first world will never be workable there. The research needed to find the optimum technology for such areas is not being funded.
With basic technology education, however, and an organization to provide communication among third world researchers, a great deal of progress could be made by the people most affected.
I would suggest research in solar furnaces, low precision solar engines, and low energy farming.
I will expand these sketches shortly.