I know Lovense Lush uses a Nordic nRF51822 microcontroller, this doesn’t run a full OS normally. It runs ARM machine code directly, usually programmed in a C variant in something like Keil. They provide an SDK with an Arduino compatible platform, so it might even just run Arduino. No idea if someone analysed the software on those microcontrollers as it’s pretty niche and the code inside is probably super simple. The microcontroller is way overpowered for what it does, but it isn’t that overpowered that it could run a full Linux stack.
I remember watching a talk about sex toy hacking once, I’ll try to find it for your (and everyone else’s) pleasure. Think it was a Lovense in that talk
Unless the vibrator needs to be wireless that nrf is way overpowered and expensive. For mass production you want the cheapest, smallest, thing that will do the job.
Yes the Lovense Lush is the most popular wireless vibrator. It can be controlled over Bluetooth by an app or computer. It is used a lot in livestreams where viewers can donate to make the vibrator vibrate in a certain pattern and duration. There is a whole software ecosystem around these where the streaming platform handles the payments and integrates with the local software controlling the vibrator. I chose that vibrator specifically as an example, because it probably has one of the most powerful chips inside and the most functionality.
What you said is accurate but it implied systems with an OS don’t run machine code directly. They still do, just the CPU has ways of automatically interacting with the OS when it needs to (and those features are enabled), mostly via interrupt handlers. Things like address translation happens transparently, either via a lookup table for recently used addresses or the CPU will throw a TLB miss interrupt if it’s not ready to go and needs the OS to give it a mapping (or maybe even load the page from disk before it can proceed).
CPU architecture is pretty interesting and doesn’t require programs run through a translation layer like Java, Python, or JavaScript. The translation layers themselves are programs running as machine code at the user level.
Edit: I see now that you meant the directly as in the microcontroller runs the ARM uarch. I’ll leave this up in case anyone reads it like I did initially, but sorry for the misunderstanding on my end.
I know Lovense Lush uses a Nordic nRF51822 microcontroller, this doesn’t run a full OS normally. It runs ARM machine code directly, usually programmed in a C variant in something like Keil. They provide an SDK with an Arduino compatible platform, so it might even just run Arduino. No idea if someone analysed the software on those microcontrollers as it’s pretty niche and the code inside is probably super simple. The microcontroller is way overpowered for what it does, but it isn’t that overpowered that it could run a full Linux stack.
Are you like an open buttplug dev or somwthing?
https://buttplug.io/
Yes that’s what I meant
qDot is one
…I think I’ve found a new project for the weekend
Yes I think I saw the episode over Brody Robertsons Podcast tech over tea. It seems like a fun project to have
https://ossm.tech/
Thank you for this comment.
I really needed that laugh
Have a nice day :3 or something
You as well!
Working hard to bring PornHub and GitHub together!
Idk what that means butt have fun ig :3
I remember watching a talk about sex toy hacking once, I’ll try to find it for your (and everyone else’s) pleasure. Think it was a Lovense in that talk
smea - Adventures In Smart Buttplug Penetration testing - DEF CON 27 Conference
https://www.youtube.com/watch?v=RnxcPeemHSc
Been a while since I watched that, should probably rewatch it soon
Unless the vibrator needs to be wireless that nrf is way overpowered and expensive. For mass production you want the cheapest, smallest, thing that will do the job.
Yes the Lovense Lush is the most popular wireless vibrator. It can be controlled over Bluetooth by an app or computer. It is used a lot in livestreams where viewers can donate to make the vibrator vibrate in a certain pattern and duration. There is a whole software ecosystem around these where the streaming platform handles the payments and integrates with the local software controlling the vibrator. I chose that vibrator specifically as an example, because it probably has one of the most powerful chips inside and the most functionality.
What you said is accurate but it implied systems with an OS don’t run machine code directly. They still do, just the CPU has ways of automatically interacting with the OS when it needs to (and those features are enabled), mostly via interrupt handlers. Things like address translation happens transparently, either via a lookup table for recently used addresses or the CPU will throw a TLB miss interrupt if it’s not ready to go and needs the OS to give it a mapping (or maybe even load the page from disk before it can proceed).
CPU architecture is pretty interesting and doesn’t require programs run through a translation layer like Java, Python, or JavaScript. The translation layers themselves are programs running as machine code at the user level.
Edit: I see now that you meant the directly as in the microcontroller runs the ARM uarch. I’ll leave this up in case anyone reads it like I did initially, but sorry for the misunderstanding on my end.