A Scanner For Arduino-Powered Book Archiving

The underside of the scanner is shown. Four power supply units are visible on the lower side, and assorted electronics are visible on the top side. In the middle, two linear tracks adapted from a 3D printer run along the length of the scanner, and several motors can be seen mounted between the rails.

Scanners for loose papers have become so commonplace that almost every printer includes one, but book scanners have remained frustratingly rare for non-librarians and archivists. [Brad Mattson] had some books to scan, but couldn’t find an affordable scanner that met his needs, so he took the obvious hacker solution and built his own.

The scanning process starts when a conveyor belt removes a book from a stack and drops it onto the scanner’s bed. Prods mounted on a rail beneath the bed straighten the book and move it into position for the overhead camera to take a picture of the cover. Next, an arm with a pneumatic gripper opens the cover, and a metal bar comes down to hold it in place.

The page-turning mechanism uses two fans: one fan blows from the side of the book to ruffle the pages and separate them, while the other is mounted on a swiveling arm. This fan blows away from the page, providing a gentle suction that holds the page to the arm as it turns the page over. Finally, a glass plate descends over the book to hold the pages flat, the camera takes a picture, the glass plate retracts, and the scanner moves on to the next page.

It is hard to imagine, but have a look at the video in the post if you really want to see it in action.

All of the hardware, except for the camera, is controlled by an Arduino Giga using a CNC shield; the camera is directly under the control of a host computer. The host computer checks each photo to make sure it’s not scanning a previously-scanned page, and if it finds that it’s scanned the same page three times in a row, it assumes that the book is finished. In this case, it instructs the Arduino to close the book, takes a picture of the back cover, and moves on to the next book. The design and software for the scanner don’t seem to be available yet, but [Brad] plans to give a more detailed video sometime in the future.

We’ve seen a couple of book scanners here in the past. Some, of course, are more useful than others.

Thanks to [Stu Smith] for the tip!

4 thoughts on “A Scanner For Arduino-Powered Book Archiving

  1. Quite impressive and nicely executed project. There is only one thing I’m having some doubts about. Most of the “newer generations” of scanners put the book into a V-shape and then make pictures of each page separately. This is to greatly reduce the bending of the pages near the binding. Many books can’t be laid down flat enough to make a picture of two adjacent pages in one go without significant distortions.

  2. The OP says they use some python code to read the page numbers to check for missing pages as well. wonderfully done. I will keep an eye out for if they ever decide to release the code.

  3. My wife works in a rare book library and they do exactly what Paulvdh says, they use V-shaped cradles to hold the books or other documents in a more natural or less stressful orientation and scan with two cameras, one for each facing page.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.