Category: Technology

Posts that are tech related

  • Meta Quest 2’s Hand Tracking Controllers

    I bought my first VR headset, the Meta Quest 2, in September 2021. ever since then, I’ve been amazed at the technology from one of the cheapest VR headsets with a lot of capability and elegant features for the price. One of the really amazing things when I first put on the headset was the controller hand tracking. At first, I was confused because it was tracking where my fingers were on the controller. The demo and actual games with full hands (which is most VR games) work well. And it shows how immersive it is to use your actual fingers in the “metaverse” to interact with virtual objects., This, combined with the vibration motors, play wonderfully, making it almost feel like you’re picking up an actual thing.

    From what I’ve found online and actually seen when taking apart the controller, the controllers have a ring that goes around the main controls such as the thumb rest, joystick, a/b buttons, etc. At first, it seems like it used sensors inside that ring to sense where your fingers are, but after more research, I don’t believe it does. Although I’m not sure, the sensor-like parts in the ring are currently being used.

    matty_mac_21 on ifixit

    The Quest 2’s controllers instead have a simple way of handling the finger placement tracking. It uses capacitive controls for all of the buttons and the thumbstick. A lot of devices feature capacitive touch thumbsticks, as well as Meta’s competitor in the VR space, Steam’s Vive Headset, a user posted on Reddit about a cable coming from the main thumbstick cap:

    Posted by Lightcap- on Reddit.

    This was the primary response in the comments:

    Capacitive sensors touch work in a way that your own body is being used as an electrical charge conductor that the device can react to. Almost every smartphone uses this same technology for its touchscreen. (more info about it at the bottom)

    I also found another post about one of the original Oculus Touch controllers in which a user went into detail about how the tracking works on the controllers. I found this extremely informative. I recommend you read it. Link to the post here. They also attached an image with their reply showing different positions the quest’s controller can track your finger using the aforementioned capacitive touch sensors, which are represented by the marked blue spots on the controller:

    this is a separate design controller, but I believe Meta still used this same function with the Quest 2 controllers.

    Overall this is really fascinating to find out how different companies use capacitive touch sensors with various controllers to find where your finger is placed, which execute well to make the games more immersive.

    If you have comments about this post, let me know below. If I missed some vital information / or mistakenly wrote about Quest 2’s technology, let me know below. (I am not a professional in this tech space, but I am curious to learn more about it.)

    Reference and more info links:
    “Do Oculus touch controllers have finger tracking” in depth on how the capacitive sensors work on the original design touch controllers:

    “Meta Quest 2 controller breakdown and guide” I found this extremely helpful in taking apart my controller:

    https://www.ifixit.com/Guide/Oculus+Quest+2+Controller+Disassembly/147947

    “how touch sensors work” this explains how the capacitive touch sensors you see more often work:

    https://www.arrow.com/en/research-and-events/articles/how-touch-sensors-work

    “What purpose does this cable have?” Reddit post asking what the purpose of the cable is for on the Vive VR headset:

  • Xbox Kinect with ReconstructMe

    I recently found my old Xbox Kinect that came with the Xbox 360, and I wanted to see if the 3d scanning capabilities can still accurately pick up even twelve years later. I had tried this back in 2019 but had mixed results with the program I used (Skanect), which had a big paywall to download higher-resolution models of your scans.

    But today, I looked to see if there are any better free programs out there where I could get the highest quality that the Xbox Kinect provided. After some googling and trying about three different programs, I found my favorite: ReconstructMe, ReconstructMe I found the best to be for free since it has probably the most settings versus the competitors. Unfortunately, it supports only the old Kinect (V1) and a few other 3D scanners. With settings such as distance to the object and how big the thing will be, you won’t accidentally capture other items around the subject.

    After many attempts, through which I tried different ways of scanning my little sister, I found what worked best for me. Since I don’t have a fancy turntable, I used an old stool that she sat on while staying still in one pose. And since it was hard for her to keep her eyes still, I had her close her eyes. After scanning the entire body several times from up to down to get all of the corners, I realized that. And when doing the last scan around, thoroughly scan the face; thus, being the final image, it doesn’t have lighting on one side and not the other or noticeable color changes in the lighting. This so far is my best scan of my little sister:

    (please note the lighting done in the 3d model previewer does affect the model’s look. thus being is too much whiteness on her left side.)

    Learn how I took apart my Xbox 360 here: https://blog.ezraharris.com/taking-apart-an-xbox-360-phat-edition/

  • Configuring Marlin Firmware for My Ender 3

    I got into configuring marlin firmware for my specific printer recently; due to its widely supported amount of boards, I can easily modify the newest version of marlin for my printer. At first, I was going to go with the original Marlin as a base but decided to work with Jyers Marlin, a modified version for the Ender 3 V2, which I don’t have. But I have very similar hardware as in the Ender 3 V2 in my Ender 3, the only difference being a different LCD type and a filament sensor. Thanks to marlin’s extensive documentation on their website, both are extremely easy to configure.

    Once I could change the filament sensor and LCD type (post on that here,) I then ran into a slightly different issue. For some reason, the board that PlatformIO was not set correctly, and I had to change the default environment from STM32F103RET6_creality to STM32F103RE_creality, which fixed that issue. Another issue I had was a setting called FAN_SOFT_PWM, which needed to be enabled, and after some searching in the configuration file, I was able to find it, and enable it. After a couple of minor issues (Platform IO core bug, which was later resolved), I successfully compiled the code in VS Code with PlatformIO.

    I published my fork on Github here: https://github.com/BillyDaBones/Ender-3_Upgraded_Jyers_marlin/releases

    (please note: I am not a programmer, especially with Marlin configuration, use the firmware at your own risk.)

  • Changing the LCD Configuration in Marlin

    When updating my firmware on my 3D Printer (the ender 3), I recently ran into an issue when using a modified version of Jyers marlin. I realized that the screen configuration was of another type of LCD. So when I tried to flash it, the LCD screen would appear blank. After a lot of googling, I found a blog post by Crosslink describing how he is changing his Ender 3 V2‘s printer LCD to a smaller and older version of the screen. The LCD on the newer Ender 3 V2‘s are vertical, and the LCD I have is horizontal, for example, in the image below:

    screen comparison

    In crosslink’s tutorial on how he changed out his screen, he showed how to change his marlin firmware to accept the different style screen. You had to enable the screen type to be #define CR10_STOCKDISPLAY instead of using the #define DWIN_CREALITY_LCD, which was the setting to allow the config for the Ender 3 V2’s display. Then you need to change a setting required to flash the firmware.

    And after that, I compiled the code in Visual Studio Code (with the PlatformIO plugin installed) and was able to successfully flash it onto my 3D Printer. There are more tweaks to the firmware I need to make for all of my hardware to work. But a huge thanks to Crosslink for his post! (Link to it here) he goes in-depth on why he switched to the older display and explains the process in great detail. He also has a Youtube video on it here:

    crosslink youtube video/tutorial

    Learn how i changed my screen’s boot screen here: blog.ezraharris.com/customizing-my-3d-printer-boot-screen/