Wanhao / Monoprice Maker Select Plus RAMPS Upgrade: Considerations

This is the first in a series of posts about converting a Monoprice Maker Select Plus (which is a rebranded Wanhao Duplicator i3 Plus) to a RAMPS board. Here are some things you need to consider in doing this upgrade and why you may or may not want to go down this path.

The reason I started through this is that my Monoprice printer stopped working properly (was not getting information from the hotend thermistor). Monoprice ultimately agreed to replace it, but I would have to send it back at my expense (more than $70 in shipping costs). I decided to do this upgrade instead. If you are buying a printer for the purpose of doing this upgrade, then stick with the Maker Select v2 (Duplicator I3 v2 or 2.1). That machine is much easier to convert and there is already a great tutorial on how to do it. You end up with the same features but at $100 cheaper for the original machine.


Here are some of the things that need to be considered in this conversion. These may or may not be covered in this order. There is much more to the conversion, but these are some of the decisions you should be thinking about before even starting down this path.

  • My Credentials
  • 24 Volts
  • Wiring
  • Firmware

My Credentials

What is my authority for being your guide through this? Almost nothing other than I have done the conversion and my printer works at least as good as it did before. Therefore I don’t claim to be an authority on building and modifying 3D printers outside of my experience.

My first, and only, 3D printer is the Maker Select Plus by Monoprice (which is a rebranded Wanhao). I have no experience with any other printer. Mine worked fine for almost 4 months before it died and now I have successfully gotten it up and running again. I am a fan of open source software and hardware. While the Monoprice/Wanhao printer is not completely open source, it had enough modifiable components on it that I knew if it ever came to a dead printer that I could probably rebuild it using parts from Amazon and eBay.

As of the writing on this tutorial, I don’t have my printer working. I am documenting as I go. Hopefully, by the time most people read this, I will have my printer up and running and have corrected any documentation that I find did not lead me to a solution.

My printer is running well and I am pleased with the results of the conversion process. I don’t know that I would recommend undertaking this conversion unless your control board is unrepairable. In other words, I wouldn’t buy this printer for the sole purpose of swapping out the brains unless you got a good price on a non-working model.

I am open to any suggestions you may have on how to improve this information for the purpose of helping others. This certainly worked for me.


You will need a RAMPS board for this. RAMPS stands for RepRap Arduino Mega Pololu Shield. It is the basis for many RepRap designs, especially older ones. It is an open source design so that you could build your own, or buy one pre-built. There is a ton of information online about the board and you can get help with just about any aspect of configuration. There are newer control boards than RAMPS with more features, but I did not find any reason that made the newer boards superior for my purposes. Plus, the RAMPS board is so well documented and inexpensive that it is considerably more appealing to me.

Something else I discovered in the end of my conversion process is that the RAMPS board barely fits under the printer like the original mother board. Any of the other solutions would be too big to fit in the available space. You would have to build an external enclosure which defeats part of the purpose I had for buying the Plus version of this printer: the compactness compared to the original version.

You can get RAMPS kits from Amazon, eBay or one of the big Chinese shipping sites like dx.com, AliExpress or Gearbest. Where’s the best place to get one? I don’t know. I would recommend reading many reviews.

The one I bought on Amazon has not been overly impressive. There are some obvious quality control issues. After having it powered up for a few minutes the voltage regulator on the Arduino burned out. I was able to swap an AMS1117 5.0 regulator from another Arduino onto this board. Here’s my 3-star review of the product. (The seller has contacted me several times asking me to change the review to something better. Purchase at your own risk.)

You will probably want to get one of the kits with a screen, but it is not absolutely necessary if you are using an computer to be your print server. I am using a Raspberry Pi running OctoPi (OctoPrint). The cost is not that much more to get the screen and then you have the option to use the printer without a computer hooked up to it all the time.

You will also need an Arduino Mega which should come with a RAMPS kit. You can buy the shield without the Arduino, but unless you have one lying around unused, you should get a complete kit with one included.

24 Volts

The Maker Select Plus has a 24 volt power supply. It is supposed to be better for motor control. I’m sure it is, but it also adds to some of the complication of the conversion.

The Pololu shield (the PS of RAMPS) can work with 24V. But the Arduino (AM of RAMPS) cannot. You will need to supply the Arduino with 12V separately. You have to decide how you want to supply the two separate voltages. You will also need to modify the Pololu shield to make it work with 24V and not feed that 24V into the Arduino.

This is all explained in the next post.


This has been the tricky part of the conversion so far. The main issue is the breakout board and ribbon cable that come from just behind the print head. The ribbon cable is great in that it simplifies how many separate wires run from the print head to the control board underneath the printer. However, that also means we need to figure out which wires control which sensors and actuators. I have a wiring diagram that I included in a post about wiring.


There is a variety of firmware that you could use with RAMPS. In my build I am using Marlin. My choice is made on the fact that I have found quite a bit of information about Marlin and a friend who built his printer from scratch uses a Marlin variant. I can lean on him for configuration help. I may move to a different firmware in the future, but this is where I started and it is working for me.


So if you are ready to jump in then get started with the RAMPS information and move through the rebuild of your machine.

Monoprice Maker Select Plus: Replacement Followup

A couple of months ago I posted about trying to get my Monoprice Maker Select Plus 3D printer replaced, or at least get a new main or breakout board for it. Ultimately they agreed to replace the whole printer. They don’t have any of the individual components to even repair the printer themselves. That is a shame since that means that otherwise perfectly good printers are sent back to the manufacturer (Wanhao) and never actually get repaired by Monoprice.

Monoprice’s Offer

Monoprice’s solution/agreement was that, yes the printer was poorly manufactured and that it is their fault that my printer does not work. However, because I installed firmware on it, they would no longer cover it under their normal warranty policy. I was welcome to send it back to them at my expense and they would replace it with a new machine.

There are two problems with that: at my expense and new machine. It would cost just over $70 to ship the printer back to them. I realize that if you are not interested in upgrading and modifying your own printer, $70 may seem like a good deal. However, I was probably going to replace all the logic parts on this printer in the future anyway. I like the design of the Maker Select Plus (though if you are doing this upgrade, the Maker Select v2 is the better choice at a cheaper price), but their motherboard and firmware are not the most friendly for hacking purposes. Since I already bought all the electronics to do the upgrade when they had originally convinced me that they would not consider replacement, I would rather move forward with that upgrade path.

The second problem I had with their offer is that they would completely replace the machine and not send me my old machine back. My machine is not perfect (print bed base is bent) but at least I know its quirks and have learned to work around them. I have also done some reversible mods, but I really don’t want to have to disassemble all of my LED and Z-axis upgrades and start over. I would rather have this same machine back.

Definite Main Board Problem

Up to the point of them agreeing to replace the machine, I wasn’t even certain which of the two boards was at fault on this printer. At first it seemed like it was the main board. Then I found a burned electrical trace on the small breakout board as well as a couple of bad solder joints. Since I decided that I would not have the machine replaced I launched into repairing the breakout board myself. I found that the printer still did not function properly after repair. It displayed the exact same symptoms. So the problem is definitely the main board which may have caused the breakout board to fail.

Installing RAMPS

Now I am in the process of installing a RAMPS board and getting it all wired up. (Here’s the board I bought. It seems the manufacturer/seller has some serious quality control issues. Spend more money for a better board if you are able to). Even though the original problem showed up 3 months ago, it took me a month to finally get Monoprice to answer emails and phone calls to come to the decision that I was going to keep it and not have it replaced. Then I began a busy time of work and travel that kept me from doing the upgrade. I am home for a few weeks and will get back to the RAMPS upgrade. I will document what I can here for others who want to convert their Maker Select Plus to an open source control board.

I have actually gotten far enough into the upgrade to be encouraged that this will work as well as I had hoped. I have been able to test most of the motors and sensors with the new board. I am now in the process of assembling the new wiring harness for the machine. I will probably break down the upgrade path into several blog posts. I hope it is a help to the next person who would like (or need) to do this conversion.

And for those who have the Maker Select v2 (or 2.1) or the Wanhao original version of the same thing, there is already a great tutorial on how to do the conversion. If you are looking for a base printer to convert, then the hardware on the $300 Monoprice v2 is almost identical to the $400 Plus (with the exception of the motherboard and control screen which get replaced in the conversion anyway). The Maker Select v2 is cheaper and easier to modify in this way.

Monoprice Maker Select Plus: Burned Breakout Board

I’ve had an issue with my 4-month old 3D printer. I have made heavy use of it and it has performed well…at least until it didn’t. It is a Monoprice Maker Select Plus printer. It is the Wanhao Duplicator i3 Plus that has been rebranded for Monoprice.

Thermistor Reporting Error

About a month ago (from when I am documenting this), my printer suddenly started reporting that the hotend temperature was 58° C no matter what the temperature actually was. It seemed likely that it was the thermistor itself since they seem to short out or go bad according to my reading. And they are so cheap that it is worth trying with a replacement.

I did not have a replacement yet, so I did some testing. The thermistor performed as expected when it was removed from the printer. Yet when the thermistor wasn’t even plugged in, the printer and OctoPi reported the hotend at 58°. Everything pointed to the main control board as being the problem.

It was a Sunday afternoon and Monoprice support was not open. So, it seemed reasonable to contact them via email. After waiting a couple of days with no response, I tried contacting them via chat. The chat sessions kept timing out. Presumably because there was no one available to help at that time.

Carlos from Monoprice finally got back with me by email on Thursday (4 days after my support request). He asked for more information and what exactly I had done to test for the problem. When he replied again on Friday it was agreed that the problem seemed to be the mother board. I would have to send in the whole printer for replacement and not just the board.

Well, in the mean time of waiting for support that I thought would never come, I reflashed the board to the Wanhao firmware (Monoprice has not released a firmware to the public even though theirs has had a typo in it since the printer first released). Even with the Wanhao firmware the symptoms were exactly the same. And, as a result of reflashing my board, I voided my warranty. So on Friday of that week, Carlos said that I could not get the board replaced under warranty. On top of that, Monoprice did not even have boards available they could sell me. They suggested that if I wanted to get a new board to buy it directly from Wanhao.

RAMPS Upgrade

I started down the path to upgrade to a RAMPS control board. Ultimately that is where I will probably go with this printer. But for the moment, while making the conversion to RAMPS, I found a definite hardware issue that I thought Monoprice would like to know about.

Monoprice Support

I started a new support request email. This time on a Saturday because that is when I discovered the problem. They don’t have phone support on the weekends. After sending the support request I got a message saying that Monoprice support would get back with me within 1 business day.

On Thursday of the same week (today) I tried Monoprice support chat again. Between the last attempts and the attempts today, I probably tried to use their chat 6 or 8 times. Each time the session timed out without an explanation. I assume that it is because no one was available to help.

I called and was put on hold for only 7 minutes. For which I was very thankful. Israel answered and I started off by telling him that I was trying to follow up on an email support request. I gave him the ticket number and he was able to find my email. He apologized for their support being slow but that they were very busy. “Then,” I said to him, “don’t tell me that you will get back with me within 1 business day.” He agreed that something should be done about the message. What would be better, in my opinion, is to hire enough qualified people who could help them stay caught up.

Cold Solder Joint

While I don’t have much hope that Monoprice will replace the broken part on my printer, I did still want to do the responsible thing and let them know they had a problem. I believe my printer failed because of a manufacturer defect and I wanted to send them pictures of what was happening. That was the nature of my second request for support. Of course, I hope they do replace the bad part, but I have been in the warranty-voiding business for approximately 37 years. So I am used to it. In fact, this may be the first time that I have approached a company about warranty work. I usually try to fix it myself if it is something worth keeping.

Picture of a bad solder joint.

What I discovered were some poor solder connections. As you can see in the picture, there are at least 2 bad solder joints. One of the bad solder jobs is on the thermistor connector. No surprise. I have confirmed that there is no electrical conductivity from that pin to the ribbon cable connecting plug.

You also see that the connector is red. It is the only connector on the breakout board that is not white. I wonder if other Monoprice/Wanhao boards are like this?

Burnt Trace

On the top side of the board there is a burned electrical trace. You can see in the picture below that there is an enamel coating on the board. But one trace, which happens to be for the thermistor that is not working, is burnt.

Picture of a burned electrical trace

What will Monoprice Do?

Again, I contacted Monoprice today to let them know about the problem and to see if they would at least replace that small breakout board. This board, by the way, is behind the print head and is only about 1.25 by 1.75 inches in size.

Israel said that I could send my pictures to him and he would pass them along to the next person. He also told me that the breakout board was not in stock at this time, but that I could call back on Monday and see if they had a projected date of getting more stock.

I dutifully sent my pictures to Israel today at the email address he provided. It is now 8 hours later and I have not heard back from him. A simple “thanks for the pictures” would have been nice.

We’ll see what happens.

Controlling a Fan Using PWM and Arduino

Here is how to give speed control to a regular 12V computer fan using an Arduino and PWM (pulse width modulation). This will work for other motors as well.

This is not intended to be a deep tutorial on the subject, but if you need more information you can check out the various links provided. This is mainly a quick write-up to show a friend how to do speed control on a fan that will eventually be hooked to a temperature sensor so that the fan can regulate the temperature inside an enclosed box.

Items Needed

  • Arduino (can be done with a Raspberry Pi using Python)
  • TIP122 (or adjusted for just about any Darlington transistor)
  • 1N4001 diode
  • 12V computer fan
  • 12V power supply
  • 270Ω resistor

The above items are not special or magical. If you don’t have a TIP122 transistor, you can probably make this work with just about any large transistor or MOSFET (large as in handling power as opposed to just physical size, though they often correspond). The same applies for the diode: as long as it is sufficiently large, it will probably work. The resistor size was chosen simply based on it being the one closest to my Arduino when I started the project.


I leaned heavily on an Instructables article for getting my wiring set up. Certainly check out his article for more details about the wiring if you need more than a schematic to figure this out.

Or, an even more detailed description of what we are doing (at least on a partial level) is the Adafruit article on motor control. They have lots of pictures and a great explanation. But what their article is lacking is how to power a motor that needs much more voltage than what the Arduino can provide. That is why you are reading this article.

Here is my schematic of the build.

Electrical schematic of the project.

The Build Logic

I find it helps to try to understand what is happening in the electrical path so that I can complete the build and adjust the hardware or the code. Let me try to logically walk you through what is happening. Check out the video below for a rough verbal description.

The two connections to the Arduino are ground and digital pin 9 which is what sends the PWM signal to the transistor. PWM signal goes out of the Arduino into a resistor. I’m not entirely sure how much resistance is needed for this build. It works with no resistor and I have seen builds that call for up to a 2.2 kΩ. I don’t know that the resistor value is super critical, but you should probably include one.

So far we have PWM → resistor.

Now you go from the resistor to the base of the Darlington transistor. I am using a TIP122 because that is what I had handy. This should work identically with a TIP120 (and probably dozens of other transistors).

When the base of the transistor gets power from the PWM signal, it will allow power to pass through from the collector to the emitter. Check out Adafruit’s explanation of transistors for more details.

When the signal on the base pin triggers the collector/emitter connection, the transistor begins passing 12V from the power supply to the fan. The signal on the base is making the transistor act like a switch to turn on and off the collector/emitter connection.

Therefore, we kinda have 2 separate halves to this project:

  • The low power side (Arduino side) is PWM → resistor → base → emitter → ground.
  • The high power side is 12V positive → fan positive → through the motor → fan negative → collector → emitter → ground.

Between the collector and emitter we also insert a diode. This prevents the spinning of the fan (or DC motor) from pushing power back through the transistor and blowing up the Arduino. A DC motor (which a fan is) generates electricity when spinning but does not have outside power pushing it. So when the Arduino stops sending a signal to the fan the fan will spin down and in the process create a small DC voltage. In this case it is probably not enough to matter, but it is a good habit to put a diode in place to stop the newly created voltage from traveling backwards into the Arduino. As you probably know, a diode only allows the electricity to travel one direction. We want power to travel from the Arduino to the fan but not the other direction.

Both the ground coming from the Arduino and the ground of the 12V power supply need to be tied together. You should have only 1 ground in a circuit even if you have multiple power supplies and voltages.

In my video below you also see an LED and another resistor. This is just an indicator that power is being supplied. The second resistor is 100 kΩ. Also carefully chosen because of its proximity to my workspace.

Note that the code in the video turns the fan/LED full on and full off. However, the code I provide here is full on and only about 40% off. Being able to adjust the speed of the fan using PWM is what this project is about. Therefore you can adjust the provided code to run the fan at any speed you would like.


int TIP120pin = 9; // PWM signal out to transistor on pin 9

void setup()
  pinMode(TIP120pin, OUTPUT);

void loop()
  analogWrite(TIP120pin, 255); // Run full speed (255) 
    delay(3000);               // for 3 seconds
  analogWrite(TIP120pin, 100); // Run at approximately 40% speed
    delay(6000);               // for 6 seconds

This sets pin 9 as the control pin. Then makes its pinMode to be an output. The loop turns on pin 9 at 100% speed (255) for 3 seconds and then drops to 40% speed (100) for 6 seconds.

And that’s it!

The ultimate project is to control the fan based on temperature. Getting temperature values from a digital or analog temperature sensor on an Arduino is fairly simple. It then becomes a matter of telling the fan PWM to raise or lower the speed based on the temperature.

My Homemade Book Light

I can’t actually remember when I started my book light project, but a recent trip to the Atlanta Maker Faire motivated me to get back to some projects that I had worked on in the past but never finished. The book light was one that benefited from this renewed interest.

LED strip lights and 1/8" acrylic sheet.
LED strip lights and 1/8″ acrylic sheet.

My book light project wasn’t really as much about making a usable lamp as much as it was about learning how to work with certain materials. After buying a 5 meter roll of white LED lights for a bigger project, I wanted some simple lighting task to learn how to use them. I also had a partial sheet of 1/8″ acrylic (Plexiglas) that I wanted to do something with.

The project proposal was inspired by something I saw on Instructables. (At least I think it was there. I did a quick search and could not find it). I needed to hollow out a book then install the lights and acrylic sheet. That was the basics of the project. I also wanted to make a switch so that when the book opened it would automatically turn on the light. That switch mechanism is what delayed the project every time I got into it again.

Oh, and, as always for my projects, I wanted to spend as little money as necessary.

I got two books from a used book store that gives away books that they don’t feel have any resale value. I got two because my original plan was that I would practice on one and then I would make my final project from the nicer book. At this point, the second book light will never be made. I learned what I wanted from the project and don’t really plan to make the second one.

Preparing the Book

When gluing the pages together put wax paper between the cover and pages.
When gluing the pages together put wax paper between the cover and pages.

I closed the book with wax paper between the front cover and the rest of the book so I could glue all the pages together. This kept the front cover free from the glue I was about to apply. I painted the edges of the book with Elmer’s glue to hold them together. I think I may have fanned the pages a bit to make sure I got glue in between the pages as much as was practical and not just on the edges (I really don’t remember since it was well over a year ago that I started the project). While the book dried from the gluing, I pressed it down with other books on top. I wanted to make sure the pages didn’t wrinkle too much.

Cutting out the Pages

I figured out how much margin I wanted to leave in the book and cut everything inside that line using an array of X-Acto knives and box cutters. The variety in blades was because I kept thinking that something would make the process easier and quicker. It is just a tedious process. You should not try to cut more than a few pages at a time.

After the book was hollowed out I painted the inside of the pages with Elmer’s glue, put my wax paper back in the front cover and then weighted the book down again to dry. I don’t remember how long I let it all dry, but as you can tell, I was not in a hurry.

I painted the acrylic sheet with a frosted spray paint. I did this on both the inside and the outside of the acrylic. This helps to diffuse the lights and make a more even glow instead of seeing the harsh individual LEDs.


Cut out pages, LEDs and frosted acrylic sheet. You can see the strips of wood I added later.
Cut out pages, LEDs and frosted acrylic sheet. You can see the strips of wood I added.

I installed a little wooden strip on the inside of the hollowed out area to act as a platform for the Plexiglas. I used contact cement for this. Hot glue would have probably been sufficient. The wood needed to be about 1/8″ below the top of the book pages so that the acrylic sheet could sit flush with the pages.

The LED strip has an adhesive back that helped me to attach it to the wood strips. However, I just used very rough scrap wood and did not think to sand the strips because they would not be seen. The problem with not sanding them is that the LED adhesive back did not stick too well. I had to hot glue some parts of the strip to the wood.


The lights are 12V lights. With LED strips you have to be careful to make sure you have enough amperage to run the lights. However, since I am using such a small number of lights, I figure just about any 12V power supply that I have will be strong enough (I really should do the math and find out).

12V power supply. 5.5 mm plug and jack.
12V power supply. 5.5 mm plug and jack.

I have a box full of wall plugs (or wall warts, or AC-DC power supplies). I found one with the right plug and had a positive center polarity. Because I was wiring this up myself I could have reversed the wiring if I needed. However, what seems to be standard in the maker world (and is a standard in my personal construction) is that the center pin of an electronics project should be positive polarity. By always doing it this way I never have to guess as to how I wired a project. But you must check your power supply because they aren’t always wired this way.

Another seeming standard is the size of the plug and jack used in these types of projects. Unlike the commercial world where every manufacturer wants to have a different size plug and wiring standard, we use 5.5 mm plugs and jacks. Not the smallest, but easy to work with. Plus by using the same thing every time all you have to look for in your pile of power supplies is one with the right voltage.

A Painful Switch

The main thing that held up my project is I wanted a certain type of switch. My desire was to have the light automatically turn on when the book was opened. When explaining my project to a friend he introduced me to a reed switch. This is one that is activated in the presence of a magnet.

What I needed was a normally closed (NC) reed switch. The magnet would be on the cover of the book with the switch being near a metal plate under the diffused acrylic sheet. When the book was closed the magnet would stick to the metal plate and activate the switch. This activation of the switch would open the circuit and cause the light to go off. The normally closed reed switch allows the electricity to turn the lights on when the magnet was not close to it.

But going back to one of the premises of the project—spend as little money as necessary—I quickly found that reed switches could be had for next to nothing or be very expensive. A normally open (NO) reed switch cost about a quarter each if you didn’t go for the bottom of the barrel (the ones I bought were 11 cents each). But NC reed switches are about $2 each. I didn’t want to spend that much for a simple switch.

So the project went on hold every time I started into it again because I could not get the switch mechanism the way I wanted it. There is a fairly simple way to make an NO switch act like an NC switch using a transistor, but, the way I understand it, it uses a little bit of electrical current to not turn on the lights. If the book is plugged in and not being used it is still draining electricity. I didn’t want to do that.

Two magnets and a normally closed push button make up the on-off switch.
Two magnets and a normally closed push button make up the on-off switch.

Enter Maker Faire and my renewed interest. I dug through all the switches I have at the house and could not quite find what I needed. My friend who introduced me to reed switches said that he had an extra normally closed pushbutton left over from another project. It was much bigger than what I wanted, but I was able to make it fit the project.

Demagnetizing a Magnet

I needed more magnetic strength to close the book and push down the switch than what I had originally put into the book. So I replaced my metal closing plate with another magnet. However, because these were strong neodymium magnets, they were almost too strong to be able to open the book without tearing all the glue apart.

Book lights up just by opening it. It makes a nice reading lamp or mood lamp.
Book lights up just by opening it. It makes a nice reading lamp or mood lamp.

Did you know you can demagnetize a magnet? I found out through Google searching that you could heat a magnet and it would demagnetize it. This is because a magnet (at least a neodymium magnet) is made by heating the material inside a magnetic field. The hot molecules in the neodymium align to the polarity of the magnetic field. Keep the new magnet in the magnetic field as it cools off and those molecules are fixed in that North/South arrangement and you end up with a strong magnet. By heating the magnet outside of a magnetic field those molecule get all jumbled up and it is no longer a strong magnet. I assume this would work with any type of magnet, though you probably should not do it with rubbery craft magnets unless you like potential toxic materials filling your kitchen.

My wife cooked my magnet with lunch. 450 degrees for 10 minutes did the trick. It was still magnetic but not nearly as strong. The book opens and closes very easily now but is still strong enough to push the plunger on the push button switch.

Maker Faire Connection

I took my local librarian to the Maker Fair in Atlanta with me. She enjoyed all the different projects she saw. She went because she is interested in various STEAM programming that could be done in the library to attract young people. We have talked about me teaching various projects to kids at the library, but have not found the right project. We did know that we wanted to do something with soldering irons so the kids could learn that useful skill.

I was hesitant to take a book that I butchered into the library to show it off. But when I showed it to the librarian last week she immediately knew that is what she wanted to do for our Teen Tech Week program coming up in a few months. And, as barbaric as it sounds, she volunteered to gather the needed books and cut out the pages. I guess she would rather have the kids wielding 350 degree hot pokers than using a bunch of box cutters.

What I Learned

The purpose of this project was to be a learning experience. And it was. I learned that it is possible to weaken a magnet by heating it. I learned how to work with the LED light strips. I have even made another project since then using the LEDs—the tracing table that the book is sitting on when I took the pictures. I also learned that cutting out the guts of a book is harder than it looks. Though the switch isn’t what I originally planned, I learned that sometimes it is better to complete a project than to insist that it be a certain way and never be completed.

I also learned that not all librarians will weep at the sight of a hacked book.