Ruff Lite FAQ

What is Ruff Lite?

Ruff Lite is a type of Ruff OS targeted on MCU (MicroController Unit)

What chips are supported by Ruff Lite now?

Ruff Lite supports two chips for now, one is TI TM4C1294, the other one is Espressif ESP32.

chipboard modelboard name in Ruff Registry
TM4C1294TM4C1294-LaunchPadtm4c1294-v1
ESP32Widora-AIR ESP32 Boardesp32-air-v40
ESP32ESP32-DevKitCesp32-core-v2

How to buy the boards supported by Ruff Lite?

Ruff does not provide any channels for purchasing, developers can buy them in the E-commerce platforms like Taobao.

What devices are supported by Ruff Lite?

Developers can search devices in Rap Registry, as for what devices are supported, it’s up to the HW interface of device. Ruff Lite supports the following HW interfaces. Developers can write device driver based on these interfaces.

TM4C1294 supports all the interfaces above, and will support more interfaces such as CAN and SPI in the near future. But ESP32 just supports the basic GPIO interface (in/out only), other advances features (like GPIO interrupt) and other HW interfaces are ongoing now.

What are the built-in devices on tm4c1294-v1 and esp32-air-v40?

The built-in devices are the devices can be used directly. You don’t need to add them by executing rap device add.

tm4c1294-v1 built-in devices

  • led-1
  • led-2
  • button-1
  • button-2

tm4c1294-v1

esp32-air-v40 built-in devices

  • led

esp-air-v40

rap log command is supported on Ruff Lite?

Since Rap v1.9.0 version, rap log is supported on ESP32, but not on TM4C1294 for now. The usage is below.

rap log --port <port>

What are the functions of USB cable?

USB cable provides the following functions:

  1. flash firmware or application (data flow is from PC to board)
  2. output logs (data flow is from board to PC)
  3. provide power to board

NOTE: developers cannot flash firmware or application while viewing logs since the serial port is used.

About bytecode

The hardware resource on MCU device is usually limited, for example, there are 1M flash and 256K memory (SRAM) on TM4C1294, there are 4M flash and 512K memory (SRAM) on ESP32. Therefore deploy byte code on MCU device instead of plain source code can dramatically reduce both memory and flash space consumption.

Ruff Lite project provide an online compiler named ruff-compiler which can be utilized by rap command while deploying package. To enable this feature, you need install ruff compiler with npm:

npm install ruff-compiler -g

Then next time when you deploy a package, rap will detect ruff-compiler in $PATH automatically and make use of it. You may use rap deploy --source if you want to deploy source code.