Arduino/ESP32 firmware for DIY haptic gloves. Officially compatible with LucidVR gloves.

Overview

LucidGloves

lucidgloves- Firmware and 3D Print Files

This repo contains the arduino firmware as well as the STL files for Prototypes 3 through 4 of the LucidVR glove. This is a finger tracking glove that allows you to use your hands in VR. Follow along with Lucas_VRTech's developments on his Tiktok page: https://www.tiktok.com/@lucas_vrtech

Support

Join the LucidVR discord server for assistance: https://discord.gg/lucidvr

Firmware

Open the firmware files located in the firmware/lucidgloves-firmware folder. By default the firmware is configured for an arduino nano using serial. To configure the firmware, change the defines in the lucidgloves-firmware.ino file.

Configuration instructions are here: Configuration Instructions.

Tested boards:

* Arduino Nano
* ESP-WROOM-32

Supported Communication Methods:

* USB Serial
* Bluetooth Serial (On ESP32 boards)
* BLE (Soon, not up yet)

Hardware

STL files for 3D printing are located in the hardware folder. Prototype 4 models are currently experimental

The assembly for each hand is as follows:

For Prototypes 3 and 3.1 -

  • Spool (5x)
  • Tensioner (5x)
  • Cover (5x)
  • Holder (5x)
  • GuideRing(Will need to be resized) OR GuideNode(3.1) (2+ per finger, 1+ for thumb)
  • EndCap (1x per finger, will need to be resized to fit)

For Prototype 4 -

  • HapticSpool (5x)
  • Tensioner_GreenPot (5x) OR Tensioner_WLPot (5x)
  • SpoolCover (5x)
  • RigidMount (2x) (One for each hand, make sure to flip for other hand)
  • WLPotSlideHolder OR WLPotElasticHolder OR GreenPotSlideHolder (5x)
  • Quest2_MountSlider OR Vive3.0_MountSlider (2x)
  • GuideRing (Proto 3) (Will need to be resized) OR GuideNode (Proto 3.1) (2+ per finger, 1+ for thumb)
  • EndCap (Proto 3) (1x per finger, will need to be resized to fit)

Guide for printing parts: Printing guide

Required parts for each hand: Parts Lists
Optional:

  • Joysticks for locomotion
    • will be making a DIY treadmill eventually as well for those who would prefer that
  • Buttons (Most can be replaced with gestures) (One is required for autocalibration)

More information will be available on the LucidVR site very soon.

Driver

This project uses the open source OpenVR driver created by LucidVR and Danwillm: https://github.com/LucidVR/lucidgloves-openvr

Comments
  • A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

    A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

    esptool.py v3.0-dev Serial port COM3 Connecting.......................___..........___.....____An error occurred while uploading the sketch _

    A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

    opened by slobershelf 13
  • potentionometer wont work?

    potentionometer wont work?

    hi guys i finished my left glove by using all the thinks lucas has. i wired everything to the esp32 wroom-32 v1 mpdul and when i go to the serial port und move my thumb and pint finger the numbers change but when i move my pinky or middle finger the numbers are all the same :( Pls help me and i wired everthing to the pins and change it in the ide to the pins that i use

    opened by Philliboyxd 11
  • 10 bit analog resolution

    10 bit analog resolution

    Why do we have different analog resolutions on the esp and nano? It would be simpler to just set them both to 10 bits with analogReadResolution(10); in setup

    opened by CTRL-ALT-D3L 6
  • Added Reverb G2 controller mount and a README for controller mount intrusions

    Added Reverb G2 controller mount and a README for controller mount intrusions

    I added and deleted something just to test something.

    I am interested to hear your option on the readme for controller mounting. I was thinking for each mount we could have some basic instructions to make sure they are used properly. The reason I thought this was important is that tracking quality for these gloves really makes a difference

    I have also attached 2 photos of the mount in use!

    image0 IMG_0473 .

    opened by 0611zman 6
  • Assembly Guide Prototype 3

    Assembly Guide Prototype 3

    Do you have a video or a guide to assembly prototype 3? The videos on your channel show one of the older ones, and I printed the parts for the 3.1 and have no idea how to assembly it. Thanks in advance

    opened by Lobotuerk 6
  • Unable to load configuration, please open an issue on GitHub: OpenVR Init Error

    Unable to load configuration, please open an issue on GitHub: OpenVR Init Error

    Hello everyone :) Loading the firmware on the ESP32 worked as planned, but as soon as I started "open gloves" on steam, I got the error message written in the title. Serial and BT connection both result in the same error.

    opened by SB2203 5
  • Inseam on spool too small

    Inseam on spool too small

    I am a dumb person and would like help. The inseam on the spool stl file isn't showing up on the layer view, apparently it is so small my printer can't see it and so it just skips it. You can see how this is an issue. Please advise.

    opened by Rat-Boi-Bop 5
  • Servo scaling

    Servo scaling

    This PR adds individual servo scaling for each finger based on pot readings And a fix to servos retracting when you go out of bounds (code proposed by danwillm#8254 on Discord, forum thread: https://discord.com/channels/784543299045818420/1017766753012559973)

    opened by kskoczyk 4
  • Is this the right place to ask questions about parts?

    Is this the right place to ask questions about parts?

    I was looking for discussions, but notice you don't have any, so as a 2nd choice I opted for writing an issue instead, sorry if this is the wrong place to ask.

    Anyways, I am looking through the parts list, and I see a few of the items don't have links, and some have amazon links only. I'm a software developer and have no experience with engineering or engineering parts, so please excuse my lack of knowledge in these things :)

    Here's a list of the things I'm wondering about specifically:

    1. The velcro straps. I don't know what to get, since I don't know the length or type to get, a link would be very helpful as a guideline.
    2. The crimp set with only an amazon link, which has super expensive shipping and toll here in Norway. I was wondering if this is a good alternative to that: https://a.aliexpress.com/_mtOFRWo
    3. The powerbank. I see the one you recommend is 20000 mAh, but do you really need that much? How long does 20000mAh last usually? Would prefer to have a smaller powerbank if it's viable.
    4. MG90S doesn't have an aliexpress link, but I'm assuming this is the right one: https://a.aliexpress.com/_mL9ymPO
    5. Found these retractable badge reels. Do they look good enough? https://a.aliexpress.com/_mrq9OXe
    opened by Snailedlt 4
  • Error compiling for board ESP32 Wrover Module.

    Error compiling for board ESP32 Wrover Module.

    when I try to download the program after following the steps it says input[size] = NULL; ^ At global scope: cc1plus.exe: warning: unrecognized command line option '-Wno-frame-address' c:/users/ /appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find crt1-sim.o: No such file or directory c:/users/ /appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find _vectors.o: No such file or directory collect2.exe: error: ld returned 1 exit status exit status 1 Error compiling for board ESP32 Wrover Module.

    opened by slobershelf 4
  • Spool cover and tensioner not connecting

    Spool cover and tensioner not connecting

    I printed the tensioner and spool cover pieces and they are not connecting properly. In the video he was able to put them on without issue. I was able to get them together, but they broke in the process. They were printed with a resin printer. Is that the problem? I tried using a 3D printer but it was having issues.

    opened by AbsoluteXero132 4
  • Fix from danwillm - vibration code from OpenGloves retracting servos

    Fix from danwillm - vibration code from OpenGloves retracting servos

    Fix to servos retracting when you go out of bounds (code proposed by danwillm#8254 on Discord, forum thread: https://discord.com/channels/784543299045818420/1017766753012559973)

    opened by kskoczyk 0
  • Part tolerance too loose

    Part tolerance too loose

    The couplers on Prototype 4 RigidMount_leftHand and RigidMount_rightHand appear to be too small to appropriately interface with any of the models that are meant to slide on and snap into place.

    See photo for example: https://imgur.com/a/Xu4R0Nq

    You can see the issue in the part files, as well: https://imgur.com/a/ijAL6ZP

    The fit is so loose between parts that the attached part never snap-fits into place, can slide/rotate a large amount, and will simply fall off of the RigidMount if turned sideways.

    opened by Leapo 1
  • How to calibrate hand position

    How to calibrate hand position

    Hello teams, I am a Master student, and hope to use your glove to help my future study. However, I am wondering why I start the demo, my hand will show in a different position direction every time, I hope I can have a good method to calibrate hand position. Thanks and best regard.

    opened by yosomichann 1
  • Source file release?

    Source file release?

    I'm trying to make some experimental changes to the glove mechanism, but it's complicated by the fact that there's no F3D/Solidpart file release. Could you add those to the hardware repo?

    opened by alxpettit 1
  • ValueError: could not convert string to float: '511&511&511&511&511&232&164&0&0&0&0&0&0'

    ValueError: could not convert string to float: '511&511&511&511&511&232&164&0&0&0&0&0&0'

    I am using the Prototype 1 Code for blender and when I am trying to run the code with a potentiometer as input, I am getting the following error

    Read blend: C:\Users\Ruchit\Downloads\lucidgloves-blender-main\lucidgloves-blender-main\VRGloveDemo_Attempt2.blend b'511&511&511&511&511&232&164&0&0&0&0&0&0\n' Traceback (most recent call last): File "C:\Users\Ruchit\Downloads\lucidgloves-blender-main\lucidgloves-blender-main\VRGloveDemo_Attempt2.blend\script.py", line 43, in ValueError: could not convert string to float: '511&511&511&511&511&232&164&0&0&0&0&0&0' Error: Python script failed, check the message in the system console

    Please help ME!

    opened by ruchitsheth 3
Releases(Proto4)
  • Proto4(Aug 7, 2021)

  • Proto3.11(May 10, 2021)

    Contains Prototype 3.11 of the LucidVR gloves, along with an updated firmware v2.01.

    • Added Revision 2 of EasySpool and covers, should be much more durable and easier to print.
    • Fixed joystick support and added support for deadzones in cheaper joysticks
    • Pin configurations are now per-board (Suggested by Jakub Nagy)
    • Added a pullup pin for hot-calibration reset

    EVEN IF YOU ARE BUILDING PROTOTYPE 3, USE THE FIRMWARE FOR THE LATEST PROTOTYPE.

    Source code(tar.gz)
    Source code(zip)
    hardware.zip(859.36 KB)
  • v1(Apr 20, 2021)

Owner
null
ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps

EMS-ESP is an open-source firmware for the Espressif ESP8266 and ESP32 microcontroller that communicates with EMS (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger.

EMS-ESP 274 Jan 8, 2023
YUIOP60Pi DIY Keyboard Firmware

YUIOP60Pi - DIY keyboard with PGA2040 firmware Requirements PICO SDK (v1.2.0) cmake compiler or so How to build $ make Output: build\yuiop60pi.uf2 Har

MURAOKA Taro 5 Aug 19, 2022
Officially repository Competitive Programming ID

Competitive Programming ID Official repository of Competitive Programming ID (https://t.me/CP_ID) Codewars Stats -------------------------------------

DVL ナンダ 3 Nov 27, 2022
CVE-2021-24084 Windows Local Privilege Escalation Left officially unpatched since 2020. Hence, its still a zero day

WindowsMDM-LPE-0Day Works best on Windows 11 CVE-2021-24084 Windows Local Privilege Escalation Left officially unpatched since 2020. Hence, its still

Exploit Blizzard 35 Nov 9, 2022
VR15: a VR FPS game controller that generates haptic feedback with high-pressure air.

VR15: a VR FPS game controller that generates haptic feedback with high-pressure air.

Zhaoyuan Ma 20 Nov 6, 2022
Haptic input knob with software-defined endstops and virtual detents

SmartKnob SmartKnob is an open-source input device with software-configurable endstops and virtual detents. A brushless gimbal motor is paired with a

Scott Bezek 12.2k Dec 29, 2022
ESP32 + GitHub Actions + Husarnet. A boilerplate project for ESP32 allowing in-field firmware update using GitHub Actions workflow.

esp32-internet-ota ESP32 + GitHub Actions + Husarnet. A boilerplate project for ESP32 allowing in-field firmware update using GitHub Actions workflow.

Husarnet 31 Sep 22, 2022
ESP32 S2 C++ host library compatible with arduino, esp-idf.

Info I would like to announce USB host library for esp32 S2 compatible with arduino, esp-idf and PIO (when pio will be updated to most recent esp-idf)

null 17 Nov 15, 2022
Adafruit GFX compatible arduino library for using cat thermal printers with the ESP32

CatGFX This library offers a Adafruit GFX "driver" for ESP32 and the cheap cat (or rabbit?) BLE thermal printers like this one: For usage information

Claus Näveke 5 Sep 23, 2022
Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)

ESP32 BLE Keyboard library This library allows you to make the ESP32 act as a Bluetooth Keyboard and control what it does. You might also be intereste

null 1.5k Jan 8, 2023
ESP32 based DIY word clock project

Wordclock ESP32 based DIY wordclock project TL;DR: check out this ✨ demo video ✨ Another take on the classic DIY word clock. This one requires a laser

null 41 Dec 26, 2022
ESP32-Skid-Steer - Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on the model.

ESP32-Skid-Steer Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on

null 6 Oct 27, 2022
An OpenVR Driver for VR Gloves

lucidgloves - LucidVR X Fngrs Developed by: Danwillm Lucas_VRTech What is this? This repository contains the OpenVR(SteamVR) driver for a DIY VR Hapti

null 396 Jan 6, 2023
null 313 Dec 31, 2022
Flashrom/serprog compatible firmware for the Raspberry Pi Pico

pico-serprog This is a very basic flashrom/serprog compatible SPI flash reader/writer for the Raspberry Pi Pico. It does not require a custom version

stacksmashing 37 Dec 24, 2022
Firmware for ExpressLRS compatible backpacks

What is a "TX Backpack"? Some of the ExpressLRS TX modules include an additional ESP8285 chip, which lets us communicate wirelessly with other ESP8285

ExpressLRS 47 Dec 27, 2022
This is the Arduino® compatible port of the AIfES machine learning framework, developed and maintained by Fraunhofer Institute for Microelectronic Circuits and Systems.

AIfES for Arduino® AIfES (Artificial Intelligence for Embedded Systems) is a platform-independent and standalone AI software framework optimized for e

null 166 Jan 4, 2023
Arduino-compatible development platform whose primary function is a clock

MakeTime Arduino-compatible development platform whose primary function is a clock Description MakeTime is a clock that uses a ring of 24 RGB LEDs to

null 3 Oct 11, 2021
A simple example for 'Arduino' compatible boards to interface with I2C to the MPU-6050, a 6-axis micro-electromechanical IC

Arduino-MPU-6050 A simple example for 'Arduino' compatible boards to interface with I2C to the MPU-6050, a 6-axis micro-electromechanical IC ==About==

Ivan 1 Oct 19, 2021