KryonOS

Ondersteunde apparaten

KryonOS kan op meerdere apparaten worden gedraaid, waaronder:

  • M5Stack Cardputer
  • CYD (Cheap Yellow Display)
  • LilyGO T-HMI

Kenmerken

  • JavaScript App Runtime: Voer interactieve JS-apps native uit op de ESP32 met de geoptimaliseerde Duktape-engine.
  • Rijke UI & Graphics: Ingebouwde grafische bibliotheek met ondersteuning voor double-buffering voor vloeiende, tear-vrije 2D- en 3D-rendering.
  • App Store & Installer: Browse, download en installeer JavaScript-apps en updates dynamisch via Wi-Fi.
  • Bestandsbeheer: Volledig functionele bestandsverkenner en teksteditor die gebruikmaakt van de SD-kaart voor opslag.
  • Hardware API: Gebruiksvriendelijke JavaScript-API's voor het aansturen van GPIO, het lezen van touch-input, toegang tot de SD-kaart en het uitlezen van sensoren.
  • Multitasking-ervaring: Start, pauzeer en schakel tussen utility-apps, games en hardwaremonitoren.

Benodigde hardware

  • ESP32 Development Boards (ondersteund: ESP32 WROOM-32, ESP32-S2, ESP32-S3, ESP32-C3)
  • ILI9341 2.8" TFT Display (SPI-interface met XPT2046 Touch Controller)
  • MicroSD-kaartmodule (SPI-interface)
  • Breadboard & jumperdraden

Pinverbindingen

KryonOS vereist een ILI9341 2.8 inch touch-display en een SD-kaartmodule. Om de beste prestaties te behalen en bus-conflicten te voorkomen, maakt KryonOS gebruik van gesplitste SPI-bussen:

  • VSPI: Exclusief gebruikt voor het TFT-display en de touch-controller.
  • HSPI: Exclusief gebruikt voor de SD-kaartmodule.

Compatibiliteit met ESP32 Marauder

Standaard komen de display- en touch-pinouts in KryonOS perfect overeen met de hardware van de ESP32 Marauder (v4, v6 en v6.1).

Standaard pinconfiguratie

ILI9341 2.8 Inch Touch Display Pins

ILI9341 Display Pin LabelESP32 Pin
1 VCC3.3V
2 GNDGND
3 CSD17 (TXD 2)
4 RESETD5
5 DCD16 (RXD 2)
6 SDI (MOSI)D23
7 SCKD18
8 LEDD32
9 SDO (MISO)D19
10 T_CLKD18
11 T_CSD21
12 T_DIND23
13 T_DOD19
14 T_IRQX (Niet verbonden)

SD Card Module (HSPI)

SD Card ModuleESP32 PinNotities
MOSIGPIO 13SD SPI MOSI
MISOGPIO 26SD SPI MISO
SCK / CLKGPIO 14SD SPI Clock
CSGPIO 15SD Card Chip Select

Pinnen wijzigen

Als uw specifieke hardware-setup andere pinnen gebruikt, moet u het OS opnieuw compileren:

  • Voor het wijzigen van Display/Touch-pinnen: Open platformio.ini en pas de buildflags aan (bijv. -D TFTMOSI=23).
  • Voor het wijzigen van SD-kaartpinnen: Open src/FileSystem/FileSystem.cpp en pas de regels sdSPI.begin() en SD.begin() aan.

Installatie (Flashing)

Optie 1: Gebruik van vooraf gecompileerde binaries

U kunt de nieuwste vooraf gecompileerde firmware .bin-bestanden direct downloaden van de Releases-pagina. Gebruik een ESP32-flasher tool (zoals esptool.py of de officiële ESP Flash Download Tool) om de binaries naar de juiste sectoren te schrijven:

esptool.py --chip esp32 --port COM3 --baud 921600 write_flash -z \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0x10000 firmware.bin

Optie 2: Zelf bouwen

Om de firmware vanuit de broncode te bouwen en te flashen met PlatformIO:

  1. Download de repository als ZIP of clone deze via git.
  2. Open de projectmap in uw terminal of IDE (zoals VS Code).
  3. Bouw en upload met het PlatformIO-commando:

pio run -t upload

Documentatie & Community

  • App Development Guide: Leer hoe u JavaScript-applicaties bouwt en structureert voor KryonOS.
  • JavaScript API Guide: Leer hoe u systeemhardware kunt benaderen met de JS-API van KryonOS.
  • KryonOS Wiki: Officiële wiki voor gedetailleerde handleidingen, tutorials en systeemarchitectuur.
  • Discussions: Word lid van de community, stel vragen en deel uw ideeën.

Roadmap

  • Uitgebreide Boardondersteuning: Toekomstige updates zullen ondersteuning bieden voor een grotere variëteit aan microcontrollers en ESP32-varianten.
  • Meer Hardware API's: Continue uitbreiding van de JavaScript-API om meer low-level hardwarefuncties beschikbaar te stellen (bijv. Bluetooth, I2C, SPI-sensoren, geavanceerde PWM en deep sleep).

Licentie

KryonOS is gelicentieerd onder de GNU General Public License v3.0.