I've been messing about with TCP/IP stacks on some fairly powerful MCU's lately (mostly the ARM M4 series), and this sort of led to the crazy idea, that I could somehow create an embedded platform specifically for mining (using FPGA's as co-processors). I've dabbled in pool mining just for fun, but came to the realization I actually have no idea how it works, protocol wise. I already have the hardware scattered around my house somewhere, so it could be a fun (ie, time consuming) project!
I understand the bitcoin client does several things, such as validation of all blocks, handling transactions, address, wallets etc. But for an embedded miner solely involved in a pool operation, what exactly would be the minimum functionality? As I understand it, the pool largely handles everything, and all you are required to do is receive/send data through JSON-RPC and process it. Is that really all there is to it? Or am I missing something absurdly important? Any clarifications would be awesome!