JavaScript (Node.js), 22 bytes
Takes input as an array of characters.
s=>s.flatMap(c=>[c,c])
#JavaScript (ES6), 26 bytes
JavaScript (ES6), 26 bytes
Takes input as a string.
s=>s.replace(/./gs,c=>c+c)
Alternate version suggested by @PabloLozano:
s=>s.replace(/./gs,'$&$&')
Doing it the recursive way is also just as long:
f=([c,...s])=>c?c+c+f(s):s