FatcatLab EVB

The FatcatLab EVB is a LEGO MINDSTORMS EV3 compatible cape for BeagleBone.

Input / Output Ports

The EVB uses the LEGO MINDSTORMS EV3 input and output port drives, so please refer to Input / Output Ports in the EV3 section.

Input Port I2C Adapters

The ev3dev PRU firmware for FatcatLab EVB creates one I2C adapter for each input port. These are available at /dev/i2c-X where X is the number of the input port plus 2. The adapters can only be used when the port is set to nxt-i2c or other-i2c mode.

Buttons / Joystick

The EVB has a directional joystick and a single button for user input. These are mapped to keyboard keys so that they provided the same input signals as the EV3.


Simultaneous button presses are ignored.

Button map
Button/Direction Linux key code (value)
Back button press KEY_BACKSPACE (14)
Joystick button press KEY_ENTER (28)
Joystick up KEY_UP (103)
Joystick left KEY_LEFT (105)
Joystick right KEY_RIGHT (106)
Joystick down KEY_DOWN (108)


  • This driver is used to get information about the FatcatLab EVB battery.
  • It uses the power_supply subsytem.
  • It registers a sysfs device node at /sys/class/power_supply/evb-battery/.
Sysfs Attributes
scope Always returns System.
voltage_now Returns the battery voltage in microvolts.


The snd-evb module provedes an ALSA driver for PCM playback and a Linux input device with sound capabilities (EV_SND) for producing tones.

The ALSA driver can be used with standard tools such as alsamixer and aplay. Tones can be produced by using the beep command, ioctls such as KDMKTONE (must run on local console or as root for ioctls) or by writing SND_* events to the event device (must be member of input group for this).