Saltar al contenido principal

How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2

Qué necesitas

  1. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Removing faceplate screws: paso 1, imagen 1 de 1
    • Lay HDK headset face down on a soft surface. Remove the two Phillips #00 screws from the bottom.

    • If the screws do not easily unscrew, you may need to try a different screwdriver. They are quite small and precise, and in the 1.3 and later at least, seem to be a Phillips #00 (possibly just a #0 in 1.2), but if your screwdriver set is not exact, they are easy to strip. If the screws don't turn, try another screwdriver.

  2. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Opening faceplate: paso 2, imagen 1 de 2 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Opening faceplate: paso 2, imagen 2 de 2
    • Turn the headset upright.

    • Behind the red box is a connector between a ribbon cable attached to the faceplate and a ribbon cable wrapped inside the body of the HMD. It's taped together in addition to the force of the connection, but is still somewhat fragile, so when opening, this left side should be treated as the "hinge".

    • There are now only two pairs of magnets at the top in the corners holding the faceplate to the body of the HMD. (In the inside image, one of the faceplate magnets is not pictured.)

    • There are two grooves on top, marked, to use in faceplate removal. Keeping in mind the minimal force holding the faceplate on, and the location of the faceplate connector, gently pull/fold the faceplate out and to the left. Do not use any tools for this step!

    • Images show an OSVR HDK 1.4, HDK 1.2 and 1.3 internally look extremely similar. The main circuit board on the HDK 2 differs, but the basic opening procedure and tracking cables should be the same. The faceplate connector cable for the HDK 2 is different, less fragile, and does allow for easy disconnection/reconnection if desired.

    • Avoid placing strain on the (1.x) connector highlighted in red: do not let the faceplate dangle from it or pull on it. If it disconnects internally, you will notice the IR tracking LEDs not lighting up. As long as the connector has not torn off, you can align and squeeze it gently to re-seat the connection and fix it; you'll feel it click.

  3. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Disconnect IR board cables (general): paso 3, imagen 1 de 2 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Disconnect IR board cables (general): paso 3, imagen 2 de 2
    • If you are following this guide to reprogram the IR board, and are able to use the "P5" programming connector - no more disassembly is required. The pink box indicates the location of P5 in an assembled HDK 1.x with the connector (1.4 units shipped with a P5-containing IR board).

    • Disconnect the board-to-board ribbon cable (connecting the IR board to the main circuit board) by lifting/tilting the white locking piece then gently sliding out the ribbon cable.

    • Flat on the surface of the IR board, about where the yellow arrow points, the orange ribbon cables (which carry the IR LEDs and additional positional tracking circuitry) connect to the IR board with the same sort of flat connector that is used between the faceplate ribbon cable and the main body.

    • The connector section of the ribbon cable is reinforced with a small board, which you can see just past the edge of the IR board itself. In a 1.4 or newer, as shown, it's right above the P5 connector (pink). If you come in from the front, you'll likely need a fingernail or pick/spudger. From behind the connector, a finger will probably be enough.

    • When re-assembling, get the board in position and connect the other ribbon cable first. Then, this cable should naturally line up at the right spot. Be gentle and don't force it: these connectors are not made for hard or repeated reconnection, and they won't click together if not centered and aligned perfectly. It's a little fiddly but doable.

    • See the next step for more information, detailed photos, and disassembly tactics for this orange ribbon cable connector.

    • Once those two cables have been removed, you should be able to shimmy the IR board out: be careful not to tug on any of the orange ribbon cables (they should be attached to the HMD case with adhesive on rubber bumpers at each LED location). It's OK to press the rubber bumpers back down onto the case if the adhesive has pulled away.

  4. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Details on the orange ribbon cable: paso 4, imagen 1 de 2 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Details on the orange ribbon cable: paso 4, imagen 2 de 2
    • This LED ribbon cable to IR board connection can be intimidating at first, because it feels "directly connected" to the board - but it's actually just a connector on the IR board face. The first two images are from a teardown of a modified 1.2 (you'll never see it like this in your own device) but they'll give a better idea of how it's connected.

    • These photos show the orange ribbon cable with the LEDs on it out of the HMD's housing. This was a development unit whose full tracking capabilities were sacrificed for the greater good. DO NOT remove the orange ribbon cables from your own HMD to try to get easier access - precise positioning of the LEDs is required for tracking.

    • First photo: connector attached, with ribbon cable unfolded out of the way for a clear view. Viewing the "top" of the board, which faces out the side of the HMD when installed.

    • When inside the HDK, the green arrow would be pointing out the front of the HMD.

    • When the orange ribbon cable with the LEDs is correctly left intact, it would actually gently bend (near the marked black line) over the IR board so that both blue arrows would point toward the top of the HMD.

    • Second image: connector immediately after disconnection, with both halves of the connector facing the camera. Again, ribbon cable unnaturally unfolded for ease of photography. As before, green arrows would point out the front, and blue arrows would point toward the top.

    • Here, you can see both the ribbon-cable side of the connector ("receptacle"), in yellow, and the board-side connector, highlighted in red. For a clearer view of how they mate, see the JAE WP7 series connector datasheet (board uses a JAE-WP7B-P040VA1) which has 3d renderings.

  5. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, The IR board, removed: paso 5, imagen 1 de 1
    • This is a view of a HDK v1.4 and up IR board, looking at the side that faces the outside of the HMD. When re-installed, the left edge of the board as seen here goes toward the top of the HMD.

    • Here you can get a better look at the features from the previous step which may help in reassembly.

    • This is the board-to-board ribbon cable. Removing the main board end is much easier to re-assemble than removing the IR board end, so just leave this cable attached to the IR board while it's out.

    • This is the board half of the connector to the orange ribbon cables - you can see it's flat against the board and rectangular in shape (and not necessarily perfectly square with the board), which might help you visualize reconnecting it.

    • This is the "P5" programming header suitable for use with official, full ST-Link v2 kits with cable bundle. Earlier boards do not have this connector or even this section of circuit board jutting out - that's nothing to worry about. The pinout is a duplicate of P3.

    • At the bottom-center, below the STM8 microcontroller, is a pair of unpopulated headers. The P3 header, highlighted in orange, is the programming header, and thus the one we're interested in. Pin 1 and 4 are numbered in the silkscreen, and pin 1 is also marked with a dot and has a square, rather than circular, pad.

    • The pinout for P3 (and P5, if present - pin 1 there is indicated by a circle) is: 1: 3.3v, 2: SWIM, 3: GND, 4: RESET

    • If your P3 and P4 headers are populated with terminated wires (some early 1.2 units only), you can use the wires directly. See the next step. Otherwise, skip it.

  6. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Pre-wired IR boards: paso 6, imagen 1 de 1
    • If your P3 and P4 headers are populated with terminated wires (some early 1.2 units only), you can use the wires directly. You'll need these wires:

    • GND: Third wire (black) from the first header (P4)

    • 3.3V: First wire (red), P3

    • SWIM: Second wire (orange), P3

    • RESET: Third wire (fourth pin, white), P3

  7. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Choosing a connector: paso 7, imagen 1 de 2 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Choosing a connector: paso 7, imagen 2 de 2
    • For both of my examples, I chose a CD-ROM Audio connector that I scavenged and desoldered from an old sound card. Nothing special, except that they are the right pitch (0.1 inches), 4 pins, and have a clearly labeled pin 1, so when the "notch" is down, the pins match the order of the header on the board.

    • Unless you come up with a clever alternative method, you'll have some bare wire here after soldering. If there's a lot, you might want to use heat shrink tubing (or at least electrical tape) to avoid the possibility of causing a short.

    • The particular connector you choose doesn't really matter as long as you can solder to one end of it, you can keep track of which end is pin 1, and it's the right pitch for the cable from your STM8 programmer (which is often 0.1").

    • If you've got the cable for the "P5" connector and your board has the P5 header populated, ignore all these steps about adding a connector and proceed right to the next step of the programming instructions.

  8. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Choosing your wire: paso 8, imagen 1 de 2 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Choosing your wire: paso 8, imagen 2 de 2
    • You'll want to choose some wire that is not too thick (needs to fit in the holes in the circuit board) and ideally flexible enough that you can easily fold the connector and wire back into the HDK and reassemble.

    • The example with the red wire is solid hookup wire from a spool, 22 AWG (0.65mm diameter). It's a little stiff: it works, but it's not very bendable.

    • The multi-colored wire in the other example is two of the four twisted pairs out of some "riser-rated" CAT5e - 24 AWG (0.51mm diameter) solid. (I put the two pairs into heatshrink to make it tidier.) This is much nicer: flexes easier to move in and out of the headset, and less bulky. The pairs don't really matter since only one wire is a data wire.

    • Whatever wire you choose, you'll want 4 wires about 1.5" or 4cm long, with ends stripped and tinned so you can solder them. You'll also want to take care during the process, especially if your wires are all the same color, that you're keeping the wires in order.

  9. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Solder the connector end, apply heat shrink tubing (optional): paso 9, imagen 1 de 1
    • Start by soldering the connector end of the wires to the connector you've chosen. How to solder is beyond the scope of this guide, but remember that you want smooth, shiny solder joints.

    • We're soldering the connector end first in part so that if you're using heat shrink, you can apply and shrink the heat shrink tubing now before you've attached the wires to the more sensitive circuit board. Be sure to leave enough room at the other end to spread the wires to fit in the holes in the board.

  10. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Soldering the board end: paso 10, imagen 1 de 3 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Soldering the board end: paso 10, imagen 2 de 3 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Soldering the board end: paso 10, imagen 3 de 3
    • Insert the wires from the connector through the "top" of the board (the side with the P3 silkscreen), making sure that you've matched pin 1 of P3 with the pin 1 wire from your connector.

    • While holding the wires in place, carefully turn the circuit board over so that the "top" side faces down and the tinned ends of the wires protrude through the circuit board. (You may wish to use a soldering clamp or similar tool to help at this point.)

    • Apply flux and carefully solder all four wires (heating both pad and wire, then applying solder once hot). The solder should wick down through the plated through-hole to the other side, turning the copper pads to a silver color on both sides and smoothly reaching up the wire.

    • Make sure to not apply too much solder, and also make sure the pads are not shorted together!

    • Once the solder joints have cooled (without moving!), and you are confident that they are solid, clean, and shiny all around, you can trim the excess wire protruding from the bottom of the board.

    • Again, this isn't a soldering tutorial (and the image isn't necessarily of the best soldering job ever) - but there are lots of resources online.

  11. How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Connecting to the ST-Link v2 compatible programmer: paso 11, imagen 1 de 2 How to add a IR board programming connector to OSVR HDK 1.2 1.3 1.4 2, Connecting to the ST-Link v2 compatible programmer: paso 11, imagen 2 de 2
    • If you're using a generic, metal-cased "USB stick" style programmer, it will likely have a pinout diagram on it like this. Recall from the P3 pinout that we have 3.3V, SWIM, GND, and RST, in that order, on the board - and now on your connector!

    • Conveniently, this programmer has those same pins right next to each other (though in reverse order) starting at its own pin 1, indicated by that embossed arrow in the plastic. I used the cables it came with, connecting white to RST, black to GND, brown to SWIM (the data line), and red to 3.3V.

    • Not all of these ST-Link v2 clone programmers have the same pinout - follow the labels on your device!

    • On my CD-Audio connectors, with the notch for the "tab" down, pin 1 is on the left, so that means the correct order left to right would then be red, brown, black, and white, as pictured. The cable colors may vary, but make sure the order matches.

    • You can now proceed with the programming!

    • If you're using Windows, when you plug the programming tool into your computer, you'll probably need to install the drivers for it

    • If you're able to use the P5 connector, here's where you pick back up: follow the instructions in the user manual from ST to connect the cable to P5, then proceed with the programming.

Conclusión

Proceed with the rest of the IR board programming instructions. If you wish to re-program the board in the future, you will only have to open the faceplate and access the header you've already added (if applicable).

To reassemble your device, follow the disassembly instructions in reverse order.

If you added a header on a cable, fold it in carefully. Some have modified their headset so that they can leave the header cable protruding out the bottom for future upgrades without opening the faceplate.

Be sure to not disturb the location of the rubber bumpers and LEDs on the IR ribbon cables.

Give the connector to the faceplate ribbon cable a gentle squeeze to make sure it has stayed connected.

If any rubber bumpers around LEDs have pulled away from the HDK outer case, re-adhere them back on to the case without disturbing their position in the other directions.

Una persona más ha completado esta guía.

Rylie Pavlik

Miembro Desde 12/31/12

498 Reputación

4 Guías creadas

4 comentarios

Hi Ryan,

I’ve found that 4-pin ERNI ‘P5’ connector is very similar to 4-pin speaker connectors used in many tablets and laptops (at least Asus and Acer brands [but Dell and Lenovo are thicker]). This speakers connectors are a bit narrower than ERNI, so pins distance is shorter too. But it’s small difference, so pressing it with force gently wil bend pins enough to fit.

I do wonder about which programmer to buy, because original STM programmer costs about $12( [CN] version, without ERNI connector) or $22 ( [EN] version with proper ERNI 4pin connector). Generic clones costs $3-$4, and as you stated provide enough juice to drive board with leds(so I understand it’s safer than using original STM programmer and additional power supply for HDK2?).

On the other hand I’ve found info that STM32 can be programmed using USB-to-Serial adapter(which I got few around), but not sure if it’s apply to HDK2 IR board too (probably proper bootloader is needed, some boards needs switching jumpers to ‘BOOT’, etc.) Any idea about HDK?

Krzysztof Krakowiak - Contestar

It’s STM8, not STM32, which is why you can’t just do USB serial. STM8 is very barebones and cheap.

I think Adafruit now actually sells cables of the right type or very close: https://www.adafruit.com/product/4722 Only five years after I needed one :) I never had one of the original STM programmers, and I did the second firmware revision. I personally did both the “add a connector you have” approach in the guide, as well as bought some cheap 1.25mm/1.27mm connector pairs on eBay and filed them down until they fit. (To be honest the Adafruit ones look like the ones I have - so some filing might be required.)

The legit STM one with the cable isn’t too expensive, honestly, so if you might use it for something else later, just go for that and save yourself the hassle.

Rylie Pavlik -

Hey Ryan,

I know I am 8 years late, but can this jtag work with "atmel flip".

My reset buttons don't work and I bricked my HDK 2 with 1.3 oled (or something like that) hex software.

pls help

Michael Dirda - Contestar

So the IR board is STM8 not atmel AVR. But if you goofed which firmware as you say, then yes, using atmel flip is the way to go. (Or avrdude). You'll need a different tool, not the STLink, to control that jtag on the main board: I used an atmel ice but those are expensive. Anything that avrdude supports that can do atxmega chips over jtag will work, there are probably cheaper devices.

Good luck!

Rylie Pavlik -

Agregar Comentario

Ver Estadísticas:

Ultimas 24 horas: 1

Ultimos 7 días: 3

Ultimos 30 días: 34

Todo El Tiempo: 1,905