Skip to content

A bluetooth controller for Otto DIY robots that can be used from web to easily control your Otto.

License

Notifications You must be signed in to change notification settings

OttoDIY/OttoWebAppControl

Repository files navigation

Otto Web App Control

This project is a web app that allows you to control Otto DIY robots from a browser using Bluetooth connection. The application use the p5js library to communicate with an Arduino board (connected to a BLE module) and Sweetalert2 to make better popup boxes.

Installation

You can use the app online visiting: https://ottodiy.github.io/OttoWebAppControl/

To use the app offline, install the project following these steps:

  1. Clone the repository to your computer using the command: git clone https://github.com/OttoDIY/OttoWebAppControl.git

  2. Install the dependencies by running npm install in the project folder.

  3. And that's it! Open the index.html file with Google Chrome (Computers & Android) or Bluefy (iOS) to start using the app.

Usage

To use the application, follow these steps:

  1. Upload the code to your robot depending which model you are using. Otto Starter, Otto Wheels, Otto Ninja Starter.

Note: Make sure that the connections of the robots (legs, feet, bluetooth, etc) are wired as specified in the code.

  1. Turn on your robot and make sure it is in pairing mode (the LED in the Bluetooth module should be blinking).

  2. Open the application in your browser.

  3. Select the robot from the list in the robot selector bar.

  4. Click on Connect button and select your robot from the list of available Bluetooth devices that will appear.

  5. Once connected, you can control the robot using the controls on the screen or the keyboard shortcuts.

Features

  • Compatibility: with all Otto DIY robots but other biped and vehicle robots based on Arduino could be connected too

  • Movement control: forward, backward, turn left and turn right

  • Gestures: with Otto Starter you can execute some gestures like Happy, Sad, Angry, etc

  • Functions: avoidance (biped & wheels) and line follower (only wheels) functions are available

  • Sensor value display: depending on the robot you are using you will be able to view the values of some sensors like ultrasound and infrared

Contributions

This project is open source and we welcome contributions. If you would like to help improve the project, please follow this process:

  1. Clone or fork the repository

  2. Create a branch for your feature (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create a new pull request

If you are looking for something specific you could help, check the issues section.

If working with the app styles, we are currently implementing PostCSS, so consider:

  • When you are developing, you can run npm run css:watch to compile while you are working

  • For compiling styles run npm run css:build when your code is ready for deploy

License

GNU General Public License v3.0

Read it here

System Requirements

  • Browser compatible with Web Bluetooth API. Currently we strongly recommend Google Chrome for Computers (including Macbook) and Android devices, and Bluefy for iOS devices (iPhones and iPad).

Known issues

Currently, Google Chrome is the only browser giving a good user experience for this app, except on iOS devices. For iOS devices (iPhones and iPad) we have confirmed that Bluefy work good. In case you are having issues using this app with another browser, we strongly recommend to try it with Chrome and/or Bluefy to confirm if it is a general issue or something with the browser.

Credits

Thanks to all these great people and open projects, it has been possible to make this software:

Screenshots

Easy to connect!

enter image description here

Light/Dark mode available!

enter image description here

Now Otto Wheels can be controlled using a joystick!

enter image description here

Additional links