Using my headphones with my computer is frustrating. Whenever I want to use my headphones, I have to move my computer so I can access the back panel, unplug my computer speakers, and plug-in my headphones. Okay, maybe it isn’t that difficult, but it should be easier. How about a device that allows you to select between headphones or computer speakers? Continue reading
Catalan numbers

Recently I was trying to count the number of n-bit numbers that have an equal number of 1′s and 0′s. For example, there are 6 such numbers for 4-bit long numbers (0011, 0101, 0110, 1001, 1010, 1100). I wrote a simple program to count such numbers for arbitrarily long numbers. However, the program was computationally complex and it took a long time to compute the result for large values of n. After spending some time trying to figure out the equation myself, I searched the internet and stumbled upon Catalan numbers. I determined that the equation is related to Catalan numbers. I included the equation below because I couldn’t find it anywhere else. Also, I don’t have a formal proof, but it seems to work. Enjoy!
Number of n-bit numbers that have an equal number of 1′s and 0′s = (m+1) * Cm, where m = n/2 and Cm = mth Catalan number
How to make your own Arduino shield
After many months of working on my Arduino based project, I decided to finalize my project by making my own custom PCB. At first I wanted to design a PCB that connected to the Arduino through a series of cables. After some thought however, I realized that a shield would be better because it would eliminate the need for cables. This tutorial assumes an understanding of Cadsoft Eagle. For more information about Eagle, see the Eagle Tutorials section below. Here are the steps to make your own Arduino shield: Continue reading
Fun with FFT
This is a project that I threw together one weekend. The FFT is calculated using Processing. The FFT is then sent to the Freeduino via the serial port. The Freeduino displays the FFT on the dot matrix display using shift registers and a Darlington transistor array.
Improved light bar controller
I made several improvements to my light bar controller. I added a push button that pauses the controller on a desired color. I added a red LED to indicate if the controller is paused. I also modified the light bar so that it easily plugs into the breadboard. I did this by replacing the polarized right angle connectors with non polarized headers (one straight and one right angle). The improved controller also uses the Bare Bones Board from the Modern Device Company instead of the Diecimila. Below is an updated schematic of the controller. Continue reading
Breadboard friendly Arduino
I just assembled the Bare-Bones Board (BBB) from the Modern Device Company. The BBB is a “low-cost, breadboard-friendly Arduino-compatible” board. The BBB is cheaper than the popular Diecimila. This is because it doesn’t have the USB to UART chip from FTDI. Instead, the board connects to a cable that contains the FTDI chip. This means that if you plan on buying multiple boards, then you only pay for the FTDI chip once. The board is also cheaper because you can buy it as a kit and build it yourself. The startup kit which includes the cable costs $33, $2 cheaper than the Diecimila. Additional kits, not including the cable, cost only $15. Continue reading
How to un-clutter your desk with fluorescent lighting
If you have limited room on your desk, the last thing you need is a bulky desk lamp taking up space. I recently replaced my desk lamp with an under-cabinet fluorescent light fixture. This works well if you have shelves over your desk. If not, you might want to consider another alternative. This project involves wiring so please be careful. Continue reading
Fun with RGB LEDs
I recently connected an Arduino to a Tri-Color LED Light Bar that I bought from SparkFun Electronics. I used pulse width modulation to control the brightness of each color. The individual colors combine to make the desired color. Download the code here and see the schematic below. Continue reading
How to build a PC (on the cheap)

Last month, WalMart began selling a PC for under $200. This made me wonder, can you build it yourself for cheaper. I did a little bit of research and here is a breakdown of the cost:
- Motherboard – $59.99
- Case – $29.99
- Kingston 512 MB Memory – $14.99
- Seagate 80 GB Hard Drive – $43.99
- DVD-ROM/CD-RW Drive – $24.99
- gOS – free
- Logitech Keyboard – $9.25
- Logitech Mouse – $7.29
- Creative Speakers – $9.99
- Total – $200.48
As you can see, it costs about the same to build the PC yourself. However, you are getting better quality hardware from major brands such as Kingston, Seagate, Logitech, and Creative. When buying a PC off the shelf, you don’t usually know what hardware you are getting. Also, if you think WalMart is evil, as many people do, then you don’t have to support them. But above anything else, it is simply more fun to build it yourself than buy one off the shelf.


