Homebrew Question On the switch's vibration

  • Thread starter Thread starter EIREXE
  • Start date Start date
  • Views Views 3,445
  • Replies Replies 10

EIREXE

Well-Known Member
Newcomer
Joined
Oct 13, 2015
Messages
71
Reaction score
38
Trophies
0
Age
27
XP
256
Country
Spain
Hello, I'm trying to test the vibration system on the console, and from the examples for libnx, there would appear to be both a low and a high frequency motor, just like in the xbox 360 controller.

However, it would appear from my own testing using the demo example (https://github.com/switchbrew/switch-examples/blob/master/hid/vibration/source/main.c) that cranking up the low frequency motor makes the motors on both joycons run, and from ifixit's teardown (https://www.ifixit.com/Teardown/Nintendo+Switch+Teardown/78263) there is only one motor per joycon, so how is this achieved? are the control electronics simply emulating two motors?
 
Hello, I'm trying to test the vibration system on the console, and from the examples for libnx, there would appear to be both a low and a high frequency motor, just like in the xbox 360 controller.

However, it would appear from my own testing using the demo example (https://github.com/switchbrew/switch-examples/blob/master/hid/vibration/source/main.c) that cranking up the low frequency motor makes the motors on both joycons run, and from ifixit's teardown (https://www.ifixit.com/Teardown/Nintendo+Switch+Teardown/78263) there is only one motor per joycon, so how is this achieved? are the control electronics simply emulating two motors?

Emulation may not be the right word for what it's doing, but it's something like that. The motors don't function like previous rumble motors. There are various articles that describe these as being treated more like speakers than motors. Something like feeding the game sound, or something based on that sound, into the motors instead of just supplying arbitrary DC voltages... Similar to AC motors. I guess the motors can change speed quickly and finely enough to make distinct low and high speed vibrations seemingly simultaneously.
 
Emulation may not be the right word for what it's doing, but it's something like that. The motors don't function like previous rumble motors. There are various articles that describe these as being treated more like speakers than motors. Something like feeding the game sound, or something based on that sound, into the motors instead of just supplying arbitrary DC voltages... Similar to AC motors. I guess the motors can change speed quickly and finely enough to make distinct low and high speed vibrations seemingly simultaneously.
Ah so they could be playing back both waves at the same time intermittently? do you have any link to those articles?
 
Have you heard of HD rumble? The Switch, like a post 2017 iPhone, uses linear actuators that can reach peak output in one vibration cycle. Such a system can be controlled to a highly fine level and emulate different touch senses. On the iPhone and MacBook and touchpad etc the actuator can emulate the sensation of a microswitch click. So there is no high and low frequency motor like in a traditional controller, as there is no rotary motor at all.
 
  • Like
Reactions: mattyxarope
Actuators are more or less modified speakers. You feed them amplitude with a level of precision closer to a sound wave. It's handled the same way as audio, your system mixes multiple waves into a single waveform before transmitting it to the speaker, which is usually tuned more towards vibrating the case than making something too audible. Linux is probably doing something at some point to translate traditional rumble inputs into some waveform for the actuators.
 
Dont put your switch in your butt please
Well I was investigating for a reason similar to that, but worry not, you aren't mean to put it in your butt.

--------------------- MERGED ---------------------------

Have you heard of HD rumble? The Switch, like a post 2017 iPhone, uses linear actuators that can reach peak output in one vibration cycle. Such a system can be controlled to a highly fine level and emulate different touch senses. On the iPhone and MacBook and touchpad etc the actuator can emulate the sensation of a microswitch click. So there is no high and low frequency motor like in a traditional controller, as there is no rotary motor at all.

That's interesting, thanks for the info.

Is it libnx emulating a traditional vibration system then? or does the official API also emulate a traditional vibration mechanism?

Actuators are more or less modified speakers. You feed them amplitude with a level of precision closer to a sound wave. It's handled the same way as audio, your system mixes multiple waves into a single waveform before transmitting it to the speaker, which is usually tuned more towards vibrating the case than making something too audible. Linux is probably doing something at some point to translate traditional rumble inputs into some waveform for the actuators.

Thanks for the info, it isn't linux however, this is using libnx.
 
  • Like
Reactions: Deleted User
Well I was investigating for a reason similar to that, but worry not, you aren't mean to put it in your butt.

--------------------- MERGED ---------------------------



That's interesting, thanks for the info.

Is it libnx emulating a traditional vibration system then? or does the official API also emulate a traditional vibration mechanism?



Thanks for the info, it isn't linux however, this is using libnx.

As long as it's for a chick thumbs up
 
Well I was investigating for a reason similar to that, but worry not, you aren't mean to put it in your butt.
Well, I mean, doing it with a joy-con does put you at a lower risk of being exposed. So win-win either way.

But hey, science! Anything for the sake of science, right?


(God I feel so disgusted at myself for this)
 
Last edited by Matchitza,
  • Like
Reactions: Deleted User

Site & Scene News

Popular threads in this forum