This document provides instructions for setting up a Raspberry Pi development environment using F# to control various hardware components like an LCD screen and NES controller. It discusses: 1. Installing the SOFT float version of Raspbian Linux and ensuring Mono and other prerequisites are updated to avoid headaches. 2. Accessing the GPIO pins by downloading and building the bcm2835 library, which enables pin access from F#. 3. Controlling an LCD screen through the HD44780 controller using agents to isolate state and timing and provide safe asynchronous messaging. 4. Reading button inputs from a NES controller by shifting bits on its parallel-to-serial register and isolating state via message passing