Lifelong Learning a blog of all the things I've learned about…

19Jun/144

blink(1) mk2 for the win…

blink(1) mk2 by ThingM

Last week I finally received my two new shiny blink(1) mk2 USB RGB "things"; these were rewards for helping fund the KickStarter project from ThingM. The mk2 is the second generation and even cooler version of thier RGB blink(1) devices. They are hackable USB powered indicators and I had a project in mind for one my mine which I jumped on right away. I wanted a way to indicate to cube mates when I was on the phone and shouldn't be disturbed (folks are always interrupting as they can't tell I'm on the phone before they barge in asking questions, awkward for all involved really). These blink(1) devices are the perfect fit for such a problem. I taped one up on my monitor, fired up Visual Studio and build myself a quick system tray applcation that will allow me to change the indicator color with a single click. The application also automatically switches the indicator when it detects I'm idle for 5 minutes. As soon as I interact with my computer again, the indicator automatically switches the indicator back. Super quick project and couldn't have been possible without the .Net library for the blink(1) by Jean-Francois Talbot and the great hardware from ThingM. As always source code is below and I've even recorded a quick video of the system working. Now to find a project for the other blink(1).....

blink(1)SysBarCTRL
Title: blink(1)SysBarCTRL (131 clicks)
Caption:
Filename: blink1SysBarCTRL.zip
Size: 682 kB

2Mar/142

Dynamic DNS Updates For Multiple Hosts On A Synology

Need to update multiple DYNDNS.org hosts on your Synology? Frustratingly you can't update multiple hosts with the GUI on a Synology. Once you select DYNDNS.org as your provider you'll see there is only the option to enter a single host to be updated. After you add that host, the option to select DYNDNS.org in the dropdown for the providers so you could add another record is gone. I was able to accomplish this with little effort and here's how you can to.

Since I'm attempting to host a few personal blogs on my Synology, I needed several different domain hosts to get updated. I only tested this using the same credentials with different hosts targets. You may very well be able to do this for different DYNDNS.org accounts if needed.

First, you need to make sure you have SSH enabled on your Synology (if not, google it). SSH into your box as root and type in the following command:

vi /etc/ddns.conf

Now you should see the contents of the ddns.conf file on the screen. You'll want to copy all the values exactly except for the "hostname" line which should be changed to match the additional hostname you wish to have updated. You must also add a number the the block the update "[DYNDNS.org]" should become "[DYNDNS2.org]" and if you wanted a third hostname updated, "[DYNDNS3.org]", etc.

All done, go back to the GUI and open the DDNS service and you should see entries for all the hosts you manually entered. Hope this helps someone else who has a similar need as I did...

Example of what your ddns.conf file will look like.

Example of what your ddns.conf file will look like.

 

Filed under: Computers, Software 2 Comments
10Nov/100

Arduino Clone Powered RGB Keyboard Light

I recently remodeled my office as I'll be working from home full-time starting in March, it's amazing what you can do with $1k dollars at Ikea! Anyhow, love my office setup, especially my desk but I had one nagging issue, I couldn't see the keys of my keyboard easily when the office was dark. My wife subltly suggested I get some sort of light to put underneath my desk to illuminate the keyboard. Ah, how I love my wife and her fantastic ideas...   

Obviously, I wouldn't settle for some store bought device, I'm a self-declared "Maker" after all! After several days of tossing around ideas in my head, I decided it'd be super neato to have an RGB LED board under my desk and have it connected and powered by my computer. I'd then have some software sit in my system tray so I could control the board (colors and etc). Yeah, that's exactly what I needed!

So, yesterday I decided I'd set out to build it with only the parts I had on hand, I'm having a baby and thusly on a very restricted hobby budget!

Since I'd be etching the board myself, I knew I'd use through hole components to make life easier and I centered the project around an ATMega328 since I wanted to use serial communication with my PC and the quickest path was to use Arduino programming language (using a FTDI cable). I also wanted to utilize some 5mm common annode RGB leds I had on hand from a previous project but I wanted at least 5 to make sure I had good illumination on the keyboard and I wanted to use PWM to allow color mixing...well, a few 2907A transistors and a dozen or more resistors later I had a schematic I could be proud of. 

Eagle Board Layout for my RGB keyboard light

The layout of the board was easy, I had a 3"x4" single sided copper photoetch board, so I laid all my components out to fit the whole board (I didn't want to cut it). I also learned the hard way that small traces are a pain in the butt when etching your own boards so I set my traces to 24mil, genrously large enough to not create issues during the etch. I didn't get any pictures of the board before it was mounted, sorry. You can always refer to the board image in the zip file attached to this post.

Once I had soldered all my components on the board, I threw in an ATMega328 micro that already had the Arduino bootloaded burned. Hooked up my FTDI cable and my test sketch worked flawlessly. Whew, nothing like going from concept to finished board with no testing to get the nerves going!

With the board testing out good, I set about coding up a C# app to control it. I had previously worked with serial comunications using C# and an Arduino which I talked about in this post so the C# code was really more about figuring out how to get a sys-tray app working as I wanted than worrying with the serial communications. I think it took me about 2 hours from start to finish to get things to a point I was happy with (nice and quick not nice and neat). I'm a developer by trade so I knew all along this would be the easiest part for me.

Well, a very quick project for me, one I'm quite proud of actually. As always I've attached high resolution pictures, eagle schematics, Arduino sketch and this time the Visual Studio solution in the zip below.

Drop me a note if you have any questions about this project, I think it's a fun and easy project for folks to test out thier etching and coding skillz!

Check out the videos below to see the software and board in action!

KeyBoardLightProject
Title: KeyBoardLightProject (431 clicks)
Caption:
Filename: KeyBoardLightProject.zip
Size: 19 MB

KeyBoardLightProject
Title: KeyBoardLightProject (431 clicks)
Caption:
Filename: KeyBoardLightProject.zip
Size: 19 MB

17Sep/100

My FreeNAS Build (Part 3 of 3)

So after a few months of using FreeNAS I've decided I can't live with the insanely slow transfer speeds. Unfortunately FreeNAS is built on FreeBSD and has a terrible port of SAMBA service. It's so slow it's painful!

I'm not bashing on the developers, they've done a fantastic job with the tools provided to them under FreeBSD, I just think the call to use FreeBSD was a bad one, especially when the software is supposed to be a NAS and has a known poor implementation of SAMBA.

At any rate, it's my opinion that anyone who is technical stay away from FreeNAS and just utilize Ubuntu server or the like. For those who are not technical, I'd suggest Microsoft's Home Server, it's performance on file transfers smokes FreeNAS and it's fairly moron-proof.

As for me, I'm installing Ubuntu Server 10.4 and never looking back. My goal was to evaluate FreeNAS and it's core purpose was file storage which means lots of file transfers and that's the one thing it sucks the most at...sorry FreeNAS, I've found another and I'll never look back.....

So if you've been following my FreeNAS posts, you know I gave FreeNAS a fair shot, if you haven't been following along, let me save you some time by saying don't waste your time with FreeNAS. If you are just in love with the idea of FreeNAS wait for OMV (Open Media Vault)....

24Mar/100

My FreeNAS Build (Part 2 of 3)

FreeNAS LogoOk, so I started sourcing the parts for my new build and realized I had a few more decisions to make before I pulled the trigger on this build.  I had already roughly calculated how much space I wanted/needed. I needed to decide on some of the more technical aspects of the build, like what type of boot drive/system was I going to use, how big should it be? Do I need a gigabit network adapter and if so what kind should I get, will it support jumbo frames and do I need to invest in a server class NIC for ultimate reliability? Luckily for me some of these decisions were made for me when I opted to buy the somewhat gutted Dell XPS 400 from my co-worker. It already came with a gigabit network card onboard, 1GB RAM and SATA ports. It also only had room for (4) internal hard-drives.

I decided I'd just hit up my favorite online retailer and see if I could source all the parts I needed new from them and get what I couldn't there, on eBay. Here's what I ended up with as the foundation of my FreeNAS build:

  1. Dell XPS 400 Tower with built-in Gigabit NIC, 1GB RAM, 3.2GHz P4 Processor. $50 US.
  2. Cheap-o PCI-X video card I had laying around (the mobo didn't support AGP). FREE
  3. Adaptec 2610SA SATA RAID card from eBay, I paid $41 US for it.
  4. Lexar 2GB 80X CF card from eBay, got this gem for $15 US.
  5. (4) Western Digital WD5000AAKS 500GB hard drives from Newegg.com (59.99/each) $223.96 US for all drives.
  6. SYBA SD-ADA40001 SATA II To Compact Flash Adapter from Newegg.com. $15 US.

So my total for this build was a cool $344.96 US. Given the amount of space I'm getting and the quality of the hardware, I don't think I could have found anything prebuilt/off the shelf that would come close to this build. Not to mention the satisfaction of sourcing all the parts and building it myself.

In my next post, I'll go over the actual build and configuration of the FreeNAS software as well as my first impressions of the finalized solution.

Tagged as: No Comments
24Mar/100

My FreeNAS Build (Part 1 of 3)

FreeNAS LogoI've decided it was time to get back to the roots of my geek and setup my own FreeNAS system for the house. I've been using Mozy at home and it backs up my primary PC just fine but it's seriously lacking in features that could make my life easier, not to mention it's $$ each month I could be saving! Some of the shortcommings of my current solution (Mozy) is it doesn't back up any of my laptops, it doesn't download torrents in the background and it doesn't sync my iTunes library. These and more features are built in with FreeNAS.

I picked up a nice XPS 400 case/MB/CPU/RAM from a co-worker and started the search for all the other goodies I would need to build my new NAS. After much reading, I decided I'd go the route of installing the FreeNAS software on a compact flash drive hooked up via SATA. It's super fast, more reliable than CD and seemed like one of the more common methods of installation.

As for the data storage, I opted for an Adaptec 2610SA SATA RAID Controller with (4) Western Digital 500GB SATA drives. I'll be running these in a RAID 5 configuration which should yield just over 1TB of disk space. 1TB of disk space should be plenty for my needs for the next few years, I would suggest you take a serious look at your data storage needs before building your own, plan for the future as upgrading is possible but why bother, plan ahead!

To date, I haven't gotten all the parts in yet, once I do I'll post my build with pictures of the build process for everyone.

Tagged as: No Comments
Page 1 of 212