Skip to the content
2 layers72 × 143.4 mmTasta mea, the printed circuit board in 3D

Custom ESP32 macro keyboard with a KiCad PCB, nine mechanical keys, three audio controls, a PyQt6 desktop app, and a Random Forest behavioral-recognition experiment.

Size
72 × 143.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
49
Pads
151
Tracks, vias
426, 83
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
27 Mar 2025
Updated
20 Oct 2026

Overview

Tasta mea is an open-source printed circuit board by AndreiasM5, from the AndreiasM5/IVA_DECK repository on GitHub. It is a 2-layer board of 72 × 143.4 mm with 32 parts on 49 nets, routed with 426 tracks and 83 vias.

It is built around the S8050 and VL53L0X. Its parts include 9 diodes, 9 switches, 2 resistors and 1 transistor. It belongs with the keyboards and input boards and the ESP32 boards of this library.

Main components

2

README

README.md

IVA DECK

A custom ESP32 macro keyboard with a desktop companion and behavioral recognition

9 mechanical keys · 3 volume controls · LCD + microSD · USB / Bluetooth · Python + PyQt6

Download Windows app · Install V5 · Demo · Get started · Hardware · Protocol · AI experiment · Română

IVA DECK with nine pink keys, three knobs, sensors, and a color display

Designed and built by Ioan-Andrei Ivașcu

IVA DECK combines a custom PCB, ESP32 electronics, embedded software, a Windows desktop application, and a behavioral recognition experiment. Nine programmable keys handle shortcuts and media actions, three physical knobs control application volume, and the companion app exposes the display, storage, buzzer, and proximity sensor.

The original academic project was presented in June 2025 at the Faculty of Mathematics and Computer Science, University of Bucharest, as “Tastatură Inteligentă cu Recunoaștere Comportamentală asistată de AI.”

Windows app — V5

Download the Windows installer · Ghid de instalare în română · Source and build instructions

Install IVA-DECK-5.0.0-Setup-x64.exe, pair your deck over Bluetooth or connect USB, then select its port in Conexiune. No separate Python installation is needed. Supports Windows 10 21H2+ / Windows 11 x64.

IVA DECK V5 dashboard

V5 adds a purple/pink interface, macro labels and assignment dialogs, an editable macro library and three animated potentiometers. The Volum page selects audio targets. Macros, audio targets and the last port are saved per user. AI and SD-image workflows are outside this release. V4 and the historical project documentation remain available.

The V5 application is free software under GPLv3. This first installer is unsigned; see the release notes and SHA-256 checksums.

See it working

Companion app and physical keyboard in action

Full demonstration with audio — 2 min 8 sec

The recording shows key presses, macro configuration, audio controls, proximity feedback, display interaction, and behavioral analysis. The GIF is a silent excerpt. Open or download the MP4 for the complete recording.

What I built

LayerContribution
HardwareCustom KiCad PCBs, 3×3 key matrix, three potentiometers, peripheral integration, and enclosure
EmbeddedESP32 peripheral control and bidirectional serial messaging
DesktopPyQt6 interface for macros, Windows volume control, device commands, and logging
AI experimentFeature extraction and Random Forest recognition using keys, timing, distance, and volume

Desktop companion

Live keysApplication volume
Nine-key viewVolume controls
MacrosDisplay and storage
Macro configurationLCD interface

The application targets Windows, using pycaw and Windows COM APIs for audio-session control. Its interface is in Romanian.

More application screens: proximity and connections
ProximityConnection settings
Live proximity feedbackUSB and Bluetooth port selection

Architecture

mermaid
flowchart LR
  Keys[3x3 matrix] -->|GPIO| ESP[ESP32]
  Knobs[Three knobs] -->|ADC| ESP
  ToF[VL53L0X] -->|I2C| ESP
  ESP -->|SPI| LCD[ST7789]
  ESP <-->|SPI| SD[microSD]
  ESP --> Buzzer[Buzzer]
  ESP <-->|JSON over USB or Bluetooth serial| App[PyQt6 app]
  App --> Macros[OS macros]
  App --> Audio[Windows audio]
  App --> Logs[Local logs]
  Logs --> Features[Feature extraction]
  Features --> RF[Random Forest]

The INMP441 microphone is included in the hardware design. Full host audio streaming and voice control are unfinished, rather than demonstrated features.

From prototype to PCB

Successive boards and prototypes

PCB layoutEnclosure design
KiCad layoutEnclosure CAD reference

Original hardware iterations are preserved. Start with revision v6 and the hardware guide.

Explore

MaterialContents
Getting startedWindows installation and connections
Desktop sourcePyQt6 app and configuration
ESP32 v6Sketches and firmware status
KiCad hardwareSchematics, layouts, and production exports
ProtocolHost messages and commands
Behavioral recognitionTraining workflow and evaluation limits
ThesisOriginal 52-page Romanian academic documentation
Presentation PDFRomanian defense presentation
Editable slidesOriginal slide deck

Project status

The desktop source, AI script, KiCad projects, and peripheral tests are available. A complete historical ESP32 sketch was recovered from the author's development chat and is included with provenance and compatibility notes. It has not been verified as the exact firmware used in the demo; see the firmware status.

The thesis reports approximately 70% behavioral recognition in its experiment. This is a historical reported result, not a newly reproduced benchmark or an authentication guarantee. See the AI guide.

Documentation and media were checked against the supplied materials and repository source. Fresh hardware operation, firmware compilation, and desktop integration have not been revalidated during this documentation update.

Author

Ioan-Andrei Ivașcu · @AndreiasM5

Custom hardware, firmware development, companion software, and behavioral-recognition research for the original academic project.

Parts

32
QtyValueFootprintReferences
9DiodeScottoKeebs_Scotto:DO-35D1, D2, D3, D4, D5, D6, D7, D8, D9
9KeyswitchScottoKeebs_MX:MX_PCB_1.00uS1, S2, S3, S4, S5, S6, S7, S8, S9
3R_PotentiometerPotentiometer_THT:Potentiometer_Alpha_RD901F-40-00D_Single_VerticalRV1, RV2, RV3
2RResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1, R2
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1Card_readerConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalCARD-READER1
1ESP32-DEVKITC-32Desp32:MODULE_ESP32-DEVKITC-32DMCU1
1IMNP441_DreaptaConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalMICROFON_D1
1IMNP441_stangaConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalMICORFON_S1
1LOGOesp32:mitzy25G***
1S8050Package_TO_SOT_THT:TO-92_InlineQ1
1ST7789Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalDISPLAY1
1VL53L0XConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalPROXI1

More from AndreiasM5/IVA_DECK

4
  • 2 layers72 × 143.4 mmTasta mea, the printed circuit board in 3D

    Tasta mea

    AndreiasM5/IVA_DECK

    Custom ESP32 macro keyboard with a KiCad PCB, nine mechanical keys, three audio controls, a PyQt6 desktop app, and a Random Forest behavioral-recognition experiment.

    27 parts1
  • 2 layers68 × 118 mmTasta mea, the printed circuit board in 3D

    Tasta mea

    AndreiasM5/IVA_DECK

    Custom ESP32 macro keyboard with a KiCad PCB, nine mechanical keys, three audio controls, a PyQt6 desktop app, and a Random Forest behavioral-recognition experiment.

    24 parts1
  • 2 layers65.9 × 98.5 mmTasta mea, the printed circuit board in 3D

    Tasta mea

    AndreiasM5/IVA_DECK

    Custom ESP32 macro keyboard with a KiCad PCB, nine mechanical keys, three audio controls, a PyQt6 desktop app, and a Random Forest behavioral-recognition experiment.

    22 parts1
  • 2 layers65.9 × 98.5 mmTasta mea, the printed circuit board in 3D

    Tasta mea

    AndreiasM5/IVA_DECK

    Custom ESP32 macro keyboard with a KiCad PCB, nine mechanical keys, three audio controls, a PyQt6 desktop app, and a Random Forest behavioral-recognition experiment.

    22 parts1

Similar boards

  • 2 layers89 × 89.7 mmUltimate Useless Box, the printed circuit board in 3D

    Ultimate Useless Box

    jaxfry/Ultimate-Useless-Box

    The Ultimate Useless Box, a box that does nothing, with style! Heavily inspired by LuuMa EV3, I wanted my own useless box, until I realized that Lego's Mindstorm is prohibitively expensive.

    51 parts
  • 2 layers42 × 48 mmKERISE, the printed circuit board in 3D

    KERISE

    kerikun11/micromouse-kerise-v3

    MicroMouse KERISE v3

    130 parts32
  • 2 layers68.6 × 53.3 mmShoei, the printed circuit board in 3D

    Shoei

    CALIL/openbookcamera

    高速な書影撮影システム「オープンブックカメラ」

    28 parts23MIT
  • 2 layers100 × 80 mmEsp, the printed circuit board in 3D

    Esp

    0Zane/E.L.B.E.R.R

    Fanmade of E.LB.E.R.R. robot by LightsAreOff

    94 parts6MIT
  • 2 layers140 × 80 mmIntelliThings, the printed circuit board in 3D

    IntelliThings

    embedded-purdue/IntelliThings

    From IoT to AIoT: ESP32-C6 sensor nodes, Home Assistant and an LLM agent that acts through MCP

    12 parts5
  • 2 layers24 × 24 mmDistance sensor vl53l0x, the printed circuit board in 3D

    Distance sensor vl53l0x

    festlv/laser-distance-sensor

    Laser distance sensor with USB and serial output

    28 parts3
  • 4 layersLogiBot PCB, the printed circuit board in 3D

    LogiBot PCB

    Lukikato101/LogiBot

    Low-cost autonomous mobile robot (AMR) for warehouse material transport and automation.

    114 parts2
  • 2 layers35.5 × 58 mmEsguicho 2.0, the printed circuit board in 3D

    Esguicho 2.0

    project-neon/Esguicho

    Neste repositório temos os principais arquivos que usamos para os 3 capítulos, Eletrônica, Mecânica e Software. Segue abaixo uma lista do que temos em cada uma das pastas:

    45 parts2

Questions

How big is the Tasta mea PCB?

It measures 72 × 143.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tasta mea use?

32 parts, built around the S8050 and VL53L0X. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Tasta mea KiCad files?

From the AndreiasM5/IVA_DECK repository on GitHub, at the commit this page was made from: the board is HARDWARE/v6_esp32/tasta_mea.kicad_pcb and its schematic HARDWARE/v1..2_arduino_micro/tasta_mea.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tasta mea design in my own project?

Its repository states no licence, so its author keeps all rights: ask AndreiasM5 before reusing the design.