Under the Hood

A project log for Torrus - One VR Controller to rule them all

Torrus adds interaction to your VR experiences. It contains a trackpad and a 9DOF IMU. Easily create extensions for Torrus !

Jules ThuillierJules Thuillier 09/13/2017 at 00:360 Comments

Let's go through the main components of Torrus

First the brain, an nRF52832 bluetooth 4 (and BLE 5 enabled) chip with a ARM Cortex M4. It can run quite some badass algorithms, supports encryption, has NFC, and on top of that is pretty famous in the Bluetooth community. It is programmed in C and requires Nordic SDK, but we will see later how to use it with Arduino to make everyone happy ! One last thing I like about the chip is that you can update it's software using your smartphone, they call it DFU OTA (Device firmware upgrade over the air).
Then I was wondering : should we use buttons, a joystick ? I wanted it to be versatile, and to fit everywhere (small form factor). And this is how I ended up using the TM035035 Trackpad from Cirque. It's a circular trackpad of 35mm diameter with a very good precision. And the people a Cirque's are very cool and helpful, it is always good to have people you can ask questions too ;)

Finally we need an IMU (Inertial Motion Unit) sensor. I have chosen the famous MPU9250. It's a 9DOF IMU, I2C or SPI, with a processing unit (though we are not going to use it). There are plenty of Arduino library for that sensor, but only one that's really great : FreeIMU.

We will talk about interfacing those sensors later.

At last but not least, the charging connector is an USB-C. It also allow to access the nRF52832 I2C and Serial for programming.

More informations coming soon ;)