Showing posts with label DIY. Show all posts
Showing posts with label DIY. Show all posts

13 October 2012

Project "Solder : Time II™ watch kit, by SpikenzieLabs" (2/2)

i have been spending the past few weeks integrating and programming the SolderTime2 to work with a BMP085 barometric pressure and temperature sensor and it finally works the way i want it to. it now functions like a (very) poor man's Tissot T-Touch (okay..just the barometric functions and not the touch functions).



the I2C port on the SolderTime2 makes it possible to add a whole lot of other I2C sensors (gyroscope, compass, humidity) to the watch as long as the additional modifications to the program does not bust the total amount of memory available on the watch which is 32kbytes.

i removed the worm animation mode as well as the scrolling text mode on the watch to free up some space in the flash and i have already used up about 26kbytes but i think it is largely due to my inefficient code! (still a work in progress)

i bought the sensor from adafruit.com here:

https://www.adafruit.com/products/391

it requires either a 5V or 3.3V source so i also got a CR2032 battery holder from adafruit to power the sensor:

https://www.adafruit.com/products/653



amazingly i also found that a tin of Milton Pastilles Candy (commonly sold in Singapore) has the exact diameter of the watch's front cover, give or take a millimeter or two, and can be modified to fit the watch with the additional sensor. i haven't worked on the tin yet but that will come later on when i have the time to get around to do it.




the positive end of the battery goes to Vin and the negative goes to ground. after some simple circuit tracing, i found that the SCA and SCL ports can be wired to from the two resistors on the top left of the watch. the left resistor being SCL and the right resistor being SCA.

the ground of both batteries have to be connected together for the sensor to be able to recognize the data coming from the watch. i did not know this and spent a long time troubleshooting before my brother explained to me that it is required otherwise the sensor has no common reference to zero and any signal i send over is unrecognized. (wasted good portion of my life finding that out)




*EDIT* i forgot to mention that the BMP085 sensor board from adafruit includes 10k pullup resistors for the I2C ports and they need to be removed by simply touching a solder to the resistor and taking them off. 10k pullup resistors are already provided on the watch, in fact the modification wires are soldered to the resistors themselves.

i have programmed the watch with an additional mode "ALT" to display the altitude above sea level in meters and also to be able to set the localized sea level pressure (obtained from any local country's weather website, also known as QNH). in this case, the pressure in singapore at the time of making the video posted at the beginning of this blog post was 1,008.14mb and when i set it to that pressure it displays 48.5 meters above sea level which should be correct as my location was situated on top of a hill.

it also has a mode "TEMP" displays the current temperature of the sensor, and the temperature goes up when i put my finger on the back of the sensor's PCB.

i will be happy to share the codes with anyone interested to make this modification to their SolderTime2, just drop me an email and i will send them over!

(link to page 1/2)

24 August 2012

Project "Solder : Time II™ watch kit, by SpikenzieLabs" (1/2)



this was a DIY watch kit i bought a few weeks ago that finally arrived here yesterday. it is basically a microprocessor programmed and designed to function as a watch. it is completely 'hackable' which means that you can create and flash your own programs to the microprocessor and make it do whatever your creativity allows you to do.

its very easy to assemble and all i needed was a soldering iron, solder, and a pair of wire cutters. SpikenzieLabs have very clear and easy to understand instructions on their website here:

http://spikenzielabs.com/SpikenzieLabs/SolderTime_2.html

i wanted to buy the kit from their shop but they did not reply my mails regarding shipping price after many days so i bought it from adafruit instead:

http://adafruit.com/products/950

it cost $59.95 USD for the kit, and if you want to upload your own sketches to the microprocessor you will need an FTDI cable. since i didn't have one around i bought one from adafruit as well here:

https://www.adafruit.com/products/284 ($14.75 USD)



it's no rolex obviously...but it is a great introduction to C++ microprocessor programming! 



you only need to install the battery holder, buzzer, two push buttons and four LED arrays and you're ready to go.

UNFORTUNATELY for me, the acrylic top plate of my watch was cracked on two of the four supports holding the plate together. the plate is still held together but i'm afraid any sort of pressure would snap it easily. i sent out an email to adafruit in hopes that they will send me a replacement or something but i don't know what is their policy on this. the other pieces of acrylic are fine but the top piece is the thinnest and might have cracked during packaging or in transit. i will update this post accordingly if they get back to me with a replacement.


*UPDATE* they got back to me really quick! and they've agreed to send me a new replacement plastics kit! 

*UPDATE 2* i have received the replacement kit today! 10 days after they said they'd ship another to me. i won't be removing the issue about the cracked acrylic because i want everyone to know what great customer support Spikenzielabs have given me! I have plans to add an additional I2C device to the watch in the coming weeks and would probably make my own casing for the watch but I will definitely be reusing the front plate for my next project.



that aside, the watch worked fine when i put the battery in. the latest sketch was already pre-installed into the watch. i followed the instructions on SpikenzieLab's website and got the Arduino IDE on my laptop and spent some time reading and understanding the codes. if you have done any sort of microcontroller programming before it should be easy for you to understand how the program works. i have never touched any sort of Arduino before but it is all pretty straightforwards.



the programming (FTDI) port is located on the back of the watch and to upload your own sketch you just need to stick the pins of the FTDI Friend (for my case) into the port. make sure the correct pins go into the correct ports! the FTDI Friend needs some basic setting up on your computer as well but again, the instructions can be found online and is easy to follow:

http://www.ladyada.net/learn/breakoutplus/ftdifriend.html







the LEDs on the FTDI Friend will blink if the sketch is being uploaded. the pins do not click snugly into the programming port and the website suggests using a light diagonal force to ensure they make contact with the connectors and this is what i did in the picture above.

for a quick demonstration i just changed the scrolling text message to "Hello World" and set a slower scroll speed than the default one. i uploaded the sketch and sure enough the scrolling text showed the change:




this watch is HUGE and honestly hard to match with any outfit unless you're going to an electronics themed club or party. but as i mentioned before it is a very interesting way to dabble with simple programming and you get a cool watch out of it all!



(link to page 2/2)

08 July 2012

Project "DIY Vacuum Record Cleaning Machine"



i've always had a problem with dirty vinyl records and I know that playing records with all the muck in the grooves will eventually ruin both the record and the stylus of the player.

there are actually specialized vinyl record cleaners available commercially but they range from the simple Spin Clean machine that costs $200SGD (http://www.spincleanrecordwasher.com/) to the extravagant Nitty Gritty that costs anywhere from $600SGD to $1700SGD (http://www.nittygrittyinc.com/).




i don't have enough dough to spare for either and thus i decided to see if i could make my own machine and went down to the nearby Salvation Army thrift store and got a used vacuum cleaner to salvage the vacuum motor.

the machine case is made of 12mm Perspex which is slightly overqualified for this project (i would've used wood) but that was all that was available to work at that moment because there was some lying around. it adds the 'cool factor' of being able to see everything in operation when the motor is turned on though!

my father very kindly took my very crude and simple design and upgraded it. he drew the design up in AUTOCAD and used a CNC router to precision cut the case of the machine and i had the simple job of putting it all together with screws.



the platter and clamp is also made out of the same perspex. the spindle was machined using a lathe and attached to a simple ball bearing. the clamp works well to turn the record but unfortunately it is too light to do its job during the vacuuming phase and i have to turn the record manually by hand at the edges while vacuuming. i glued on hardened felt to the platter as well as clamp to give it some grip on the record when turning it.




the vacuum motor is fixed in the middle of the case and made to be as airtight as possible for the best possible vacuum efficiency. the exhaust side of the case has grilles cut into the perspex for the air to exit. the motor speed was found to be too powerful for this application and a motor speed control card was added to limit the power of the motor in operation.



a glass jar is placed at the intake with two holes cut on the top and some water is added to the jar so that any dirt and dust will settle in the water without going into the vacuum motor. there was no need for an exhaust pipe that extends to the mouth of the vacuum motor as the motor is strong enough to suck in air just by placing the jar in the compartment in front of the motor.



the side of the record cleaning machine is held by two clips and lined with rubber gaskets. this is so that it will be easy to remove the jar for cleaning without having a need to unscrew the supports.



the side of the machine also features an adjustable bleed air port. this was put in in anticipation of the motor being too strong and this sliding port would allow me to adjust the power of the motor. but with the addition of the motor control card this port is actually quite redundant now.


the vacuum nozzle is made using simple PVC pipes. a 3mm slot was cut into the pipe and lined with high quality velvet. 





the record cleaning fluid is also DIY, made with 3 parts deionised water, 1 part isopropyl alcohol and 1 drop of dishwashing fluid. the brush is a good quality wet cleaning brush with sturdy nylon bristles to get the grit and muck out of the grooves and the vacuum will suck that all away.

if you ever intend to make one of these, it will be best if you get a smaller motor or one that has a controllable speed. the motor speed control card was only added after the initial design and if i knew it was going to be included i would have made the box a lot smaller than it is now (40cm x 25cm x 25cm).





07 April 2011

Project "DIY FreeTrack IR Headtracking for PC"

i stumbled upon the concept of headtracking for the PC some two years ago when i was very into flight simulators (still am, but there aren't any new simulators that capture my attention). again, like the DIY PS3 mouse and keyboard adapter, i did not create or program this...i just followed the instructions online. 





basically, by using a webcam for the computer and some infrared LEDs, you are able to build your very own headtracking device that would work in games that support it (most flight simulators, racing games, even some first person shooters). so instead of using your hatswitch on your joystick or the buttons on your keyboard to look around in your virtual aircraft's cockpit, you can simple move your head around and your viewpoint would change accordingly.

i actually smashed this setup together nearly two years ago to see if it works (and it did) and then i forgot about it after awhile. i didn't do a good job at all putting it together, but the idea now is to show how it works so just ignore the loose wires and *cough* universal black tape. there are two main versions of the 'rig' which is either mounting the LEDs on the rim of a cap, or mounting them on a 'clip'. many users have posted their builds here: http://www.free-track.net/english/hardware/point_model_gallery.php

the official name for this sort of device is a 'optical motion tracking' game controller. if you know how a Wii remote works then you already have the basic idea because it is very (if not entirely) similar. the official commercial product has been around since 2001 and was known as TrackIR 1, with the most recent version (TrackIR 5) being released in 2009. TrackIR retails for $150USD(!!!), and budgety ol' me doesn't have that kind of cash to blow on what is essentially some LEDs, a webcam and professional software. after looking around on the internet, i found a free(!!!) program created by some geniuses over at http://www.free-track.net/ and the best part of it is you have to DIY a simple rig together to make it work. 

by putting 3 infrared LEDs together in a triangle (or line, depending on whether you're building the cap version or the clip version) of specific dimensions (depth and height), the webcam and software would be able to detect and calculate how much and in which direction you move your head (as mentioned, like a wiimote). using 3 LEDs would enable six degrees of tracking; pitch, yaw, up, down, forwards and backwards. there is a version that uses only 1 LED but then you'll be restricted to just pitch and yaw as there is not enough information to calculate the rest.

looking through the parts list, it is obvious it won't cost you more than a few bucks (cents for me because i already had all of it lying around):

- 1 x resistor
- 1 x standard USB cable
- 1 x cap
- soldering kit + wires

cut away one end of the USB cable and solder the resistors to the positive (red) wire to drop the voltage down to a level the LEDs can operate at. solder the LEDs together in series with enough wire length to space them apart to make the triangle of the specified/desired dimension. ignore the really shoddy build as shown in the picture below, it was hastily put together with nothing but black tape holding everything in place and the cap was the only free cap i had lying around (coincidentally its from the airshow and i use it for my flight sims...)







there are quite a few webcams that are well suited for this program and there is a list here : http://www.free-track.net/english/freetrack/comment-ca-marche.php, i borrowed a microsoft vx-1000 from my brother and it works fine.

if you're wondering why infrared LEDs are used, it is because they do not emit visible light that would distract you and ruin your gaming experience. it is also possible for infrared light to be picked up by the webcam in broad daylight whereas normal LEDs would be overpowered by stray lights. one addition i made was to put a piece of developed but unexposed 35mm film in front of the lens of the webcam to filter out everything but infrared light and it worked spectacularly.






you can tweak the program and set it up to your preference with settings such as deadzone and sensitivity and can save many profiles for use in different games. i won't go through the nitty gritty of how to set it up, but if you're interested there is a handbook on the official website here: http://www.free-track.net/fichiers/manuel21en.pdf






i haven't had any chance to try the TrackIR so i can't compare it with the FreeTrack version, but i'm sure the TrackIR should be more convenient in many ways (especially for people who don't like to DIY).