Sunday, September 15, 2013


If you weren't already aware, there's this new product concept going around called Phonebloks. With the attention it's starting to get, I thought I'd throw my hat into the discussion. The basic concept is an almost lego approach to the concept of smart phones. Every part of your phone is made up of building blocks, i.e the processor, camera, screen, radio, etc. What Phonebloks aims to do is modularize each of those blocks. In this way if your phone is too slow, you can easily swap out the processor block for a faster one. Your screen breaks, swap out the display.

Let me start by saying this, I in no way want to discourage people who think this project is a good idea. This is merely my observation. I've seen a lot of projects like this. I remember a couple years ago there being a computer that you would be able to roll up like a mat and carry with you; the video for which can still be found on YouTube. The thing that you have to remember when seeing these ideas for products is that most of the time they're not designed by engineers or anyone who understands the nitty-gritty of the design. More often than not, they're designed by industrial design majors as part of a final project. From what I've seen of this project, that seems to be the case for this as well.

Lets start with the biggest selling point of the product, the modules. Every piece connects to a sort-of perf board via copper connectors on the back of each module. Each module can be placed in any spot on the board and configured in any way. Anyone who has ever attempted to connect a USB cable the wrong way can understand why this concept won't work. They're has to be a standard as to where each connection goes so that components don't get damaged and everything can communicate properly. Which brings up another issue, standards. There are at least 2 standards. Look at text; there's UTF-8 and UTF-16. DVD, there was laser disc, standard definition, high definition, HD-DVD, and now Bluray. I can't image that every component on the phone is going to have the same pinout, and be able to interact with other components in the same way.

I think what I'm trying to say is that while this is an interesting concept, you should be aware of who's designing such a thing. Are they actually a professional in fields that would have to design such a thing? Or are they someone who thought of a cool idea and were able to make excellent visuals to represent it? My prediction, don't expect to see anything like this on store shelves anytime soon.

Tuesday, September 3, 2013

AVR Synthesizer Kit

If you remember a while ago, I mentioned that I had built an AVR based digital synthesizer and had entered it in an Instructables musical instruments competition. While I didn't win the contest, I did at least make it to the final voting round, so thanks to everyone who had voted for my project. However I do still have that synth and all of the design files and code. 

So what I want to do is turn this project into a simple kit. It will have all of the functionality of my project, but with a few changes (See those links for more info). There are still a few things that need to be ironed out, the manufacturer of the PCB for example. To get an idea of how many people would be interested in this kit, I ask that anyone who is interested follow this link, to register your interest. I need about 50 people to express their interest so that the price of the board can be kept under $10 for production. The total cost of the kit is looking to be about $40, without shipping. If I do get a good number of people, and everything else works out, everyone who registered their interest will get an email with a link to place your order. Hopefully you should get your email by the end of the month or early next.

Saturday, August 3, 2013

A Healthy Dose of Dentistry

So yesterday I had my wisdom teeth out. And as I write this, I'm lying in bed enjoying the lovely effects of Vicodin. So until my wounds have healed I don't expect any videos out this week. However I am still responding to my email and answering your comments; so if you need to get in contact with me you can.

I've been doing some thinking. I've been getting some positive response to my digital synthesizer, and I've had some requests as to my code and schematics. This has lead me to this thought, I create a kit for the synthesizer. If that is something you the reader would be interested in, let me know. I have a couple other ideas for some kits as well, but I'll wait to see if there's any response to the synthesizer kit.

Wednesday, July 31, 2013

New Toys

So I finally bit the bullet and bought myself an oscilloscope. Not a fancy $3500 tabletop setup, but a nice DSO nano v3 pocket oscilloscope. Why is this a big thing, well, I've never done that much that has ever required the use of an oscilloscope. The first thing I ever used an oscilloscope for was when I played around with generating analog television signals. But now that I'm working on some synthesizers, I'm doing more with analog electronics and having this tool should prove to be incredibly useful. You can also expect ot see it make an appearance in some upcoming videos.

Thursday, July 4, 2013

AVR Synthesizer

In case you didn't know, I've been working on an AVR based synthesizer. You can check out some of the videos that show it off here, here, and here. Since then I've been working on getting the source code, schematics, and documentation together so that you can build your own. Now with the new GitHub setup, I've published all of the files, schematics and documentation. Please read the ReadMe as there is some important stuff in there and I'm always happy to take questions if something in what I've published doesn't make sense. Check it out.

On a related note, I'm putting in some more work on this to enter it into a project on Instructables. I'm going to enter it into 2 categories: the musical instruments and Arduino contests. If you belong to Instructables and like my project, go ahead and give it a vote. If I do win, I will be returning the favor to my audience with a few giveaways. I'll post again when I have the entry ready with a link.

Wednesday, July 3, 2013

A Change of Scenery

As some of you know, I like to make the code and notes used in my videos public. Up until now, I've been using my DropBox account and that has worked fairly well. But I think that it's time for a change of scenery. Over the past few days I've been moving the stuff from the old place to Github. Github offers a more centralized means of storage, a better UI, and a better way of interaction. If you want the latest notes, you just have to pull the latest repository. I still have quite a ways to go to have everything up to the level I want, but I thought I should share this change with you now.

Almost every series on my YouTube channel, the series that actually have code and notes, has its own repo and each episode has it own section therein. I also have a section for my own projects that I want to share with the code and additional documentation. I'm also working on a few extras that I don't want to reveal just yet, but if you look, you'll find them.

Monday, June 24, 2013

Why You Should Buy A RaspberryPi

In case you don't already know, the RaspberryPi is an extremely cheap, credit card sized, full capable computer. I was one of the first people to order it when it went on sale and it is easily one of the most capable devices I have ever purchased. What you get is a computer capable of running Linux, networking capabilities, television output, and over 15 GPIOs with various capabilities. For the cost of the Arduino, you can have that and so much more. If that hasn't convinced you, let me go into the rant I have prepared.

This little computer is cheap. Really cheap. For $30, you can have a personal computer, provided you have a television. It's really great as a child's first computer, or as second computer, or even a little file server. But while it can be used for those traditional, almost boring things, there's something better. 

Again, it's cheap. So cheap you could probably afford to put one of theses almost anywhere. I have two Pi's of my own. The first one I bought turned my normal TV, into an internet enabled entertainment center. By using the Raspbmc image, I have a TV that I can stream YouTube, music, movies and even pictures from my computer, phone, or  iPod. I want to use my second one to run my smart dorm when I go back to school next semester. Any place you have ever thought, "Gee, if only there was a computer here", with the RaspberryPi you can actually make it happen. There is almost no limit to what the RaspberryPi can do.

Tuesday, June 11, 2013


Okay...I may have been a little too optimistic when I said that my employment this summer wouldn't interfere too greatly with my video schedule. I have probably never been so wrong. I'm not used to working 8 hours a day, every day, so it's going to take me some time to get adjusted to my new schedule. I guess that it shouldn't be much longer than a week to get back into the rhythm of things. I'm still doing some of the things mentioned in my last post, and I do have an interesting project I have been working on in my free time. While I am getting reset, you can still get into contact with me via my email,, if you have any immediate questions, because it's far easier than trying to talk through YouTube.

Now that that is sorted, I have a request of any of my readers who may be artistically inclined. You may have noticed that YouTube has changed how they present channel pages. Since the change, I've felt as though my page is somewhat lacking. Thus I ask those of you blessed with good color sense and a steady hand, if you could create some channel art. I would be very grateful for your contribution. I can't guarantee any sort of reward, but I may be able to find something.

Sunday, April 7, 2013

Future Video Plans

With midterms and the semester coming to an end relatively soon, I think it's time to reveal plans for future videos. Hopefully I should have more time between midterms and finals to put up a few more videos. Then come the summer months where my employment shouldn't interfere with my plans too much.

I've published 15 Arduino tutorials thus far, and I feel that there are only going to be a few more as I feel I've covered everything that can be done with the native device. That being said, I do want to do some more videos exploring some of the interesting things that can be done with shields and extra libraries. I'd also like to explore the Arduino Due, given the time to procure one.

I'm still going to continue on with the AVR-C tutorials, along with Electronics 101 and 201. The Minecraft Redstone tutorials may require some rethinking, but that should continue as well. The "On A Breadboard" videos will continue as soon as I can gain access to some better testing equipment, specifically an oscilloscope and a LLA. I have some other video ideas that I want to put up that don't fit in any specific category, that will appear periodically, as well as some project videos.

Finally I have 2 new series to announce. First is moving to a different architecture microcontroller. I'm going to start doing videos using the ARM Cortex-M4 microcontroller built into the STM32F Discovery board. The second series is something a few people have requested. It's a series based around learning assembly with the Z80 processor. This series will have 2 purposes; one being to introduce assembly to interested programmers, and the second is to cover building an entire system around a microprocessor, rather than a microcontroller.

I hope you all enjoy these new series. Remember that I am always willing to take topic suggestions.

Monday, March 25, 2013

The Importance of Assembly

There's a commonly held belief among programmers: if you want to be a great coder, write something new everyday for a few years. While this may be true, I find that it tends to settle a programmer into a particular language. Doing so, almost closes the mind to what one is actually doing, entering in line after line of code. I feel that it makes a coder lazy. Sure laziness can be a good thing; who knows what the world would be like if someone hadn't invented the methods copy and paste. But laziness can make programs inefficient and heavy. I believe that if developers encouraged more efficient means of coding, computers of today wouldn't need to be anywhere as powerful. The problem with higher level languages is that they use higher level commands, copying and pasting snippits of lower level code that have a general use, and a general efficiency. Most programmers will never know the complexities of a command as simply as print.

I am someone who can program in assembly. Not for any big processors, like x86 or x64, but I know my way around ARM, AVR, and Zilog. Writing a small amount of code completely changes how you look at other projects. In assembly, you have to be cognizant of every line of code, because you want to squeeze every ounce of power out of what you're writing. It encourages writing specific bits of code in specific ways, for specific purposes. Every piece of code is purpose specific. Every problem requires a creative solution. If you want to be a great programmer, learn a little bit of assembly. It goes a long way.

Wednesday, March 20, 2013

Learning from Datasheets

As a computer engineer, one of the most important things to learn is how to read a datasheet for every piece of information it can offer. Everything in a datasheet outlines, quite literally, every detail of its subject. By now you've probably gone through quite a few datasheets for various ICs to pull out some quick information like the pin-out or basic circuit configurations. But there's more information there. Take the 555 chip for example. In its datasheet, not only does it have several basic circuit configurations examining different modes of operation, it also has example values, timing formulas and waveform outputs for each of them. There are also notes detailing what you should be cognizant of, and general suggestions.

The real skill of reading a datasheet is being able to sift through something as dense as a controller datasheet. The sort of thing that details the operation of microcontrollers,  processors, LCD devices and sensors. A lot of information about how to get started with, or how to implement is contained within these documents. Microcontrollers and processors will often have example code, or something close to, specific to various components of the device. LCD controllers will have timing information for how to communicate with the device and what output that will result in. Sensor datasheets will often have formulas for calculating real life units from data, and what will produce certain output.

Datasheets are a powerful tool, but it takes patience to realize their true potential.

Saturday, March 16, 2013

The State of Things So Far

I realize that it has been several months since my last post. I fear that what this blog is going to devolve into is just a series of posts apologizing for not having more to write. So here's a general update. With school, lack of equipment, and general laziness, my posts to the YouTube channel have been some what sporadic. I recently past 60 uploads and over 2,000 subscribers! I hope that over the coming week off, I can upload some more videos and begin chipping away at the list of suggestions I have accumulated. 

One of the great things about having this blog and the YouTube channel is the people that I  come into contact with. Recently I've been in contact with a student studying astrophysics, requesting help for an Arduino controlled light spectrum analyzer; here's hoping that his experiment goes well. I have also been in contact with two missionaries, looking to use microcontrollers to aid in their field work. Helping people is one of the biggest reasons I started my channel and this blog, and it's a great feeling to know that I am actually accomplishing that.

Thanks to all of my subscribers and readers.