Monday, June 18, 2012

Goodbye Blogger

I've officially moved off Blogger. I initially chose Blogger because it offered a lot of functionally for free like custom domain names, but I felt it was time to self host and be in control of my data. 

The domain for the new site hasn't changed. You can find it here:

Sunday, June 10, 2012

Logitech MX510 high pitched noise solved!

Over the last few months I've noticed a really annoying high pitched noise in my room. I just figured it was one of the many devices in my room or maybe it was all in my head. Turns out it was my Logitech MX510 mouse! According to this great website Logitech is pulsing the wheel encoder LED at 5KHz and the harmonics create a 15KHz tone in one of the crappy capacitors. Solution? Just replace C11 with a 0.1uF tantalum capacitor. Also removed the metal thing under the scroll wheel to get smooth scrolling!

Tuesday, June 5, 2012

DIY Electronic Derailleur on Instructable

I've posted an Instructable showing how to build and install an electronic derailleur. If you like this project please vote on the Instructables page. This has nothing to do with my bike computer and is meant for people who enjoy building stuff themselves. A more complete and finished product including my bike computer is in the works. 

For now the Arduino sketch, schematics, Fritzing diagram, bill of materials and CAD diagrams can be found on the github

Tuesday, May 29, 2012

The Open Goldberg Variations

The Open Goldberg Variations, by Kimiko Ishizaka, has released their recordings in the public domain for everyone to enjoy. It started as a Kickstarter project last year as did MusOpen, which is on a similar mission. Enjoy.

Sunday, April 8, 2012

Open source Bluetooth 4 breakout board means no more Mi-Fi

nRF8001 Breakout board layout

One thing I always need for my hardware projects whether I'm working on sensors for the home or a fitness device is a low power, cross platform and affordable wireless module. I've used HopeRF modules like the RMF22B for their affordability and low power capabilities, but because they don't use any standard wireless protocol I'm forced to make adaptors for endpoints like smartphones or computers. Wireless standards like ZigBee partly solve this problem, but off the shelf modules are expensive and still don't help if you want to talk to a smart phone. One might think Bluetooth is the solution then, but in the past power efficiency and range were a problem if you were building a temperature sensor for example. Also, you had to be a certified Apple accessory developer if you wanted to make a Bluetooth accessory for the most popular smartphone in the market. Well, all of this has changed with Bluetooth 4.

Bluetooth 4 Low Energy is the latest incarnation of the Bluetooth standard, which most devices released this year will adopt. says, 

            Key features of Bluetooth low energy wireless technology include:
  • Ultra-low peak, average and idle mode power consumption
  • Ability to run for years on standard, coin-cell batteries
  • Low cost
  • Multi-vendor interoperability
  • Enhanced range
There are 2 reasons why you should be excited by this. First, this low energy mode means you can use Bluetooth in a range of new applications like home automation, wearable electronics or anything that needs data logging for long periods of time. Second, Apple has opened up their Bluetooth API so anyone can create a Bluetooth accessory for iOS 5 and later. Why did they do this? One reason might be they don't have to worry about developers draining a users battery with a crappy accessory as much. I can't think of any reason to use a different wireless standard for these reasons.

This brings me to my breakout board. This breakout board is the reference schematic for the Nordic nRF8001 done in Eagle originally done in Altium by Nordic. It is a simple wireless transceiver with an SPI interface with few passive components. 

Why this IC? A quick search on the major electronic distributor websites shows there are a few manufacturers of Bluetooth 4 chips.
  • Blue Giga   ~$20 - $40          
  • Cambridge Silicon Radio   ~$3
  • Nordic Semiconductor   ~$4
  • TI   ~$5     
  • Panasonic  ~$15
  • RFM (same one iphone uses)  ~$40
Parts from Panasonic, Blue Giga and RFM provide ready to go modules, which explain their high price. RFM actually includes WiFi! Only TI, CSR and Nordic provide ICs. However, TI is a bit larger and expensive because it provides a complete system-on-a-chip with integrated 8051 processor while CSR makes you sign a NDA to get the datasheet. So I choose Nordic because of the ICs small footprint, open specs, affordability and simplicity. Sourcing the parts from it looks like a populated board should cost ~$12. Take a look at my BOM.

One thing you should keep in mind is none of these chips are backward compatible with older Bluetooth standards, but that should not be a problem by the end of 2012.

I plan to send out the board and order the parts this week. Hopefully I can also start working on firmware and a few demo smartphone apps. Until then checkout the source on Github.

Credit to Dr. Michael Kroll for the information about Bluetooth 4 and Mi-Fi. Check out his Arduino Shield.

nRF8001 Breakout board schematic

Wednesday, March 28, 2012

OLinuXino - 30 EUR, open source, hand solderable Linux computer

If you have been following my smart home project you'll know that one of the improvements I was working on was developing a simple Linux computer to act as an internet gateway and web server. This type of product can be very useful for many projects where having a full operating system can make life much easier.

I chose the iMX233 processor from Freescale because it is affordable in small quantities ($8.39 from Newark) and comes in a QFP package, which is important to be able to hand solder it. Another downside of BGA packages is they require higher tolerances and therefore more expensive PCBs to manufacture.

Yesterday I was directed by Nelson Neves to a very similar project already in production by Olimex. This is how Olimex describes it

OLINUXINO is Open Source software and Open Source Hardware, low cost EUR 30 Linux Industrial grade single board computer with GPIOs capable to operate -25+85C. 
People keep comparing OLINUXINO with Raspberry Pi and BeagleBone project, so we would like to state the differences here:

Although the projects are similar there are different goals and implementations:

OLINUXINO is completely open source - including hardware and software, this means you have access to all CAD files and sources and you can reuse them for your own personal or commercial project.
There are NO restrictions to manufacture and sell these board for your own use or resale.
OLINUXINO use widely available microcontroller iMX233 which cost USD 5.50 in 100 pcs quantity, this means that people can spin off their own boards and manufacture them cheap as the processor is in TQFP easy to assembly by hobbyist package.

RASPBERRY PI have no released CAD files nor complete schematics, RPi uses processor from Broadcom which is not available for sale in small quantity, it uses BGA package which require expensive setup to assembly.
RPi is designed to be home gadget, OLINUXINO will work in industrial environment -25+85C and will be designed to be low cost but NOISE immune.

BeagleBone have open source CAD hardware files but uses BGA processor and BB board is very complex and hard to manufacture in small quantities.

Olimex Blog:

Thursday, March 15, 2012

Weekend Project: = + Pinterest

UPDATE: Source code on Github

Introducing A way to share all of your likes and favorites from across the web. You can think of it like except with your 'likes' from various social networks embedded on a Pinterest style page. 

Planned Improvements

Infinite scroll, more services, pop out images for a larger view, user thumbnails, personal pages, visuals for tweets with no links and instructions :)

Unfortunately, Facebook doesn't provide a users likes without authentication, which defeats the purpose of having a public like list and Google Plus doesn't have an API for retrieving +1's yet.