Smart Whiteboard Marker for Next Generation Classrooms

  • Home
  • Team
  • Project
  • Phases
    • Problem Definition & Research
    • Concept Generation & Proposal
    • Detailed Design & Subsystem Test
    • Integration & Test
  • Final Product

Activites

Meeting with the Techincal Advisor

The team chose Prof. Julie Heynssens as both the technical advisor and the client. The team invited her to all presentations and look to her for guidance on technical problems

Purchasing and Integrating Components

The team purchased components that were based on the requirements of the project in December, 2016 and started soldering and testing each component on its own before Integrating them together for further sub-testings. Those components were:

    Adafruit 9-DOF Absolute Orientation IMU - BNO055, a gyroscope that is compatible with the software requirements like the Arduino.

    Two bluetooth 4.0 sensors were purchased. One will be on the marker and the other bluetooth sensor will be attached on the hub to receive data and orientation of the gyroscope that is attached on the marker.

    Two pairs of Panasonic CR2032 Lithium 3 Volt batteries were purchased to power up the bluetooth sensor on the whiteboard marker.

    A used optical mouse is found to give precise orientation of the whiteboard marker in a 2D plane, and in conjunction with the gyroscope, it will give more accurate data of the current position of the whiteboard marker.

    An Arduino Uno was provided by one of the team members in order to program the software through it using Javascript commands instead of the Arduino’s.

Building the Software

The team used Electron as the main software to program through, and multiple libraries were used such as Fabric and Johnny-Five, along with Browserify framework in order to add additional libraries under one setting to program more freely and have more options that will make the software easy to use.

Milestones

Status Report Presentation

    Due: March 7, 2017
    Included the progress and changes the team made to the prototype

Client Status Report

    Due: March 10, 2017
    Written report detaling all progress and changes made to the prototype

Prototype

    Due: April 1, 2017
    A complete prototype with all components working

Print Cases

    Due: April 7, 2017
    3D printed cases for the Arduino and a separate one for the marker

Tools

Hardware

    Arduio Uno: Arduino Uno was used to establish the main hub to house the other components for the project. It serves as the center nerve of receiving data and sending data in conjunction with the gyroscope and the optical mouse through the bluetooth sensors.

    Soldering Gun (Room 236): The soldering gun that is provided in the Engineering building was used to solder the components such as Bluetooth sensors, and gyroscope pins on the breadboard.

    Multimeter: A Multimeter was used to test the connectivity of the circuits on the breadboard and to see if there are voltages passing through the pins of the components.

    Cline Library 3D Services: The services of Cline Library 3D printing were used after finalizing the SolidWorks design provided by one of the team members in order for them to print the final case design for the project. The final cost was $30.18.

Software

    SolidWorks: SolidWorks is a software for mechanical engineers that is required for the students to learn the software in order to design physical shapes such as gears and rotary shapes. It was used to design the main house for the electrical components by one of the team members.

    Arduino Software: The Arduino software was used and modified to program the software part using Javascript language instead of C language of the Arduino’s. In that matter, it will help facilitate the program that is run by the Electron app since both will be programmed using JavaScript.

    Electron App: Electron was used as the main application to program the writing/erasing part of the whiteboard marker software, it will be the main software function after the Arduino software.

    Fabric and Johnny-Five: Both of these libraries were used for additional commands in order to program with ease on the Electron App.

    Browserify: This framework is used to include more than one library, such as combining Fabric and Johnny-five together in Electron in order to use multiple libraries since Electron only allows for one library.

Design Work

Expanded frameworks for Electron to include browserify

    Browserify is a javascript framework that combines multiple libraries like Johnny-Five and Fabric into one library for the requirements of Electron

Added an optical mouse to track displacement on a 2D plane

    The optical mouse reacted better to the surface of the whiteboard during testing

Decided to only use Arduino

    We decided that the Raspberry Pi was no longer needed

Changed the 3D Hub design to a “T” shape to display the components better to help with wiring

    Ali had the design idea to take off the sides of the box and have a stand with a plane in the middle to attach the components.

Design Decisions

Need to compile all libraries in the Electron App

    A decision was made to include a certain framework that will allow more than one library to be used in Electron.

Optical Mouse versus Laser mouse

    An optical mouse was chosen over a laser mouse since it works on rough surfaces or smooth surfaces alike without staggering or being disrupted to collect accurate data.

Arduino alone versus Arduino and Raspberry Pi

    The team decided to work only on Arduino Uno, unless additional memory and configuration is required.

Having trouble getting wires into the original hub design

    The team sought to have trouble wiring with a closed hub when electrical components are attached, which calls for a different design to be created.

Need to change the Hub design to a more open configuration

    The team decided to change the 3D printing hub design into a more open design that can display the components clearly and so it can help with wiring them more easily.

Testing

ADA Fruit Gyroscope (Raw data test)

    Not successful

ADA Fruit Gyroscope (Raw data test 2)

    Successful

ADA Fruit Gyroscope (Interface testing using an object to display sensitivity)

    Successful

Bluetooth 4.0 testing using a smartphone

    Successful

Build an Electron app with Hello World program

    Successful

Integrate Fabric.js library with the Electron app to display a free-hands drawing board

    Successful

Integrate Johnny-Five.js library with the Electron app to communicate the Arduino via javascript and through Electron (not Arduino IDE)

    Successful

Integrate Fabric.js and Johnny-Five.js in the Electron app without any complications

    Not successful

Optical mouse sensor testing on a whiteboard marker

    Successful

3D printing hub using SolidWorks

    Successful

Challenges

Running Additional libraries via Electron App

    Running more than one library through Electron app has become the main challenge for the team. The team is currently working on using a 3rd party framework called Browserfy, which allows more than one library to be used through Electron app. However, the team is currently having issues getting Browserfy to comply with Electron, and remains as the current technical issue and an obstacle towards the project

Using SolidWorks Software

    Since all of the team members are electrical engineering majors, none of them had the capability of using SolidWorks. One of the team members of this project volunteered to learn how to use the software by having assistance from two mechanical engineering students in order to learn the basics of sketching and creating linear patterns on the design, and finally, a design was successfully made.

3D printing request via Cline Library

    A request was placed ahead of time before the 1st presentation in order to display the team’s progress by showing the 3D print with the electrical components attached to it. However, that did not take place due to the complicated process of putting in a request with Cline Library. The product took about 1 month to be finalized. Two weeks were taken due to the long queue time using the big printer to print the 3D design, as people were waiting in line since the small 3D printers cannot accommodate our request.

Testing the gyroscope using 3D object display

    The team wanted to see how fast of response does the gyroscope provide and in order to do that, a 3D display object was needed for the test and in order to do that, an additional software was needed to be incorporated with the Arduino software, and the process of doing that was rather tedious and time consuming. However, the team was able to establish the 3D display and checked that the gyroscope is running at an excellent speed.

Establish a LINUX computer via CEFNS

    A request was put forward through Dr. Scott and one of the team members by contacting the IT help desk. An e-mail was sent to them and a response came back from the IT help desk asking to choose a computer number for the team to set up, however, when the computer number was provided, there weren’t any replies received from the IT help desk which hinders our meeting times, and the issue remains the same.

Date Modified: Wed, April 05, 2017