Introduction: Micro-adjustable Document (non) - Camera for "under-resourced" Classrooms

Hello friends and fellow educators,

My name is Aamir Fidai and I am a Mathematics teacher. Two things to make clear before we go any further, I am not an engineer and this is simply a prototype of an attempt at providing teacher in under-resourced classrooms with an equitable technology solution. There are a whole list of improvements that can be made to this design and time permitting I will share updates with you as they become available.

What is this prototype?

This micro-adjustable document (non)-camera is a simple device that Math/Science/Physics teachers or the sponsors of STEM or Math club may want to build with their students to expose them to the engineering design process while solving a real-life problem of lack of technological resources in the classroom. This project makes use of Arduino Uno R3, L288N H-Bridge Motor driver, and a NEMA 17 stepper motor along with other components.

Classroom benefits of this device

This document non-camera has two phone holder position to accommodate different size document needs. My goal with this prototype is to provide teachers in under-resourced classroom with ability to do the following:

1. Use their own cell phone as a document camera to show notes and other material on projector (or Tv screen) using common video messaging software such as Skype.

2. Allow students to share their work from their desk with ease.

3. Record lesson videos for students.

4. Use cell phones as document scanners without running into vibration issue.

5. Increase student engagement and participation by making classroom an interactive place.

Power Requirements:

The document (non)- camera is battery operated and can be operated using 5 AA batteries or a 9v battery. Alternatively it can also be operated using 2-18650 batteries. I made my battery pack by sourcing two 18650 batteries out of a 24V power tool battery pack, but that is a whole another story.

My Objective:

I hope that this device helps you see that it is possible to employ low cost technology solutions to make classrooms more engaging and interactive. Also, it is my hope that the sponsors of STEM, Math, and Science clubs see that simple projects such as these can be used to engage students in engineering design activities. This project and other projects like this an be used within the framework of STEM Project-based learning (STEM PBL) to encourage scientific and engineering thinking.

My Promise as an Educator:

"I may fail while I try, But I will never fail at trying."

Step 1: Materials and Components

1 X Foam board from Dollar tree. $1.00

1 X 9v battery pack from Dollar tree. $1.00

2 X cell phone holders from Dollar tree $2.00

1 X Solid metal rod from Lowe's. $3.28

1 X Paint mixing stick from Home Depot. $0.98

1 X Arduino Uno R3 from $22.00

1 X L298N Motor driver from Amazon. $6.99

1 X NEMA 17 Stepper Motor from Amazon. $13.99

1 X 400mm Lead screw from Amazon $10.59

1 X Flexible 5mm to 8mm coupling from Amazon $6.59

You will also need the following:

  • Lots of jumper cables to attach the electrical components
  • Appropriate size nuts and bolts to attach the trapezoidal nut to the wooden arm
  • A drill machine
  • A volt meter
  • Lots of patience and
  • A loving caring wife who will hold the pieces in place while you try and glue them. Also she will want to take pictures to share on Facebook
  • Optional: A 7 year old daughter or son to help you test the device

I am sure I forgot to mention some part so please remind me in the comments.

Step 2: Prepare Base Using the Template

1. Cut foam board into 7.5" X 5" Pieces. You will need 4 of these pieces.

2. Glue two of the pieces together using hot glue.

3. Cut the template at the dotted lines and glue to one of the 7.5" X 5" pieces using regular glue.

4. Use the template to cut hole for the stepper motor.

5. Use the template to cut hole for the support rod.


Attach another piece of 7.5" X 5" piece at the bottom of the two glued up pieces.

Step 3: Prepare the Arm for Cell Phone Holder

Attach Trapezoidal Nut
  • I used a paint mixing paddle from Homedepot (Paint Mixing Paddle) as an arm. You can use a long piece of wood that is between 18" and 24" long as an arm.
  • Using the template determine the ideal place to attach the Trapezoidal nut to the arm.
  • Drill through the hole in the trapezoidal nut and attach the nut to the arm as shown in the pictures.

Drill hole for the support rod

  • Using the template drill hole for the support rod

Step 4: Connect Electronic Components

Step 5: Attach Electrical Components

Attach Electronic components

  • Using the template drill holes on the base and then attach the Arduino, L298N and bread board on the base.
  • Attach 2.5" X 5" legs to the bottom of the base as shown. (The picture shows the length to be 3", please ignore and use 5")

Step 6: Upload Arduino Sketch

#include <Stepper.h>
const int stepsPerRevolution = 200;  //Steps per revolutions
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
// Arduino pin numbers for the buttons:
const int buttonPin2 = 2;     // the number of the pushbutton pin
const int buttonPin3 = 3;     // the number of the pushbutton pin
// State of buttons:
int buttonState2 = 0;         // variable for reading the pushbutton for down status
int buttonState3 = 0;         // variable for reading the pushbutton for up status
void setup() {
  // set the speed at 150 rpm:
  // initialize the serial port:
  // initialize the pushbutton pins as an input:
  pinMode(buttonPin2, INPUT);
  pinMode(buttonPin3, INPUT);
void loop() {
  // read the state of the pushbutton value:
  buttonState2 = digitalRead(buttonPin2);
  buttonState3 = digitalRead(buttonPin3);
  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState2 == HIGH) {
    //Turn the motor 100 steps forward if button 1 is pressed
    if (buttonState3 == HIGH) {
    //Turn the motor 100 steps reverse if button 1 is pressed

Step 7: Test the Device

Attach arm and then test the device to make sure that the arm moves freely. To see how the arm is attached to the device, watch the accompanying video. Make sure to hold the lead screw and the support rod straight.

Step 8: Attach Cell Phone Holders to the Arm

  • Remove the bottom part of the cell phone holder bracket
  • Attach the first holder at about 7 inches from the end of the side wall
  • Attach the second holder close to the end of the arm

IMPORTANT: Make sure that the holder still rotates after putting the screw in through the arm. Use washers of nuts to create space if needed.

Step 9: Build the Enclosure

Build the side walls

  • Cut two pieces of foam board.
    1. 7.5" X 20"
    2. 5" X 20"

Attach the two pieces to the base as shown in the pictures using hot glue.

Build the top support

Using the template cut a piece of foam board for the top support. Identify the two holes for the lead screw and the support shaft. Cut holes using utility knife. Place the top support on the walls while running the lead screw and support rod through. The structure should feel rigid and strong.

Step 10: Finished Product

Microcontroller Contest

Participated in the
Microcontroller Contest