Well, I finally posted all my source code and schematics on github at https://github.com/cyrusbuilt/CyrusBuiltHTPC. Now some details on the Arduino code: To enable debug mode (if necessary…. it’s been thoroughly tested and I’m currently using it on my own box everyday), uncomment line 45 in Raspi_ATX_PMU.ino. If you do, the firmware will not complete initialization until it connects to the host that will be monitoring the serial output. It will attempt a serial connection at 9600 BAUD and will not do anything else until connected. This is intentional so that you can see the boot screen which displays the pin definitions and their current state. Otherwise, you’d miss the boot screen by the time the connection is actually made. Once connected, all actions and pin states are output to the serial port as the events are handled. The 2 libraries in the “lib” folder will need to be copied to the “libraries” folder of your Arduino installation in order to compile.
And now some notes on the HTPC platform installation stuff: Use the following procedure to set up the platform correctly: 1) Make sure SSH is enabled on the Raspberry Pi. 2) Navigate to the CyrusBuiltHTPC folder from a terminal and type “chmod +rx remote_install.sh”. This will make the remote installation script executable. 3) Type “./remote_install.sh”. This will just push all the platform installation stuff to the Pi using SCP. If you’ve already copied the platform installation stuff to the Pi by other means, then just skip steps 2 and 3. 4) Type “chmod +rx setup.sh” in the terminal on the Pi (or via SSH), and then type “./setup.sh”. This will perform the initial setup by setting the appropriate permissions on the other scripts and installing the utility scripts (systemreboot, systemshutdown, systemupdate) in /usr/bin. 5) Navigate to /home/pi/xbmc_install in the terminal and type “./build-and-install-xbmc.sh”. This will pull XBMC from its github repository and proceed to compile and install XBMC. This may take up to 13 hours to complete. 6) After rebooting, navigate to “~/” and type “./configure-htpc-platform.sh”. This will configure the platform appropriately and set up the Pi to boot into XBMC automatically (you can still exit XBMC to get to a command prompt).
The whole system performs well. I’ve been streaming TV shows in HD from my TVersity server for months without any problem. I think I can reduce boot time by relocating rootfs to the USB HDD, as described here. I will post some pictures of the HTPC and some additional schematics laying out how the whole thing is supposed to be connected together.