Skip to the content
PCBKitNew board
2 layers41.7 × 61.7 mmWemosglov, the printed circuit board in 3D

Install the required Python packages before running the project.

Size
41.7 × 61.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
49
Pads
112
Tracks, vias
266, 26
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
20 Nov 2024
Updated
28 May 2026

Overview

Wemosglov is an open-source printed circuit board by adhdnan, from the adhdnan/LSTM-Flex-Sensor repository on GitHub. It is a 2-layer board of 41.7 × 61.7 mm with 21 parts on 49 nets, routed with 266 tracks and 26 vias.

It is built around the INMP441 and TP4056. Its parts include 9 resistors, 8 connectors, 2 switches, 1 capacitor and 1 IC.

Main components

2

README

README.md

SIBI Sign Language Recognition using Flex Sensor and LSTM Algorithm

GitHub last commit GitHub commit activity

This repository implements a hand sign recognition system using flex sensor input, MQTT telemetry, and an LSTM-based prediction pipeline. The project was developed for the PKM-KC competition and as the author’s undergraduate final thesis project.

Overview

  • Collects gesture data from a flex sensor glove via MQTT.
  • Uses an LSTM model to recognize alphabet letters from sequential sensor readings.
  • Outputs recognized letters through audio playback.
  • Includes data collection, configuration, prediction, and model files.

Project structure

  • khadas/ - main Python source files for the real-time prediction program. This folder contains the application deployed on the Khadas VIM 4 single-board computer.
  • khadas/models/ - saved LSTM model definitions and weight files used by the Khadas program.
  • data/participant_* - recorded sensor datasets for each participant.
  • config/ - calibration thresholds and configuration files used by the pipeline.
  • alphabet_audio/wav/ - audio files for alphabet pronunciation output.
  • Model Iteration Documentation/ - Jupyter notebooks, model experiments, and saved model checkpoints.

Dependencies

Install the required Python packages before running the project.

powershell
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Note: torch installation may require a specific command depending on your CUDA support. If the generic install fails, visit https://pytorch.org/ and use the platform-specific install command.

Usage

Run the main pipeline from the khadas/ folder.

powershell
cd khadas
python lstm_main.py --fn <mode> [options]

Available modes:

  • --fn loop_default - print raw converted sensor payloads.
  • --fn config - collect calibration values and save them to config/<config_path>.txt.
  • --fn get_data - record gesture data to data/<letter>-<id>.txt.
  • --fn predict - perform live LSTM prediction and optionally save results.

Examples:

powershell
python lstm_main.py --fn config --config_path default
python lstm_main.py --fn get_data --letter a --id 1 --name user1 --seq_len 20
python lstm_main.py --fn predict --name session1 --model lstm

Note: khadas/audio.py contains the audio playback helper class, but the main process is launched from khadas/lstm_main.py.

Data and models

  • Recorded sensor dataset is stored under data/participant_*.
  • The default LSTM weight file is loaded from khadas/models/LSTM/lstm_flex_best_model18.pth.
  • Calibration files are stored under config/ and read by khadas/lstm_tools.py.
  • Prediction results are saved to result_lstm/<name>.txt.

Notes

  • MQTT broker settings are configured in khadas/mqtt.py.
  • Audio files are played from alphabet_audio/wav/.
  • The LSTM prediction pipeline is implemented in khadas/LSTM.py.

Non-technical documentation

  • PPT PKM-KC GLOVITOO.pptx - competition pitching deck (Indonesian)
  • Progress Report.docx - competition progress report (Indonesian)`

Parts

21
QtyValueFootprintReferences
94.7KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8, R9
1100nFCapacitor_THT:C_Disc_D9.0mm_W5.0mm_P5.00mmC9
14051CD4051:DIP794W45P254L1969H508Q16U5
1Flex_InConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ3
1Flex_OutConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1INMP441Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ7
1KananConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ10
1KiriConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ9
1MPU6050Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4
1OLED LCDConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5
1Switch_ModeButton_Switch_THT:SW_DIP_SPSTx01_Slide_9.78x4.72mm_W7.62mm_P2.54mmSW2
1Switch_POWERButton_Switch_THT:SW_DIP_SPSTx01_Slide_9.78x4.72mm_W7.62mm_P2.54mmSW1
1TP4056Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1

Questions

How big is the Wemosglov PCB?

It measures 41.7 × 61.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Wemosglov use?

21 parts, built around the INMP441 and TP4056. 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 Wemosglov KiCad files?

From the adhdnan/LSTM-Flex-Sensor repository on GitHub, at the commit this page was made from: the board is wemosglov/wemosglov.kicad_pcb and its schematic schematics-kicad/schematics-kicad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Wemosglov design in my own project?

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

Similar boards

  • 2 layersDBA, the printed circuit board in 3D

    DBA

    A223D/DeepBioAcousticsPCB

    PCB for the Capstone

    10 parts
  • 4 layers106.4 × 66.8 mmPip boy V1, the printed circuit board in 3D

    Pip boy V1

    benjaminbardossy-dotcom/wrist-boy

    A small WIP device which takes in external information through a variety of sensors, which can be mounted to your wrist for easy access.

    41 partsMIT
  • 2 layers230.8 × 176.5 mmMarajoara V3, the printed circuit board in 3D

    Marajoara V3

    machadoleonardo94/Echoes-of-Termina

    ESP32 Audio devkit for I2S modules, with microSD slot and LED outputs

    121 parts
  • 2 layers56.4 × 78.4 mmAIOsense, the printed circuit board in 3D

    AIOsense

    Schluggi/AIOsense

    ESPHome based all-in-one sensor

    25 parts162MIT
  • 2 layers135 × 135 mmVa5pcb, the printed circuit board in 3D

    Va5pcb

    iollama/Voice-Assistant-5

    ESP32-S3 push-to-talk voice assistant using OpenAI Realtime API

    16 parts21GPL-3.0
  • 2 layers70 × 100 mmIot badge-433, the printed circuit board in 3D

    Iot badge-433

    galopago/iot-badge-legacy

    Electronic conference badge for programming conventions, hacking events, etc.

    77 parts4
  • 2 layers39.1 × 39.9 mmNebula, the printed circuit board in 3D

    Nebula

    Thecactusman0/Nebula-openwatch

    Nebula is a ESP32 based smartwatch that features a rotating bezel encoder

    85 parts4
  • 2 layers74.9 × 100.3 mmSpectrum analyzer, the printed circuit board in 3D

    Spectrum analyzer

    JadenS180/spectrum-analyzer

    ESP32-based real-time audio spectrum analyzer with custom PCB design. Features INMP441 I2S microphone, SSD1306 OLED display, FFT processing, and real-time WiFi streaming to a browser-based visualizer via WebSockets.

    11 parts2MIT