Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
case.rst 38.02 KiB

.. _pru-cookbook-case:

Case Studies - Introduction
#############################

It's an exciting time to be making projects that use embedded processors.
Make:'s `Makers' Guide to Boards `_ shows
many of the options that are available and groups them into different types.
*Single board computers* (SBCs) generally run Linux on some sort of `ARM `_
processor. Examples are the BeagleBoard and the Raspberry Pi. Another type
is the *microcontroller*, of which the `Arduino `_ is
popular.

The SBCs are used because they have an operating system to manage files, I/O,
and schedule when things are run, all while possibly talking to the Internet.
Microcontrollers shine when things
being interfaced require careful timing and can't afford to have an OS preempt an
operation.

But what if you have a project that needs the flexibility of an OS and the timing
of a microcontroller? This is where the BeagleBoard excels since it has both
an ARM procssor running Linux and two [#]_
**P**\ rogrammable **R**\ eal-Time **U**\ nits (PRUs).
The PRUs have 32-bit cores which run
independently of the ARM processor, therefore they can
be programmed to respond quickly to inputs and produce very precisely timed
outputs.

There are many :ref:`Projects ` that use the PRU.
They are able to do things that can't be done with just a SBC or just a microcontroller.
Here we present some case studies that give a high-level view of using the PRUs. In later
chapters you will see the details of how they work.

Here we present:

.. TODO Switch from LEDscape to FPP

* `Robotics Control Library `_
* `BeagleLogic `_
* `NeoPixels -- 5050 RGB LEDs with Integrated Drivers (Falcon Christmas) `_
* `RGB LED Matrix (Falcon Christmas) `_
* `simpPRU -- A python-like language for programming the PRUs`_
* `MachineKit `_
* `BeaglePilot `_
* `BeagleScope `_

The following are resources used in this chapter.