Skip to content

A USB device that updates your screen orientation programmatically

License

Notifications You must be signed in to change notification settings

royalmo/gyroscreen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gyroscreen

icon

A USB device that updates your screen orientation programmatically

Why?

This project is the final product of my Bachelor's Thesis. I wanted to make a project that involved a little bit of everything (hardware, firmware, and native applications that needed to be installed and interact with the kernel). It is a very simple project but very complete.

Images

They say things are more appealing with images, so here you have some! More of them in the hardware directory.

PCB Top PCB Bottom 3D Case
top bottom 3d_unmounted

How?

Very simple:

  • Get a gyroscreen board or create your own equivalent board.
  • Stick it on the back of your screen.
  • Plug it into the computer.
  • Install the drivers and configure gyroscreen.conf to indicate which screen and device are linked.
  • When you rotate that screen, the device detects the new orientation and will automatically update the OS' configuration of that screen!

And that's not all!

  • It even works with multiple devices and screens.
  • It uses standards, so any 3d accelerometer should be compatible, and any gyroscreen device could be used for any other general purpose.
  • It (will) work on all major Operating Systems.
  • It's easy installable.
  • And most importantly: it's open source hardware and software!

Getting started

The best way to get started is to look through the README.md of each directory. It's divided this way so everything is easier to find.

Note that you may not need to follow the instructions of all directories to make it work, you might be able to skip or ignore some parts of the project.

Limitations

I wish I had the time (and motivation) to create a GUI to configure gyroscreen.conf, and thus making easier the installation process. However it's just not worth the effort, right now.

I also wish to port the drivers to Windows and MacOS at some point in the near future, stay tuned for that!

License and contributing

Due to V-USB's license requirements, this project is licensed under GPLv3+. Check the LICENSE file for more information. Contact me if you wish to negotiate another license.

Contributions are more than welcome, always with respect. Feel free to open issues or pull requests!

I uploaded the project to OSHWA (oshwa.org) for a certification. The certification UID is ES000045.

image