Embedded programming in haskell using the Copilot stream DSL and Zephyr zephyr-copilot contains allows using Haskell to program many boards supported by the Zephyr project. zephyr-copilot uses the Copilot stream DSL (domain-specific language) and Functional Reactive Programming (FRP) to generate a program which can be compiled in Zephyr and flashed to the board. See Copilot.Zephyr for details on how to use write a program using this library. For example, to make a board blink its LED: import Copilot.Zephyr.Board.Generic main = zephyr $ do led0 =: blinking delay =: MilliSeconds (constant 100) This and other examples are included in the Examples/ directory, each with their own README explaining how to build and use them. Copilot is a stream (i.e., infinite lists) domain-specific language (DSL) in Haskell that compiles into embedded C. Copilot contains an interpreter, multiple back-end compilers, and other verification tools. Zephyr is a real time embedded operating system (RTOS) supporting hundreds of boards. ## Contributing Contributions are welcome, including adding support for more parts of Zephyr and more boards that are supported by Zephyr. Any contribution should have well documented functions and types.