Ciao Elettrione,
Certo che puoi usare un PIC16

Programmi in assembly? In questo caso implementare le routine per trasettere/ricevere stringhe via UART e per interpretare i messaggi ricevuti (brevi stringhe di caratteri ASCII) è un pò più laborioso rispetto alle equivalenti in linguaggio in C (che preferisco), ma è altrettanto facile.
Parlando dell'indirizzo IP, preferisco fare una premessa per chi legge senza aver prima approfondito il sistema miuPanel. Per cui scusami tu se mi dilungo.
Il cellulare può connettersi al modulo wi-fi in tre modi, definiti come segue:
1) Connessione diretta: connetti il telefono all'access point che genera il modulo wi-fi (portata diverse decine di metri);
2) Connessione tramite WLAN: sia il modulo wi-fi che il tuo cellulare sono connessi ad una WLAN, per esempio quella prodotta dal tuo router. Per fare ciò, basta abilitare il modulo a connetersi ad una WLAN (fornedogli le credenziali di accesso tramite menù dell'app). In questo caso, il modulo riceve dal tuo router un IP privato 192.168.xxx.xxx, così come il tuo cellulare.
3) Connessione tramite INTERNET (quello che mi chiedevi): il modulo wi-fi si trova a casa tua (connesso al tuo router), ma tu (ed il tuo cellulare

) siete fuori casa. Il tuo cellulare quindi è connesso ad una rete differente (per esempio un'altra WLAN, o la rete dati mobile del tuo cellulare).
E qui entra in gioco l'IP pubblico: l'App µPanel acquisisce l'IP pubblico del router al quale il modulo wi-fi "dovrebbe" essere connesso. Però se il tuo router non ha IP pubblico (cioè non si affaccia direttamente ad internet), la connessione al modulo wi-fi fallisce.
L'IP 5.2.0.8 che registri, è dunque un IP di un dispositivo linkem attraverso il quale il tuo router accede(previa traduzione di indirizzi, tecnica nota come NAT). Per cui non riesci a fare quello che chiedevi.
Questo deriva da una precisa scelta progettuale di miuPanel, che consideriamo come un vantaggio: tutti i dati scambiati tra modulo e app , non transitano per un server web che memorizza le vostre informazioni. Questo, tra l'altro, consente uno scambio dati in real-time molto spinto (a tal proposito, sul sito miuPanel trovi un esempio di un oscilloscopio fatto con arduino UNO con sampling rate di 50 kSa/s. Mi sono collegato al modulo wi-fi da un'altra città e ho visualizzato la forma d'onda acquisita da arduino in tempo reale!).
Infattti, altri sistemi IoT usano un server su cui il cellulare ed il modulo wi-fi caricano/scaricano i dati e comandi. Pensa per esempio al sistema di messaggistica whatsapp: c'è un server di mezzo che memorizza lo scambio dei dati e il tuo telefono gli chiede se ci sono nuovi messaggi da scaricare. In questo modo non importa l'IP pubblico.
I router con IP pubblico sono molto diffusi spesso puoi richiedere un router con IP pubblico al tuo stesso provider (infrastruttura di rete permettendo) risolvendo così il problema. Però sappiamo bene che, in alcune circostanze (come nel tuo caso), avere un server che faccia da tramite, tra il cellulare e il modulo wi-fi, può essere importante. Per questo ti dico che stiamo già lavorando per aggiungere nuove funzionalità al sistema, e quella di usare un server web è tra queste. E comunque rimarrà sempre e solo un'opportunità, non un obbligo, come accade con gli altri sistemi per applicazioni IoT.
Carmelo