
Inspiration
There are millions of books out there which are not digitized yet, and therefore not accessible to many people. We wanted to create a low-cost device to scan books automatically to help tackle this challenge.
Here is an awesome project pursuing a similar goal, Linear Book Scanner by Dany Qumsiyeh: https://www.youtube.com/watch?v=4JuoOaL11bw
Our mechanism was inspired by this video from Vastal Jain on YouTube: https://www.youtube.com/watch?v=cT0pmYmCHKA
Problems with existing digitization methods
1. Destructive scanning
The easiest way to automatically scan a book is by cutting off the book's spine and running it through a sheet-fed scanner. But this destroys the physical copy, so nobody can read it anymore. This limits the utility of this option.

2. Semi-automatic scanners There are several semi-automatic book scanners out there, but that need a human to turn pages. This means still that it takes a lot of human volunteer work to scan: https://www.youtube.com/watch?v=QThaHpkFVzw
3. Expensive fully-automatic scanners Most of the completely automatic (i.e. page-turning) book scanning options are really expensive! One example is the Treventus ScanRobot, which costs over $10,000: https://www.youtube.com/watch?v=SdipuAuWsEs
What it does
There is a digital camera mounted above the book holder, so that it can take a photo from above of a two-page spread. After a photo is taken, a retractable wheel with a grippy "tire" will come down on the page to be flipped, and it will curl up the page so that there is a gap underneath it.
Next, a piece will rotate into the gap below the upcoming page, flipping it over. Cue another photo!
How we built it
We used a combination of 3D printed parts and an Arduino-controlled electronics system. We designed the CAD parts in SolidWorks, in multiple iterations. The wheel has soft, flexible yellow TPU plastic for the tire.
The Arduino has a L293D Motor Driver Shield, which supports up to 2 servos, and 2 steppers or 4 DC motors. We are using one servo to lift the wheel up or down on the page, one DC motor to rotate the wheel once it is on the page, and one stepper motor for the hand which finally flips the page.
Challenges we ran into
Mechanical problems, electronics problems, coding problems! One of the big mechanical problems is making sure the "tire" will curl up just one page, and not be either too loose to not friction the page, or too heavily pressed to curl too many pages.
An electronics problem was getting our stepper motor working. We ran into an issue where the stepper motor would go forward a couple steps, and then reverse direction. It turned out that we had wired the windings incorrectly, but it took a lot of trial to isolate the problem.
Another problem we had was power consumption! The stepper was really weak being driven from just the Arduino alone (not enough torque). However, as soon as we connected the external power supply, it would instantly overcurrent at its 0.5 amp and 1 amp protection levels.
Accomplishments that we're proud of
We are really proud of what we managed to create! On the mechanical side, the wheel/tire is pretty cool. Getting three motors working from one Arduino alone was impressive. We were proud of figuring out the solution of lowering the voltage on the external power supply to prevent the motor from drawing too much current.
What we learned
What's next for Automatic Book Scanner
We need to implement a button-pusher on the camera. We ran out of time for this, but it should be doable!
We also would like more torque on our stepper motor, but our motor shield is limited to 0.6 Amps, which, while driving three motors, is not so good.
We can definitely improve the page turning sequence, because there are some problems with it.
We also want to create some kind of more friendly control interface, with buttons and a screen.
Log in or sign up for Devpost to join the conversation.