Aumentare la risoluzione analogica di Arduino, un parere

Non devi fare altro che leggere consecutivamente l'ADC per 16 volte, sommare tra loro i valori e dividere per 4, il risultato finale è un valore a 12 bit (0-4095).
Dato che Arduino campiona in modo fisso a 10ksps e le variazioni sono lente non hai nessun problema di aliasing, però evita di alimentare Arduino da USB e usa una sorgente esterna perché la tensione presente sulla porta USB è tutto fuorché pulita e stabile, non è molto indicata per l'uso con l'ADC.
Tieni presente che lo schema di Arduino collega assieme Vcc e Avcc, sono rispettivamente l'alimentazione di Arduino e l'alimentazione del ADC, il che va bene per quasi tutte le situazioni, ma non per applicare l'oversampling senza usare una tensione di alimentazione precisa e stabile.
In alternativa puoi usare Aref, previa abilatazione tramite "analogReference(EXTERNAL)", collegandolo ad una tensione campione ben filtrata.