I wasn't the first though - seems like the idea has been around for a while. You can do it with virtually no external components as well - no need for FETs and stuff like that.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I actually did this a while back - and you can use it for both RX and TX: http://forum.espruino.com/conversations/257732/
I wasn't the first though - seems like the idea has been around for a while. You can do it with virtually no external components as well - no need for FETs and stuff like that.