Table of Contents

OCaPIC: Programming PIC microcontrollers in OCaml

This project allows to run OCaml programs on PIC microcontrollers.

Meeting of two worlds

  1. The OCaml language:
    • High-level multi-paradigm programming language.
    • Type-safetiness, robustness (strong static type check).
    • Functional paradigm (first-class functions and closures).
    • Imperative paradigm (mutable data, loops).
    • Object-oriented paradigm.
    • Exceptions.
    • Modules and functors.
    • Parametric polymorphism.
    • Automatic memory management.
  2. The PIC microcontrollers:
    • PIC = Programmable Integrated Circuit.
    • Low power consumption: a few mW.
    • Low cost: a few dollars.
    • RAM memory: a few kB.
    • Flash memory: a few tens of kB.
    • Clock: a few MHz

How can PICs be programmed in OCaml?

  1. Write your program in OCaml.
  2. Compile the source code with the ocapic command.
  3. Test your program with the OCaPIC simulator (optionnal).
  4. Assemble the assembler file produced by ocapic (for example, with gpasm).
  5. Transfer the resulting hexadecimal code to the PIC.
  6. Plug the PIC into a circuit, and run it!

OCaPIC Features

Authors