The JARVIS Pi project
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


If you are reading, it means I invited you to see my project, the JARVIS Pi. This account was specifically created to allow the people I choose to see the code and description of this project. I have chosen this approach because I feel that I must show this project to possible job recruiters or teachers, and therefore I ask you not to modify any of the code in this repository, and also not to share this information with anyone since it is a private project.

So what is the JARVIS Pi?

My goal is to create a virtual personal assistant which will be placed somewhere inside a house or office (in one or more rooms). The singularity of this system is that it will not require a keyboard, mouse or screen, since you will be able to interact with it using only your voice. Some of the features I would like to include would be:

  • Scheduling alarms and timers
  • Using a chronometer (start, stop and lap)
  • Weather forecast
  • Playing music
  • Opening or closing electrical blinds on windows
  • Toggling lights

I'm programming the software using Java on Eclipse for several reasons: I feel comfortable coding in Java quickly and correctly; the use of Design Patterns is made more simple by Java itself and the Eclipse features; Java simplifies interaction with microphones and speakers. I have also considered using C++, mainly because it is more efficient than Java in many aspects, but since I don't expect the final result to be a very "heavy" program, I think Java will do just fine.

Also, I intend to run the software on a Raspberry Pi, since it is a small and powerfull device with many features, such as internet acces, which is perfect if I go on to building a mobile app to interact with the JARVIS system via WiFi.

Please remember to keep this information private, and thank you for your cooperation. This is a very important project for me, so you must be somehow important to me since I gave you access to my biggest hobbie of all! Thank you!

##Current status Functionality already implemented:

  • Voice recognition and text synthesizer libraries integrated with custom classes, allowing easy voice recognition results analysis and user response with synthesizer
  • State Machine to make it possible to easily add new functionality
  • Telling the current weather condition and the following day's forecast
  • TextSystem to easily add new text messages (both from and to the user)

Libraries in use: