Shine-Bright-Meow / SlimeVR-Hyperion-BMI-BNO-PCB-Case

SlimeVR Hyperion Multi-IMU BMI BNO PCB and Case
MIT License
25 stars 1 forks source link

[!NOTE] I have a new carrier PCB which is smaller and more optimized than the Hyperion PCB. The entire assembly with case for the 503759 battery is smaller and lighter than the Hyperion one in this repository. The PCB and Case files for meowCarrier PCB can be found here: https://github.com/Shine-Bright-Meow/meowCarrier/blob/main/README.md

SlimeVR Hyperion Multi-IMU BMI BNO Case and PCB

Purchasing Guide

Recommended Components (PCB)

Choose either BNO085 (Performance), BMI270 (Value), or BMI160 (Budget) from the list below; not all three.

Component Variant Link
WeMos D1 Mini Micro or Type-C (not V4.0.0) https://www.aliexpress.us/item/2251832465432818.html
TP4056 18650 Micro or Type-C https://www.aliexpress.us/item/2251832290307200.html
BMI160 N/A https://www.aliexpress.us/item/2255799866368692.html
BMI270 N/A https://store.kouno.xyz/products/bmi270-breakout-board
BNO085 N/A https://shop.slimevr.dev/products/slimevr-imu-module-bno085
SS22F32/DPDT 2P2T Switches N/A https://www.aliexpress.us/item/2251832789220847.html
1/4W Metal Film Resistor 180K https://www.aliexpress.us/item/3256803737288214.html
Schottky Rectifier Diode 1N5817 https://www.aliexpress.us/item/2255800018624086.html
Header Pins 2.54mm https://www.aliexpress.us/item/3256805804439042.html
JST PH 2.0mm Connector Right Angle/Side Entry & 2-Pins (2P) https://www.aliexpress.us/item/3256804769340392.html
Lithium Polymer Ion Battery 503759 with Connector (PH) https://www.aliexpress.us/item/3256805125875396.html

[!IMPORTANT] Purchase 30% more boards (WeMos D1 Mini, TP4056, and BMI160/BMI270/BNO085 than what is needed. There is the possibility that components are dead on arrival or get damaged during assembly/soldering.

[!NOTE] One order of Resistors, Diodes, Header Pins, Switches, and PH 2.0mm Connectors is enough for the entire project.

[!NOTE] The SlimeVR DIY Community recommends buying boards from the following sellers on AliExpress: Win Win, Aitexm, or Tenstar Robot.

[!NOTE] Type-C Ports are more durable. As for charging, USB-C to USB-C Power Delivery doesn't work. Use USB-A to USB-C cables to charge trackers.

[!IMPORTANT] When purchasing components, some have multiple variants on the same product page like Diodes and Resistor. Be sure to select the correct one.

[!TIP] In your AliExpress Cart, you can verify that you selected the correct variant of the component here.

Optional Components (PCB)

Component Variant Link
JST XH 2.54mm Connector Right Angle/Side Entry & 4-Pins(BMI160 and BMI270)/5-Pins(BNO085) https://www.aliexpress.us/item/2251832822174658.html
JST XH 2.54mm Connector with Female Cable Right Angle/Side Entry & 4-Pins(BMI160 and BMI270)/5-Pins(BNO085) https://www.aliexpress.us/item/2255799934230488.html
Sheathed Wire Cable 28AWG & 4Cores(BMI160 and BMI270)/5Cores(BNO085) https://www.aliexpress.us/item/2255800384086289.html

[!NOTE] I recommend using Sheathed Wire Cable and soldering it directly onto the PCB for extensions. (JST XH Connector is not needed for this method) Usually, less connection issues than using connectors.

Recommended Consumables/Tools

Component Variant Link
Soldering Iron Any with BC2 Tip https://www.aliexpress.us/item/3256805553022893.html
Solder Sucker SS-02 or SS-02 Clone https://www.aliexpress.us/item/3256805437410900.html
Desoldewring Iron Choose your electrical outlet https://www.aliexpress.us/item/3256804929123151.html
Rosin Flux Liquid or Gel Type N/A

[!NOTE] You will have a much better soldering experience with better tools. These are my recommended (but still on a budget) Soldering Iron and Solder Sucker if you don't have these tools or better already. They will work much better than those Amazon $10-20 soldering kits/iron.

[!NOTE] The Soldering Iron listed requires an USB Type-C Power Delivery charging block of 60W or higher.

Recommended Components (Case)

Component Variant Link
Trilancer Elastic Cinch Straps See note below https://www.amazon.com/dp/B099RNRT7Z
GoPro Chest Mount Harness See note below https://www.aliexpress.us/item/3256805774922789.html

[!NOTE] 12in works for ankles. 18in for thinner thighs and 24in for thicker thighs. Chest (if not using GoPro Chest Harness) and Hips can be done by doubling up on 18in/24in straps. Choose what you need for your body and how many trackers you are planning to make. 3 Size Combo and either 18in/24in package would be a start.

[!NOTE] There are 2 types of GoPro Chest Mount Harness. One that clips in and the other one fasten by a bolt. Be sure to purchase one one for the case you are 3D Printing.

Ordering PCBs from JLCPCB

  1. Download the Gerber file from here.
  2. Go to JLCPCB.
  3. Click on "Add Gerber File" and upload the zip Gerber file.
  1. Select the PCB Qty and PCB Color of your choice. Select 1.0 for PCB Thickness and select "Specify a location" for Remove Order Number.

[!IMPORTANT] Set PCB Thickness to 1.0 if you are using the case from this repository.

[!NOTE] When ordering PCBs, please check if the case recommends a certain thickness it is designed for. For example, the case in this repository and Cheesecake recommend 1.0mm Thickness. If unspecified, the default 1.6mm will do. The case in this repository has loose tolerances incase you ordered the default 1.6mm thickness, it will work okay.

[!NOTE] JLCPCB usually produces Green colored PCB the quickness. Other colors have additional days added.

[!NOTE] For Remove Order Number, when "Specify a location" is selected, it will the order number will be printed at where the text JLCJLCJLCJLC is located. In this case, at the bottom of the TP4056 module footprint.

  1. Click to View Cart.
  1. Click Secure Checkout.

Soldering/Assembly Guide

Written Guide

[!WARNING] Please work at a well ventilated area. It is recommended to use a fume extractor if working indoors. If you do not have one, use a fan to blow fumes/smoke away from your face.

[!WARNING] It is recommended to use eye production. Especially when splitting header pins apart with a cutter and when trimming down header pins and ends of resistors/diodes.

[!WARNING] If working with leaded solder, be sure to wash your hands when you are done including under your fingernails. Wipe down and vacuum the floors and surfaces of your workspace and anything you may have cross-contaminated.

[!TIP] Using external flux (preferably Rosin) will allow solder to flow to automatically flow into the correct area.

[!TIP] A wooden clothespin can be used to hold the boards together while soldering.

[!NOTE] Resistor and Diodes

Battery Connector

With JST PH 2.0mm 2P Connector
  1. Place connector as positioned on the photo. The opening should be facing teh cutout and the smooth side should be on top and the slotted side should e against the PCB.
  2. Solder the 2 pins in the back.
  3. Trim excess length of pins using a flush cutter. Use your wire cutter if you don't have a flush cutter and cut as close the the PCB as you can.

[!NOTE] If you got straight pin connectors, you can bend them 90 degrees, so they will work. There will be a little less pin length sticking out from the back to solder and there is a chance of you snapping them. You should have plenty of connectors incase the pin snaps.

Without JST Connector

[!IMPORTANT] This step should be done last after the entire board is assembled and after you verified that the solder joints all look fine.

[!IMPORTANT] Do not solder the battery leads to the holes of the PCB. The angle will put stress on the wire and solder joint and will eventually break off.

  1. Strip the battery leads they are not exposed already.

[!WARNING] Do not let the exposed battery leads make contact with each other.

  1. Place your soldering iron on the BAT+ pad and melt the solder.
  2. Place the RED battery lead in the molten solder pad and let it cool off.
  3. Repeat the process for the BAT- pad and the BLACK battery lead.
Diodes

[!NOTE] Make sure the diode is facing the correct direction and has the correct values. It will not be easy to access the diode once you solder the IMU above it.

  1. Verify that the diodes are 1N5817. You can find the text on the body.
  1. Place the diode's striped (grey/silver) on the narrow stripe indicated on the silkscreen.
  1. Bend the ends in 90 degrees, so it is shaped like a staple and place into the through-hole.
  2. Pull the excess on the back until diode is flush with the PCB.
  3. Solder ends from the back.
  4. Repeat for other diode.
  5. Trim excess length of pins using a flush cutter. Use your wire cutter if you don't have a flush cutter and cut as close the the PCB as you can.
Resistor

[!NOTE] Make sure the resistor is the correct value. It will not be easy to access the resistor once you solder the IMU above it.

  1. Verify the resistor is 180K. The first 4 colors should go in this order:
    • Brown
    • Grey
    • Black
    • Orange
  1. Bend the ends in 90 degrees, so it is shaped like a staple and place into the through-hole. Resistors are not polarized, so the direction does not matter.
  2. Pull the excess on the back until resistor is flush with the PCB.
  3. Trim excess length of pins using a flush cutter. Use your wire cutter if you don't have a flush cutter and cut as close the the PCB as you can.

Switch

DPDT 2P2T/SS22F32
SS12D00G3

Charging Board (TP4056)

IMU (BMI160, BMI270, or BNO085)

MCU (WeMos D1 Mini)

Video Guide

Case Guide

The case consists of 3 files: Case, Lid, and Tray.

Printer Settings used:

[!TIP] For stronger strap loops, print the base/bottom 4mm layers with 0% (solid) infill for just the case file. Printing with a zig-zap pattern instead of line will help prevent strap loops from breaking at the weak point where layers join horizontally or vertically. These are done in your Slicer.

Case

Case Photo by Higanbana (Meia)

[!IMPORTANT] GoPro Chest Harness Tracker will have a different IMU rotation than your other trackers.

Battery Variant Link
503759 50mm Strap Loops / No AUX Hyperion_Lite_Case_503759.stl
503759 50mm Strap Loops / AUX JST Cutout Hyperion_Lite_Case_503759_AUX.stl
503759 50mm Strap Loops / AUX JST Cutout (Lupinixx) Hyperion_Lite_Case_503759_AUX_Lupinixx.stl
503759 GoPro Chest Harness Adapter / No AUX Hyperion_Lite_Case_503759_GoPro.stl
804040 50mm Strap Loops / No AUX Hyperion_Lite_Case_804040.stl
804040 50mm Strap Loops / AUX JST Cutout Hyperion_Lite_Case_804040_AUX.stl
804040 50mm Strap Loops / AUX JST Cutout (Lupinixx) Hyperion_Lite_Case_804040_AUX_Lupinixx.stl
804040 GoPro Chest Harness Adapter / No AUX Hyperion_Lite_Case_804040_GoPro.stl

Lid

Battery Variant Link
503759 No AUX Hyperion_Lite_Lid_503759.stl
503759 AUX JST Cutout Hyperion_Lite_Lid_503759_AUX.stl
503759 AUX JST Cutout (Lupinixx) Hyperion_Lite_Lid_503759_AUX_Lupinixx.stl
804040 No AUX Hyperion_Lite_Lid_804040.stl
804040 AUX JST Cutout Hyperion_Lite_Lid_804040_AUX.stl
804040 AUX JST Cutout (Lupinixx) Hyperion_Lite_Lid_804040_AUX_Lupinixx.stl

Tray

Battery Switch Link
503759 SS22F32 Hyperion_Lite_Tray_503759_SS22F32.stl
503759 SS12D00G3 Hyperion_Lite_Tray_503759_SS12D00G3.stl
804040 SS22F32 Hyperion_Lite_Tray_804040_SS22F32.stl
804040 SS12D00G3 Hyperion_Lite_Tray_804040_SS12D00G3.stl

Troubleshooting

Join SlimeVR Discord and ask in either the #technical-support or #DIY channels. It would be helpful for you to provide a description of your issue, photos of your soldering (front & back), and a log output from Settings > Serial Console with your tracker plugged into your computer via data USB cable into your WeMos D1 Port (non-charging). You will need to press the Reboot button to get the complete log.

Using a Multimeter

  1. Go to the drawing located here.
  2. Scroll down to the PCB section and click the Open in Editor button.
  1. Mouseover each pad and see which pads they are also connected to.
  1. Set your multimeter to continuity mode.
  1. Test for continuity between the pad you have highlighted with your mouse and every pad that is connected to it. Do this for every trace.

[!NOTE] Also, test the switch for continuity in the on position.

Left and Middle Pins on SS12D00G3 Switch:

Left and Middle Pins of the bottom row (against the PCB) for DPDT 2P2T/SS22F32 Switch:

Contribute

Feel free to create a pull request to this repository or mention me in SlimeVR's Discord #DIY channel (Do not DM me, it will go to my Message Request and I will not reply to you there) for improvement ideas or your modifications of the source files below or to the guide above.

Source Files

Component Link
PCB https://oshwlab.com/Newbie2620/slimevr-multi-imu-bmi-bno
Case - 503759 Fusion 360 Files - Hyperion_Lite_503759.f3d
Case - 804040 Fusion 360 Files - Hyperion_Lite_804040.f3d

Credit

Contributor Description Link
Smeltie Original Concept of the Hyperion Case https://github.com/Smeltie/Hyperion
Lupinixx Original BMI160 PCB Design and SS12D00G3 Tray used in this repository https://github.com/Lupinixx/SlimeVR-Hyperion-BMI160-PCB
Tmandel BNO085 modifications to the original PCB https://oshwlab.com/tmandel/slimevr-hyperion-503759-bno085
Astrocast123 Improvement on Tmandel's BNO08X PCB revision https://oshwlab.com/astrocast123/SlimeVR-Hyperion-BNO08X
nethesem/Adamant IT Video with Commentary https://www.youtube.com/@AdamantIT2
Shine Bright Improvements to PCB, new case design, and this guide write-up in this repository https://github.com/Shine-Bright-Meow/SlimeVR-Hyperion-BMI-BNO-PCB-Case

Thank you to those who printed my case and provided feedback: Topaz, Ventidge, Higanbana (Meia), and Plank.

Licence

This project is licensed under the MIT licence.