Saturday, July 19, 2014

Alarm Clock: Current Progress

For a long time (longer than I would like to admit...), I have been working on an arduino alarm clock. However, I really want to finish it as soon as possible (preferably before I go off to college), so I have been making a push to finish it. This post will be about my earlier design as well as my current progress.

My first drawing for the alarm clock. There is a row of toggle
switches at the top, the control pad on the left, and assorted
encoders and potentiometers in the bottom right.
My original motivation was to make an alarm clock that would trigger the lamp next to my bed and make it easier to wake up. I planned to use an arduino for the main processor, a real time clock to keep track of the time even when the clock was unplugged, a 16x2 LCD screen for the display, and the power switch tail to control the light. Beyond that, my design was rather over complicated. I wanted the clock to look like a control panel. It would have buttons in a standard up/down/left/right/select configuration and each day would have a separate toggle switch to turn the alarm on or off. After thinking a lot about the menus and interface (and even getting some of the parts I would need), I realized I was getting hung up on the control panel look. It was making my design over complicated and bloated. So, I decided to redesign
the entire alarm clock.

The ipod nano box I am planning on using for an enclosure
My final design is fairly minimalist (if you ignore the fact that an arduino is being used for a simple alarm clock). I kept the basic components, but I ditched the toggle switches and buttons. Everything will now be controlled with a single rotary encoder with a push button built in. This allowed me to shrink the size of my enclosure as well. I now plan to house the alarm clock in an old ipod nano box (to make it fit I will have to build my own arduino from the free plans on the arduino website).

The current state of my alarm clock
Currently, I have all of the components bread boarded and working together. I have written some basic code as well. I can scroll through a list of strings (the beginnings of the menu) and also display the main screen with the time, date, light control (the L in the top left), and the link to the menu (the M in the top right). Eventually, I hope to have alarms stored in the arduino's flash memory, options for the time/date display, control of the LCD's RGB back light, and lots of nice options for the alarms. Currently, I am working on figuring out a menu system that is easy to traverse and display.

I will be posting more updates on this project as I make progress.

UPDATE: The wrong date and time is from the battery being unplugged from the RTC for a while last week.

Tuesday, July 15, 2014

Pencil Lead Case Flash Drive (Part 2)

We find the jump drive where we left it last: shaved down and ready for its new case. 
Once I had a the slots cut in the case and the drive shaved down, I needed a way to extend and retract the drive. While thinking about the design, I originally thought that I could put some sugru in the bottom of the case that would push the drive. It would be wrapped in wax paper to reduce friction, and I would insert some sort of tab into the sugru so it could be moved. The hardest part of this design was coming up with tabs of some sort that I could stick into the sugru that would also be flat on the top so that they could be easily moved. I eventually decided to make them out of metal strips that I would bend into a T-shape. After I began working on the metal pieces however, I realized that the sugru block was far too complicated and the problem could be solved with the tabs alone.

I made one metal tab for each side of the jump drive. One tab is pointed while the other is indented. This allows the two pieces to mesh easier when they are glued together. The metal pieces are actually just 1 cm x 3 cm pieces cut from an aluminum (or aluminium) ruler.  I also filed down the green anodizing from the ruler and added hatching with a hacksaw on the top of the tabs. Once folded into the T-shapes I glued the two pieces together through a slot cut in either side of the case. I also hot glued small pieces of zip ties to the joint between the two tabs to increase its strength. This contact point is between the tabs/zip ties is also reinforced with hot glue so that the drive can be pulled back in with the tabs (although this is not recommended). At some point I may have to replace the zip ties and the hot glue connections as they wear. However,
I am hoping that the metal tabs and the super glue joint between them stays strong for a long time. 

Friday, July 11, 2014

Pencil Lead Case Flash Drive (Part 1)


Last fall I got a flash drive from a college. Since it was free and I didn't really care for the case, I stripped it down to it's circuit board and used it that way for months (I even used it to install Debian on my new laptop, but that's for another post). At some point I realized it needed an actual case and started glancing looking around my basement for possibilities. After throwing around a few ideas (AA, candy/gum case, etc) I decided on the humble mechanical pencil lead case.

After thinking about how I would actually modify the case, I realized I would have to overcome two main problems:
  1. Fitting the wide jump drive in the case
  2. Making the drive slide in and out (I decided on this design because there was too much lost space in the case if the drive was always sticking out. Plus, that would be too easy :)) 
I would also have to make sure my solutions avoided unnecessary damage to the flash drive and the lead case.

Flash drive at the beginning of modifications (with only a bit shaved off):


In order to fit the drive in the case I first looked at how much I could shave from the circuit board edges. However, even shaving the board to the edge of the components would not be enough to make it fit. Thus, I had to shave out grooves in the case for the board.

Flash drive with the edges shaved off:

I originally thought I might be able to use heavy grit sand paper to cut the grooves. I glued a strip of sand paper around a zip tie and started sanding away on one case to see what happened. My perpetual overestimation of sand paper's ability to remove material combined with the fact that the heaviest sand paper I had was 320 grit quickly doomed this plan. Next I thought about using the file on my leatherman. It was long, straight, and better at removing material than the zip tie. it was even thin enough to produce channels that were only a bit thicker than the circuit board. I put masking tape on the sides of the file so that it would dig channels in the middle of the case. This seemed to be working quite well. Unfortunately, when I tried to fit the shaved drive into the case, it didn't it. The grooves were deeper near mouth of the case. In a last ditch effort (at this point I had already shaved the circuit board down) I grabbed a drill and started working down the sides of the case with a small bit. This worked surprising well considering the fact that it was probably not correct drill technique :/ . If I were to ever repeat this project, I would prefer to use a drill press and see if I could  cut away a half cylinder without having to misuse a drill.

The case with the grooves cut:


I will leave solving problem number two for another post. 

Tuesday, July 8, 2014

First Post! (Fanfare...?)

Hello! This is a blog where I will be going over projects I am working on / have completed. I want to get better at documenting the projects I am working on so that I (and others) can use the documentation when similar issues are encountered later. I also want to use this blog to keep track of non-project things I do so that I am better able to track what I accomplish and improve my productivity. I don't know how well I will be able to keep this blog going in the fall, but I will try. So, off on an adventure! (Oh, there will probably be lots of xkcd links as well, and the views expressed in the xkcd comics linked to from this blog do not necessarily express the views of the person mindlessly hitting small buttons on a black box to change the pattern of lights on a screen attached to the black box).