OK so you have a ring (or a ring in mind), you have asked for permission from her dad, all thats left is to come up with an idea of "when and where" that you will have to recount/hear recounted for years to come when people ask "How did you/he propose?" This Instructable will not only give you something to add to that story but also no doubt surprise your soon to be fiancee with your ability to think outside the box. No pun intended. Above, there are pictures of the boxes that gave me the idea and inspiration for my build. I saw a bunch of ideas for boxes online but I wanted to add my own unique touch.

Step 1: Schematic, Board Files, and Parts List

Below is a link to the Schematic, Board File, and Library files.


****Edit (12-30-15): I have updated the schematic and board to include a 3 pin jumper which will allow selection between 5V and 12V for the motor voltage. This also corrected a error in the file (M3 was supposed to be connected to 12V and LED+ but the segment was missing).

I have listed the parts in the link below. The link below will add all of the necessary parts to a cart in Digikey if you are using the exact same design I used. Otherwise you can modify this list. I added ATMEGA 328 chips which come with the Arduino. If you already have these chips you can remove them from the list. You would need to contact Digikey in order to make sure they came pre-programmed with the Arduino Bootloader.


The only thing I couldn't find on Digikey were the pushbuttons that I used. Here is a link to the part on Amazon.


Arduino Code (.ino file also in dropbox link for schematic)

/*Will you marry me?
*Turns a stepper motor and lights LEDs when Photocell senses light

*Written by David Steury


#include Stepper.h //add angle brackets around "Stepper.h" as instructables will not allow these in a text box, see //Motor Knob under File--Examples--Stepper--Motor Knob for added clarification

// create an instance of the stepper class, specifying // the number of steps of the motor and the pins it's // attached to

#define STEPS 128 // change this to the number of steps on your motor

Stepper stepper(STEPS, 8, 9, 10, 11); //choose pins for your stepper motor

int ledstrip = 12;

void setup(){ }

void loop() { // get the sensor value int light=analogRead(A1); //Check if box is open

if(light < 750) { //if box is open

int val = analogRead(A0); //Check for pot value (speed control)

val = map(val,0,1023,10,95); //Map pot value to speed value

stepper.setSpeed(val); //Set stepper speed to adjusted pot value stepper.step(5); //Step 5 steps before checking again

digitalWrite(12,HIGH); //Turn LEDs on


else { //If box is not open

digitalWrite(8,LOW); //Write Motor 1 pin to low

digitalWrite(9,LOW); //Write Motor 2 pin to low

digitalWrite(10,LOW); //Write Motor 3 pin to low

digitalWrite(11,LOW); //Write Motor 4 pin to low

digitalWrite(12,LOW); //Turn LEDs off



Step 2: Select Your Box

The first step is to find a suitable tree or branch to be used as the actual box and lid. This piece of wood should be about 10" in length and at least 3" diameter if circular or 3" width if a square beam is used. Usually a piece of wood this size can be found in a local forest or small woods (I used Australian Pine from the lot next door).

If the tree is on private property be sure to ask permission before chopping. If you cut your section of tree with an ax or some other cutting tool that did not leave a smooth end on each side you will now need to use a saw to cut the ends. (A table-saw will work but using a simple handsaw when cutting will eliminate the extra work of cutting it again.) Make another cut at 1" from the side you wish to use as the top of the box. This 1" section will be your lid.

Note: Depending on the time between building the box and proposing it is best to dry the wood (or use dried wood) in order to ensure that it doesn't crack/warp over time.

Step 3: Hollowing Out the Box

There are drill bits called forstner bits that are able to create a cylindrical hole with a flat bottom that would be the best tool for this job. I had a 1.25" forstner bit laying around and a 2.5" hole saw so using a bench vice to hold the box I first drilled with the hole saw which provided a 2.5" outline of the wood to be removed. Once I knew which wood to drill out, I made several holes with the forester bit, using a drill press to ensure vertical drilling, in various locations and used a small chisel to remove the pieces in between the drilled holes. This process was a bit tedious so I would recommend spending the $17.95 and purchasing one on amazon from the link below. If you have a handy friend with lots of tools he might have one you could borrow as well. The drill press was helpful in this part because you have to ensure that you won't drill too far and come out the bottom. Using a stopper, you can guarantee that you will not be able to drill all the way through, ruining your box.

2.5" Forstner Bit


Step 4: Shaping Your Box

At this point you may cut off any wood you wish to get rid of if you are looking for a custom shaped box. I removed the bark of the piece of wood I used (Australian Pine). There were a couple examples on google images where the person sanded the edges of the lid (top) in order to make it more rounded. This is personal preference. I lightly sanded the whole box and hit the edges of the box to ensure that they were not sharp but did not take very much off at all. I used 100 grit sand paper available at your local hardware store. A DA (dual action) sander will make this task much quicker.

Step 5: Staining Your Box

After you have found the perfect box shape it is time to stain your box. For this you will need a brush and some wood stain in your chosen variety. I chose to use Cabot Spar Varnish in a Gloss finish from Home Depot that I had left over from some countertops I made. It was oil based so the cleanup was a little messy but it looked great. I ended up putting on 3 coats before it stopped soaking into the wood. I put a fourth one on just to make sure that it would have a nice even coat.

Step 6: Customizing Your Box

At this point the only modifications to the box will have to be project specific. I knew I would be using two 9V batteries as the power source in my project so I cut into a block of wood with the hole saw and then cut two ends off after measuring the space needed between the ends in order for two 9V to fit standing on the long side. Secure these two ends with wood glue. Get two threaded wood inserts for 8-32 machine screws from your local hardware store. This allows the mounting plate described later to be secured to the box in order to ensure no "floating" pieces. It also ensures that you won't strip the holes from screwing in the screws too tight.

Using a dowel screw (with wood threads on both sides), secure the box lid to the box. Pre-drill a hole for this screw before inserting it to make sure that you do not split the wood. You can also use a different type of swivel/hinge system if you want your box to open in a different way. I also drilled a .5" hole in the bottom that went up through the bottom along the side of the box for a power switch. This is not necessary but I wanted a way to disconnect the batteries from the circuit without disassembling the box. At this point your box should be completed and ready for your technology portion to be inserted.

Step 7: Testing Your Design

I first built the circuit on breadboard with jumper wires to an Arduino Uno board. After everything was working I built a standalone circuit and tested to make sure everything was working properly.

My circuit was designed to run a 12V stepper motor (salvaged from a scanner) and a 12V led strip (in parts list), to receive a signal from a photo-resistor in order to turn both the motor and the led strip on when the lid of the box was opened, and a potentiometer (variable resistor) was added to allow for speed control of the stepper motor. If you wish to build the exact same box that I build you can use the parts list and eagle board files included and skip the design step. I ordered my circuit board that I designed from Oshpark (www.oshpark.com) for $26.85 (including shipping and tax) and it came with three boards. If you are using my files, simply enter your information and upload the board file included in this Instructable.

Once the boards and the parts have been ordered its time to move onto the building portion of the project.

Step 8: The Circuit Board

The parts I used were utilized simply because they were free. I had many parts lying around the garage such as stepper motors, resistors, LEDs, etc. You are welcome to customize your project to incorporate whatever you have available to you.

Stepper Motors: Stepper motors are a useful tool when slow rotational motion is required. There is plenty of literature on stepper motors so I won't go into the details here, but encourage you to learn more about these motors so you are able to understand how to drive one. Be sure to get a stepper motor with a large number of "steps" so that the rotation of the ring will be smooth and not jerky.

LEDs: There is a link to the LED strip used in my box. They are very cheap and because only a few are being used for this project, can be utilized again and again. The LED strip that I used could be cut every 3 LEDs so I used 9 because 12 wouldn't quite fit.

LED Link: http://www.amazon.com/gp/product/B005EHHLD8/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1

Step 9: More on the Board

If you do not wish to know what the circuit board is doing you can skip this step. This is for those who do not wish to reverse engineer the board through the schematic/board design files.

The input of the board can be anywhere from 15-30V because of the rated input of both the LM7805 and LM7812. These are voltage regulators which take the input voltage, and with the help of a decoupling capacitor produce a stable voltage (5V for the 7805 and 12V for the 7812). There are LEDs that will indicate if your voltage regulators are working correctly. If an LED is not on, first check to see if your LED is correctly positioned with the Anode and Cathode in the correct locations and then check to see if your voltage regulator is correctly positioned.

The 7805 gives 5V to the ATMEGA-328 IC from the Arduino UNO. The 7812 gives 12V to the driver (ULN2003) and the LED strip. Because of the amount of current being pulled by the motor as well as the voltage needed, it is not ideal to run the motor directly from the outputs of the IC. The ULN2003 allows the IC to control a higher voltage and isolates the higher current away from the "brain" of the board.

For customizability the potentiometer is connected to an input on the IC. Also the LED strip is connected to an output so that it may be dimmed, strobed, or turned on/off as needed. The photoresistor on the rim of the box allows the board to know when the lid is opened and acts as another optional input. The sensitivity of this input can be adjusted within the code. Because I planned my proposal at night, I set the box to always be on and used the power button on the bottom of the box to switch the circuit on.

Step 10: Assembling/Building Your Board

After testing to make sure all parts are able to fit in their respective footprints and no errors were made in the manufacturing of the board, the parts can be placed on the board and soldered down. Solder the voltage regulators and the LEDs/Resistors first in order to make sure that your supply voltage is correct. Make sure when you solder the voltage regulators that they are positioned correctly and not backwards. The same goes for the LEDs. The red line on the bottom of the LEDs should go to the ground side. Once you have made sure that you are delivering 5V and 12V to the proper places, it is time to solder the sockets for the "ic"s. Since these are sockets you can still check to ensure that voltages are correct before inserting your ic. There were small tabs on the sides of the circuit board which left a rough edge. With a file it was easy to smooth these out rather quickly.

Wires should also be soldered to the solder pads on the board for the photo resistor, LEDs, power button, battery cables, and stepper motor. Make sure that you don't solder the wires onto the actual resistor, or LEDs yet as these will need to be added later after other steps have been completed. I used a small amount of thin heat shrink in order to ensure that no exposed wires were able to touch. I salvaged some clips from old circuit boards and wiring harnesses I had laying around in order to make it possible to remove the board or any wired component. This is not necessary, but made the assembly process easier as well as the testing.

Step 11: Extra Pieces (Mounting Plate)

I cut a circular piece of aluminum (.25" thick) with a small chunk missing for one of the sides to allow space for wires from the batteries. I then used a 8-32 tap to allow two screws to secure the circuit board/motor to the plate and drilled two .25" holes over the brass inserts mounted in the box (described earlier) to allow 8-32 screws to slide through (these holes will not be threaded). This effectively allowed me to secure the plate to the box and the motor/circuit board to the plate.

Step 12: Extra Pieces (Plastic Cover and LED Holder)

I went looking for a bottle that was 2.5" wide and found that an equate "visine" bottle (available from Walmart) fit snuggly enough that nothing was needed to secure the bottle to the box. I cut the bottle .5" up from the bottom and drilled a hole 1" in diameter over the motor's position. I then painted this piece black and secured felt on the bottom with elmers glue.

Using a hole punch, punch holes in a sticker or label and stick these round pieces of paper over the individual LEDs, then spray paint the strip black and remove these stickers. Position the LEDs around the rim of this piece and drill two small holes, threading the wires through these holes before soldering the clip on.

Step 13: Extra Pieces (Photo Resistor and Ring Holder)

The photo-resistor should be positioned and then two holes should be drilled at an angle in the rim of the box going into the box. Then, using a larger bit, about the size of the photo-resistor, drill a shallow hole and enter both wires into their holes and the photo-resistor into its position. This should all be done before soldering a clip onto the photo-resistor. The reason the photoresistor needs to be secured to the rim instead of inside the box is that I was using it to detect light when the box was open and turn the box on/off. If the resistor was inside the box and you opened it, it would sense light --> turn the box on --> LEDs would turn on, and even if you closed the box the LEDs would still supply light to the resistor and keep the box from turning off.

A nylon washer and foam pad is needed to separate the board from the metal plate below it. I found some .25" foam in a display handbag my girlfriend was looking at while in a store. Many bags or other similar items will have this foam padding. I also glued a piece of paper on the bottom just to make sure that if the foam was penetrated, the paper would keep the solder from touching the metal plate.

Step 14: Ring Holder

For the ring holder, take a wooden dowel 1.25" in diameter cut a 1" long section. Drill a 1" hole in the end about .5" deep. In the other side drill a hole slightly bigger than the shaft of your motor. Insert some epoxy (I used JB Weld) into the hole for the shaft and wait until the epoxy is pliable but not yet dry. Press the dowel onto the shaft of the stepper motor in order to make a hole the correct shape of the shaft (hopefully your shaft has a flat side for mounting). Remove the dowel and allow the epoxy to dry. Cut a piece of foam to fit into the 1" hole in the dowel. Cut a slit in foam at a 45 degree angel for the ring to be placed in. Secure felt over the foam and dowel (I used super-glue). Insert strips of felt into the slit made for the ring in order to ensure that none of the foam is visible.

Step 15: Assembly

At this point it is assumed that your electronics portion of the project can be assembled and runs by itself outside of the box. If this is the case, it is time to assemble the box. Take the box and clip the cables from the power button onto the batteries. Then insert the batteries into the bottom of the box. Place the metal plate onto the batteries and screw it down to the box. Insert the foam pad into the box on top of the metal plate. Insert two nylon washers onto the foam pad over the holes in the plate.

Clip the battery cables onto the board and insert the board onto the nylon washers being careful not to mess up the alignment of the washers and the threaded holes. Insert two stand-offs with nylon washers on them (needed to make sure nothing on the board is shorted by the metal screws) and screw the board down to the plate. Clip the photo-resitor, stepper motor, and LEDs into the board. At this point it is best to test the board to ensure that everything is working properly. If everything is working as it supposed to, insert two screws into the motor and secure the motor to the stand-offs. Press the wooden dowel onto the shaft of the motor and ensure that it is not contacting the screws beneath it. If there is any contact, insert nylon washers to separate the dowel from the screws. With the LEDs now connected, press the rubber insert into the hole until the rim of the insert is flush with the rim of the box.

FINISHED! All you need to do now is insert the ring.

<p>Congrats !! <br>Just one thing ? did you mention that you change the motor ?</p>
<p>I changed the motor from an M35SP-9 to a 24BYJ-48 because of the number of steps. I could find very little documentation on this motor but I did find a nice Instructable on a very similar motor (the 28BYJ-48) which proved to be more than enough (see the link below). My motor was run off of a 12V supply as well and my motor driver was a ULN2003 that I salvaged off of an old board that I had lying around. The other option would obviously be to buy the board in the intractable but most of the board's components were unnecessary, in my opinion, and had to do with the LEDs and pinouts. Hope this helps!</p><p><a href="https://www.instructables.com/id/BYJ48-Stepper-Motor/" rel="nofollow">https://www.instructables.com/id/BYJ48-Stepper-Moto...</a></p>
<p>EDIT: Instructable (not intractable)</p>
<p>Very nice! I hope you get a yes!</p>
<p>Thank you! She did in fact say yes :)</p>
<p>Awesome dude!<br><br>Best project I have seen on here !!<br><br>And CONGRATS :)</p>
I made the box but without the electronics in it. It was very fun and easy to make. I would to try it next with the electronics in it when I have the time. I also made the copper and wood ring too to go inside the box
<p>hello can you give hex file or link</p>
<p>Absolutely! I have added a folder named &quot;Hex Files&quot; in the &quot;Arduino Code&quot; folder located in the dropbox link included. Both versions of the project are included(I have copied it below). Let me know if there are any problems.</p><p><a href="https://www.dropbox.com/sh/fwceo1x2521vlar/AABYezChjGieUb9T24_nIBNwa?dl=0" rel="nofollow">https://www.dropbox.com/sh/fwceo1x2521vlar/AABYezC...</a></p>
<p>wonderful Idea!</p>
Awesome project! :) thanks for shearinga
<p>Nothing like true love to make a man make amazing things!! Well done I loved it.</p>
<p>That is amazing! If there were just the leds when the box opens would already be awesome. Congratulations!</p>
Absolutely brilliant project, glad it was a yes.
<p>Beautiful job! I love the added lights inside, that's a really nice touch. Great job on the build and documentation :)</p>
<p>This is a wonderful idea, and it shows how much you thought about it all. Great work. At some point I'll have to make this just for my 10th anniversary, coming up. </p>
<p>This is amazing! I love the combination of elegance and technology!</p>

About This Instructable




More by dsteury:Engagement Ring Box 
Add instructable to: