LLM Bookcase

by bevingtonan in Circuits > Raspberry Pi

9 Views, 0 Favorites, 0 Comments

LLM Bookcase

Screenshot 2025-04-26 at 12.03.11 PM.png
Screenshot 2025-04-26 at 11.42.50 AM.png

This is a fully automated bookshelf meant for knowledge storage and retrieval. It runs on a Raspberry Pi Pico W which self-hosts an http server on the Picos IP address. This server makes calls to an LLM for knowledge querying.


Personal Info:

LinkedIn Profile

GitHub Profile

Supplies

Screenshot 2025-04-26 at 11.43.46 AM.png
  1. 2, 8"x13" wood planks
  2. Around 3' of 1/2" x 1/2" wood
  3. Raspberry Pi Pico W
  4. Breadboard
  5. Breadboard Connection Wires
  6. 3D printer access
  7. 8 Servo Motors
  8. Notebooks (same size as the ones linked)

Woodworking

Screenshot 2025-04-26 at 11.47.37 AM.png
Screenshot 2025-04-26 at 11.47.53 AM.png
Screenshot 2025-04-26 at 11.47.47 AM.png
Screenshot 2025-04-26 at 11.48.01 AM.png
Screenshot 2025-04-26 at 11.48.09 AM.png
Screenshot 2025-04-26 at 11.48.16 AM.png

First we are going to get the base and the top. For this we need 2 8” x 13” squares of wood. I did all of my cuts with a bandsaw but any straight edge and blade will do.


Now that those are cut you are going to need 18 8” x 1/2” strips of wood. These are going to be the rails to hold in the notebooks. Once they are cut space them out in 3/4” intervals and wood glue them to the base and ceiling. Allow them to dry for a day or so to really strengthen up.


For connection it is up to you. I personally just took some wood scraps and screwed them into the sides for walls and added a base at the back for the engines.

3D Printing

Screenshot 2025-04-26 at 11.56.44 AM.png
Screenshot 2025-04-26 at 11.56.34 AM.png
Screenshot 2025-04-26 at 11.56.27 AM.png
Screenshot 2025-04-26 at 11.56.18 AM.png
Screenshot 2025-04-26 at 11.56.11 AM.png
Screenshot 2025-04-26 at 11.56.04 AM.png

While all the cutting is going on you should let the 3d prints go in the background. These are going to turn the servos into machines which can push forwards and backwards.


Once the base is assembled and the engines printed glue, screw the servo motors into the sockets and glue each down such that the pushers align with where the notebooks will be. I just used some multi purpose glue and it worked well. Don’t put on the gear yet as we still need to set all motors to 0.


For the gear you are going to need to take the arms that the servos came with and cut off the arm part leaving only the circle. Push the circle into the empty slot of the gear and repeat for all 10 gears


Once the motors are glued make sure that each is at angle 0 before attaching the gear. You can do this manually or programmatically. Once they are set then you are able to put on the gears and test.

Downloads

Screenshot 2025-04-26 at 11.59.54 AM.png
Screenshot 2025-04-26 at 12.00.07 PM.png

Now that you are done with construction all that remains is wiring. I personally fit it all onto a single breadboard and taped the connectors which I would highly recommend if you are using female connectors for the motors. Tape the connectors and tape all wires together to remove some mess and make it all a little more self-contained.


Below I have included the code that I used. There is no flair on the site because I wanted to keep it simple but feel free to customize to your needs. You will have to have a llama model installed and running on your machine for the site to talk to. There is good documentation for this and some instructions in the readme as well.


After all this is set you are done. Congratulations on your new desktop organizer powered by AI!


GitHub Code