Skip to content

asterics/ESP32-Rainbow-Keyboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Rainbow BLE Keyboard

A standalone firmware for the ESP32 Rainbow hardware that transforms it into a portable ultra-light touch Bluetooth Low Energy (BLE) keyboard.

Overview

This project repurposes the ESP32 Rainbow hardware — originally designed for ZX Spectrum emulation — into a BLE typing device. It features a simple text editor on the integrated display and acts as a Bluetooth HID keyboard for connecting to computers, tablets, and phones.

Features

  • Bluetooth LE Keyboard: Connects wirelessly to devices as "ESP-keyboard". Supports standard typing, navigation keys (arrows), and special keys (Enter, Backspace).
  • On-Device Text Editor:
    • Visual cursor with blinking and navigation.
    • Text wrapping and scrolling.
    • Multi-line editing support.
  • Audio Feedback: Subtle "tick" sound on keypresses for tactile feel (using the onboard speaker).
  • Touch Keyboard: Utilizes the ESP32 Rainbow's capacitive touch keyboard (V2) for ultra-light-touch key input.
  • Display: Renders text and UI on the ST7789 TFT display (to be improved ...)

Hardware

This firmware is designed specifically for the ESP32 Rainbow hardware created by Atomic14.

Installation

  1. Clone the Repository:

    git clone <repository-url>
    cd esp32-rainbow-keyboard
  2. Open in PlatformIO: Open the project folder in VS Code with the PlatformIO extension installed.

  3. Build and Upload: Connect your ESP32 Rainbow device via USB and run the "Upload" task in PlatformIO.

    • Environment: atomic14-esp32-rainbow-01

Usage

  1. Power On: The device will boot up and display the text editor interface.
  2. Bluetooth Pairing:
    • On your computer or phone, scan for Bluetooth devices.
    • Select "ESP-keyboard".
    • The device uses "Just Works" pairing (no PIN required).
  3. Typing:
    • Type on the touch keyboard. Characters will appear on the device screen and be sent to the connected Bluetooth device.
    • Shift: Toggles upper case / symbols (hold > 1 sec. for locked mode).
    • Symb: Accesses symbol layer (hold > 1 sec. for locked mode).
    • Cursor Navigation: hold shift and press keys 1, 2, 3, 4 for Up, Down, Left, Right arrow keys (use locked shift mode on demand).
    • Backspace: hold Shift and press 0 (use locked shift mode on demand).

Dependencies

License

GPL License

Acknowledgement

This work has been accomplished at the UAS Technikum Wien in course of the R&D-project InDiKo (MA23 project 38-09), which is supported by the City of Vienna.

About

an ultra-light-touch BLE keyboard, based upon the ESP32 Rainbow singleboard computer (created by Atomic14)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages