Audiobooks for little libraries

Similar projects worth following
Storyphone is an add-on for Little Open Libraries that let's pre-readers join in the fun. Usage is simple, sit down, pick up the receiver, listen to a story.

The inspiration comes from an actual service provided back in the 1980's by one of our local libraries. You could dial-up the library and listen to a new story recorded by the staff each week. We thought it would be cool to add something like this to our library.

We're trying to keep the design simple but durable, something that anyone could add to their library. In addition to the playback interface, we're planning a simple web UI to manage recordings.

Been keeping track of this project on Github, but going to give it a go here.

So far progress is swift, the basic hardware has been selected and playback is working well. A workable hook design is in place and I'm hoping to spend some time on the management UI next.

  • 1 × Payphone Reciever New-old-stock part,. Durable, sutable for outdoor use and surprisingly inexpensive
  • 1 × Raspberry Pi Model B I'm using an old version, but any with analog audio out should work
  • 1 × Cherry D45X microswitch Any momentary will do, but this one fits in the current printed hook design
  • 1 × 10k resistor
  • 1 × Custom 3D printed handset hook Current design can be found here:

  • Revival

    jason.gullickson07/04/2017 at 11:33 0 comments

    Jamie & I have been talking about reviving this project, and it looks like there's a few more people interested in it now so this might be a good time to kick-off another iteration.

    The hang-up of previous designs has been the hook. It's been tough to design something that is both simple enough to work and durable enough for outdoor use. If you look at payphone designs, the hook switch is connected to a lever which goes through the face of the cabinet. I wanted to avoid this to support a flush-mount capability, but I'm learning why the original design was chosen.

    So, the next iteration will be more like a traditional payphone hook, and will be designed around an all-in-one cabinet housing the hook switch internally (as well as the electronics).

  • Hook iterations

    jason.gullickson01/04/2016 at 15:36 0 comments

    I tried to improve the hook by encasing the microswitch but it worked better on-screen than IRL. Avoid using the current Tinkercad model as it is non-functional (the STL for the previous working version is available in the repository).

    I'm considering going back to OpenSCAD to design the hook as I struggle a bit with getting the precision I want out of Tinkercad. Stuff like centering one shape against another seems more difficult to me when you're dragging stuff around vs. doing it in code, but then again I'm a programmer.

    I also came to the conclusion that I'm going to design a printable box for the electronics as well. I looked for an off-the-shelf solution that met my needs and didn't find one. There's several options that will work, but for my specific application I have some size and shape requirements and the boxes I could find locally won't cut it. That's OK, because it's fun to design stuff.

  • Leverage

    jason.gullickson12/19/2015 at 16:50 0 comments

    Trying to add a lever to the hook for a couple reasons.

    The first is that using the switch's built-in one is a bit twitchy.

    The second is that I don't like having the unprotected switch exposed, including the electrical connections. It's not really a safety thing, but if it's every used outside, they'll probably corrode, etc.

    The third is that it just looks better :)

    I'm not sure how it's going to turn out, but that's the fun of rapid prototyping. You can try something that you think *might* work, run off some parts and see first-hand what you did wrong. For me this is a huge help because it's easier to understand how things fit together with my hands than on-screen, but it would be impractical to do it this way if I was spending hours hand-fabricating parts.

  • Catch-up

    jason.gullickson12/18/2015 at 14:33 0 comments

    So far we have a working playback system and a functional hook switch mounted to a plastic box I've used a million times. You pick up in the receiver, the audio starts to play, you hang it up, it stops.

    The plan is to mount this hook on the side of our library and anchor the cable to one of the steel posts. Nice thing about the payphone receiver is that it's very tough, and the cable has a braided steel anchor so I'm fairly confident that it will remain connected and intact even under moderate abuse.

    The hook is less durable, but that's part of why I wanted to go with a printed part. If it gets broken, or succumbs to the elements, we can just print a new one. I considered using a commercial payphone part for the hook as well, but I didn't know that they were available when we started the project, and they are a bit pricey. Also the ones I've seen would require more substantial modifications to the library (vs. just screwing the hook to the side) so for our application the custom design is better. That said you could save a lot of time with an off-the-shelf hook, and it would probably withstand more abuse, and if you don't have access to a 3D printer, that's probably the way to go.

    There's a couple of possible directions to go from here. We need to come up with a means of mounting and protecting the electronics when the system is attached to the library. The current box won't do for several reasons, but I'm not sure if we want to go with an off-the-shelf box or something custom. Custom gives us the most flexibility (and is more fun) but it's probably easier to get the durability and weather-resistance needed with an off-the-shelf part.

    The other area to explore is the "management" interface. Right now the software plays a hard-coded audio file included in the sourcecode repository when the handset is picked up. This works, but it would be cooler to have a way to easily change the file, or potentially upload several different audio files. What I'm thinking right now is having a simple web interface to list and upload files, and organize them so that one is designated as the "greeting" that will be played before every track, and then a directory containing the actual story recordings which will be cycled through each time the handset is picked up.

    The barrier with this for me is that I haven't done much webserver development in Python, and I'd prefer to stick with Python since it ships with Raspbian and performs well on the hardware. I plan to write most of the interface as an HTML5 application, but I'll need a couple of API endpoints served from the device to interact with the filesystem, etc.

    The obvious thing to do is to expose this interface via our regular WiFi network, but I'm considering configuring the Raspberry Pi as an access point instead. This would allow the library to function stand-alone, and would let Storyphone work and be managed even on libraries that don't have nearby Internet access. This opens the door for providing other library services via this "hotspot" like Ebooks, etc.; not unlike a Piratebox.

View all 4 project logs

Enjoy this project?



Pete Prodoehl wrote 01/05/2016 at 03:12 point

If you want to get away from a physical switch, consider a magnet switch. They are encased pretty well and make for harsh environments. You'd have to add a magnet to the handset of course, but... magnets!

  Are you sure? yes | no

jason.gullickson wrote 01/05/2016 at 14:05 point

I'll give that some thought.  I went with the microswitch because I had some on-hand, but I totally agree that something magnetic is going to be easier to protect.  Any units you recommend?

  Are you sure? yes | no

mphanson wrote 12/23/2015 at 19:06 point

What a cool project! I'd love to see how it's coming along! I work for the non-profit Little Free Library, Ltd. and I'm always looking for new resources for stewards (the folks who start and take care of individual Little Libraries). Feel free to email me at if you'd like to chat more. :)

  Are you sure? yes | no

jason.gullickson wrote 12/23/2015 at 21:30 point

Thanks mphanson!

I'm happy to hear you're interested in the project.  We're planning to work through the prototypes over the winter and enter the device into service in the spring.

I'd love to discuss this an other little library-related ideas.  We're constantly experimenting with ours, and we have a number of ideas inspired by the little library idea we want to explore (see for an example).

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates