Replies: 22 comments 16 replies
|
Oh wow. If you write up your experience I can link it in the readme. |
|
Amazing, thank you for this. Even after the board crashes got fixed, I've still been getting random disconnects and missed inputs. I've been trying everything else I could think of except fixing the antenna. Yup, turns out the antenna on these boards are not ideal. That, combined with living in a very wifi dense area, explains what I've been experiencing. I did as suggested and soldered a 31mm bit of wire (salvaged from bit of cat5e) to the pad of the ceramic antenna on my pro micro/supermini board and the disconnects and dropouts have completely stopped. For anyone else that's looking to try this, I've attached a photo of my modded board. No need to remove the ceramic antenna. Just tack on a 31mm bit of solid core wire. 31.2 mm is the standard quarter-wave antenna length for 2.4 GHz devices. I've got the wire bent back down over the board which probably isn't optimal but I want it to be able to fit in a case. It still performs well enough for my needs. If you do this, it's probably worth making sure there's a bit of a gap between the wire and the board. I also wrapped the end in Kapton just as a precaution. For a better explanation, there's more info on this on SlimeVR's docs
|
|
I just may have to install a wire as well. I can also confirm signal is very poor on the Pro Micro NRF52840. Even having it right next to the Steam Controller, I get dropped inputs and disconnects. |
|
@Supster131 what board do you have? My kids play routinely sitting about 10ft away from the TV/dongle without issue. I worry different boards might have different levels of effectiveness |
|
This is the listing I purchased on Amazon. It's looks slightly different, but still similar enough to the one you linked in your readme. But I just noticed it looks identical to @stickman-dev 's board. So you might be right. Some boards might just have awful signal performance. |
|
There's a number of reports that this board doesn't work as well for some reason, but also one report that said that if you use a USB 2 port on your computer it works better. |
|
Yeah, I already have it plugged into a USB 2.0 port. Same port I was using with the official puck without issue. I'll probably attempt installing a wire tomorrow if I have time, but I still find it bizarre that the signal strength could be this bad? Is there a possibility this is something that can be fixed via firmware? Since you designed OpenPuck with your specific board, other boards aren't as optimized thus they get worse performance? |
|
None of my boards are from Teyleten, but I’ve experienced it with all of them. I don’t have any USB 2.0 ports to test with, but I wonder if using a USB 2.0 port was actually the fix, or if moving the board away from a source of interference made the difference. Interestingly, I have the same issue with my nice!nano v2, which uses a PCB trace antenna rather than a ceramic antenna. In my case, I’m fairly convinced that the combination of dense 2.4 GHz traffic and the relatively weak onboard antennas is the cause of my issues. I’ve had zero problems since doing the wire antenna mod. Before the mod, the disconnects were easily repeatable. Of course, your mileage may vary, and the issues other people are experiencing could be caused by something else entirely. |
|
Seems we have some pictures already. But I'll take a look at my board and try to do a write up? It'll certainly be my first. And I wrote 31 cm earlier, which obviously isn't correct. I'll have to measure mine again, but I think it's 13 cm. I think these boards just have a poor antenna. When I looked into whether I could add an antenna, there were already some examples of adding an antenna to similar boards. My board is plugged into the post on the official Steam Deck dock which only has USB 3.1 ports on it. |
|
So I went ahead and installed a wire on my board. At first, it looked liked it fix my connection issues. I using my controller for an hour or two without issue. I left and came back hours later to play some more and I got a disconnect within 2 minutes, so it seems like even with a wire it's still unreliable. The WebUSB configurator claims a signal strength of -45dBm to -60dBm. I didn't really look at this as much prior to installing the wire, but from the little I did look at before, I don't think there was really any signal strength improvement on the WebUSB page. Either I got a dud or some boards will just not be ideal for this project. Might not be a bad idea to create a list of boards that perform well and boards that should be avoided so newer users don't come across these issues. |
That's disappointing but not totally surprised. The connection issues you described seemed somewhat extreme, suggesting that there's something else going on. Other people have had issues with boards bought from the same seller. A list of known good boards would be ideal if possible. The problem is identifying the boards. With so many identical or similar looking boards sold by many different sellers, it's hard to know what boards are what. I even read on a listing from one seller that if you need 2 boards to work together, make sure to buy at the same time to ensure compatibility, suggesting that the boards they get aren't always the same from batch to batch. |
|
I have 2 pucks with the Teyleten boards and havent had any issues, but I am only a few feet away. Boards are plugged into my USB3 monitor hub, taped to the back of the monitor, and I sit anything from 2-6 feet away. |
|
This is what I came up with for a writeup. The ProMicro nRF52840 you can acquire from Amazon has, by some reports, a rather mediocre antenna. In order to combat this problem, a new antenna may be fashioned from a spare piece of copper wire. A quick Google search indicated the antenna should be 31.c mm in length (I misread and made a far longer antenna, though it doesn't seem to have hurt reception). I recommend the type used in breadboarding because it is stiff and will remain extended. The built in antenna is a small, red rectangle at the bottom of the board (the end opposite the USB C connector). With the board facing such that the USB C connector is at the top, the trace that connects the antenna will be on your right, I feel the wire should be preferentially be soldered to this side. The other end of the exposed wire that you use can be wrapped around and soldered to the other side for strength and support. If you feel comfortable I would recommend removing the existing antenna. This can be done by placing your soldering iron at the end of the antenna and gently pressing against it with some slight upward pressure, you can also use tweezers to pull it up. You can then apply heat the other side and gently wiggle the antenna until it comes off. The new antenna can then be soldered across both solder pads that were holding the old antenna in place. |
Purchased this exact same one as the original wasn't available. Soldered on an Cat 6 solid copper wire and this is before the mod and this is after. Haven't tested it in games yet but I'll report back tomorrow when I'm able to. Everything was tested in the exact same position and everything. Definitely seems like there is an issue with this specific board |
|
Yeah, definitely let us know! I, on the other hand, gave up on that board and bought a different one that more closely resembles the one linked in the readme. Unfortunately, while it performs better than the Teyleten board, it's still not perfect. It's just super inconsistent. I get less disconnects and dropped inputs, but they still happen. I've been monitoring the WebUSB page more closely now and usually I start getting issues once the signal strength goes above -60dBm. The issue is that it's not consistent. Same distance from the board, sometimes I can play hours on end and the signal strength shows around -50dBm. Other times it fluctuates and then I get issues. But sometimes I noticed that I'd be below -50dBm and the controller would still keep disconnecting! Either I have the worst luck ever with these boards or there's something else at play. I'd like to stay the 2.4GHz band isn't super congested in my area. It's not empty, but it's not super jammed packed either. I don't have any issues with other 2.4GHz devices such as my wireless mouse, my 8BitDo controller, or the Steam Controller with the official puck. |
|
In my experience, whist doing an antenna mod did significantly improve the signal strength - it didn't actually stop infrequent disconnects from happening, it might have delayed them somewhat but ultimately the difference between wire on and wire off was only a few db, and I wasn't really in an unacceptable range to begin with, even through walls. What ultimately ended up being a better solution in my case was changing the channel on which we are communicating - the default of an offset of 18 was probably the worst possible option available in my home (very very congested), switching it to a different channel cleared up things a lot - but obviously which channels are clearest will vary on a per user basis. |
This makes sense. Im still having disconnects after the mod. How do you change channels on the puck? |
|
I wasn't afraid to ask Gemini Pro for help on how to change the channel OpenPuck uses considering this project heavily uses LLMs in the first place. It might be wrong,
Both in the OpenPuck folder. I changed the first line to 80, If this is the issue, would it be possible to add the option to change channels in the WebUSB page? So people don't have to go into the code to manually change the channel if the default one isn't ideal for them. EDIT: Strikethroughed outdated/unnecessary info |
|
It's been a few days now I think changing the channel ultimately ended up fixing the issue. I haven't had any disconnects or dropped inputs since. And from what I've seen, the signal strength on the WebUSB stayed around the same, so even with some spikes to -70dBm, it's fine on a different channel. Curious to see if others have seem similar success by doing the same thing. |
|
Did a little digging with Claude on this. OpenPuck already has automatic channel-hopping built in (g_qos in rf_link.cpp). When a connected controller's link degrades, the firmware hops to the next candidate channel (18, 46, 76, 22, 68) automatically. The problem was it defaulted to off. I'm not sure is this was intentional or not. Maybe it created other issues. I've enabled it and I'm testing but if someone with regular disconnects can test that'd be cool as my dongle is pretty stable now. Fix: one-line change in OpenPuck/rf_link.cpp, flipping the default from g_qos = 0 to g_qos = 1. Then build and flash. |
|
To follow up, I got lots of regular disconnects when I enabled the qos setting. I guess it needs more work. But having some kind of automatic channel hopping is ideally how things should work imo, and how I believe the official puck works. Would love to see a manual channel selection in the web ui though if auto channel hopping can't be made to work. |
|
I just discovered signal issues on mine as well. I have 3 openpucks and they all have this signal issue, it found the original Puck to be as twice as better/strong when it comes to the range and through obstacles, even if the openpuck is bare naked (no 3d printed enclosures)... although it seems that the 3d printed enclosure doesnt significantly affect its signal. In my testing, how I reliably reproduced the issues on mine, when you use openpuck, for something like 6-10ft away, try to use your hands to cover the entirety of the front/forward (where the usb-c port lives), you'll notice the openpuck lose inputs immediately (inputs stops working), whereas testing the same situation on the OG Puck, it doesn't lose connection. i have to put TWO hands to cover the Steam Controller and then put it under my leg, in order to reproduce the same "inputs stops working" situation on the OG Puck. in my observation its also highly susceptible to how your steam controller is positioned, like a TV remote where if the steam controller's front is not angled straight to the receiver, the signal is weakened. Sometimes I play on the couch with my arms over my shoulders and the controllers positioned behind my head. In this unusual position, the Steam Controller connected through OpenPuck occasionally loses input, although it's a rare edge case. I also tried the openpuck inside my mini itx PC and the signal issue got worse where the inputs drop in like 2-3 feet away. I hope this is solvable via software/firmware. |

Uh oh!
There was an error while loading. Please reload this page.
I bought the Amazon listing posted in this repository and the device works fine, except there seems to low signal integrity and the controller kept dropping connection. Googling indicates this is a problem for the original puck as well. I was able to remove the tiny antenna from my nrf52840 and soldered a 31 cm solid core wire in it's place. It has significantly improved the range and reduced the interference from Wi-Fi, I no longer have dropped signal. This night actually make open puck a better option than the original in some instances.
All reactions