It's a router running OpenWRT (atheros). I built a PCB with two chips, an ADC and a Ambient temperature sensor which are both going over the same i2c bus (MCP9800 and MCP3422). Then I also have some transistors that are used to trigger a SSR which powers the element, just like a regular PID setup.
The logic, logging, and control is all done through the router, with an integrated package I made for Openwrt. So a daemon basically runs, periodically (4 times a second) measures the temperature, runs the PID calc, and modulates the heater control.
For now I have a cron script on the system to control whether the PID is on or not. I also have uhttpd installed, so I can have a simple API for when I get my iPhone app running. For now I can SSH into the device and change the PID calculations, temperature offsets, or just see what temperature the machine is at.
I can access the router because it connects to my main wireless router (over wifi), so my espresso machine is basically a computer on my network

As for the firmware, I am making custom builds of OpenWRT (though stock would work too), in the future I can even preload my package onto the firmware image if I really wanted to. But since I'm always updating the package with improvements it makes no sense to do that. For now I just ssh the new package to the router and install it via "opkg".
I actually think that the code is generic enough to work with anything running OpenWRT Backfire. You just have to find the appropriate GPIO pins for the i2c and the "heater out". I'm not aware of any other routers as "elegant" as this one since it has a nice 1.0 pitch headers with the GPIOs and power.