Sunday, September 15, 2013

Phonebloks

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.

https://github.com/humanHardDrive

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

NEWS!!

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, humanharddrive@gmail.com, 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.

Friday, November 2, 2012

So, You Want to be an Engineer

     So, you want to be an engineer. You enjoy building with legos, or Arduinos, or just like taking stuff apart to see how it works. Maybe you like technology or large sums of cash. Maybe you just like the large number of [insert desired partner's gender here] that this field attracts. Then I submit to you this article, that covers what you should do to prepare for going into engineering, or at least a college of engineering.

     The first thing that you should do is get your core engineering classes down pat. Math, math, math, math, math. Everything, no matter what kind of engineering you go into, you're going to be doing math. I'm not saying you have to be an A student, but make sure you understand what you're learning. In college there is going to be a major change, especially in the first year of math, from the concrete to more abstract concepts. You should have taken at least a pre-calculus course, if not an actual calculus course. AP is always a plus. Having that level, puts you in a good place when going off to college. If you do take calculus, move on to a level 2 course,  and have the ability to move on to a level 3 class in college, I suggest you go back and retake the level 2. I took level 2 as a senior in high school, and felt more comfortable, taking it again before moving onto a much harder level 3 class. And there are always other math classes besides calculus that pertain to engineering. I also took a statistics class in high school, and found it to be an extremely useful math, certainly more so than calculus. If you have already taken a calculus course, definitely look to other math classes. Don't stop taking math classes. It's good to keep going until the end of high school, to keep those mental circuits fresh for the adjustment to college classes.

    Next of course is the science. This depends more on what sort of engineering you want to go into. The basics is definitely physics. Just like math, make sure you have an excellent grasp on what is being taught, rather than just learning for the test, and then forgetting everything for the next chapter. Anything beyond a level 1 physics class should be looked at by someone interested in mechanical or civil engineering. If those advanced physics classes go into such things as electricity and magnetism, then an electrical or computer engineer should probably be enrolled in such classes. Chemistry is more of a science that is suited towards chemical and biomedical engineers. Again, with science, it depends more on the field you're interested in. However, if you want to go into mechanical but still want to take a chemistry class, don't let that stop you. Take classes that you have an interest in, not only are you more likely to do better in those classes, but you might find yourself a future major.

     Testing applies on two fronts. One, you should strive to be a good student. Yes, you should go for all A's but, don't fall into the mindset of anything short of that is failure. An F, is failure; never forget that. People who fall into that mindset become stressed out beyond belief and are generally unhappy people. Enjoy taking these classes, and actually learn something. Just because you didn't do well on a test, doesn't necessarily mean that you don't understand what is being taught. There is a difference between a good student, and a bright student. I wasn't a good student, I was a bright student. Homework and studying takes time that could be spent working on a project that is infinitely more interesting, and you're applying things that you've learned. Don't let that be an excuse to just stop caring about your classes, and their work. The goal is to gain an understanding, and from that, do well on tests.
     The second front is standardized testing. This was something I absolutely loathed doing, and I had to do it multiples. It's not fun having to get up in the wee hours, on the weekend, to take a test. No matter how much is sucks to do it, it is required by colleges. The SAT is the standard, the test all colleges accept. Studying for the SAT does do a world of good; getting a tutor is even better. The trick to the SAT is learning its tricks and beating the test. I know that doesn't sound like a half-decent measure of what colleges put stock in, and it isn't. Trying to quantify what it is colleges look for is why the SAT was originally made, and while it isn't perfect, it's one of the only ways we have, besides GPA. However, there is another standardized test that is becoming more and more popular. The ACT, the one I recommend, is definitely more suited towards the engineer's mind set. There is an equal balance of math and writing, there's a science section that tests your ability to read data and make conclusions, but most importantly, it's about an hour and a half shorter than the SAT.

     Choosing a college should come down to 3 things. Number 1, can I afford to go here? If you can't afford it don't go. Having to take out numerous loans that are going to pile up is not something you should be contemplating during your next 4-5 years in college. Number 2, does this offer my major, and have decent facilities in which I may learn? When I applied to college, there were only two colleges on my list that offered my major, and both had the facilities I wanted. Determine your major, which we will discuss shortly, then research the needs that are required by such a major, i.e. equipment, space, and professors. I know it might seem like if the college offers the major, then it must therefore have the requirements. And that's true, however, you might be looking for something a little more. I wanted to do electrical and computer engineering. There are facilities that are required by each, but what I also wanted, was a microfabrication lab, a place where integrated circuits are constructed. Professors are another big thing. Yes, they're qualified to teach the field, but have they spent time working in it? How much experience do they have, and can offer to you? The final thing you should look for, number 3, is what exactly, besides an education, do you want from your college? Do you want a close community? What about a place to party? Or are you looking for some great food? College should be a place of education and higher learning, but it is also an experience. You're spending a lot of money to attend, make sure you get all of what your college has to offer.

     Finally, choose your major. I know that when you enter college you have time to figure out what kind of engineering you're interested in, but it's not always easy as a freshman engineer. You're stuck in a lot of very broad classes, that are there to get you ready for your future in engineering. The problem is that it doesn't expose you to what various majors offer. Now, your college may offer classes that do introduce you to the different forms of engineering that it has to offer, but even that can be a little shallow. Thus you have a couple choices. One thing you can do is actively seek out professors of engineering. See if you can sit in on a few classes, talk to the professor and see what work they're currently doing. Another option you have is, while you're still in high school, talk to some of your teachers. They've probably had other jobs outside of teaching, maybe in research or employed in their field of study. Maybe some of your friend's parents are engineers and can talk to you, show you some of what is they do. But, probably the best way to choose is look at what you're doing now. What interests do you have and would like to explore further? Remember that you're going to have to study in your field of choice for several years in college, so make it something you can enjoy;  because, that which you enjoy, is never work.

Friday, October 26, 2012

Need Help with a Project?

     Recently, I've been receiving more requests separate from ideas for future videos. You guys have been asking for input on some the projects that you're working on. I enjoy getting this feedback from you and being able to help; that's why I started doing this. Thus, in order to increase the amount I can help you do, I've set up an email where you can contact me if you want help with something you're working on. I hope that this can be more expedient than posting comments on videos, or sending me YouTube messages, as I, and probably you, check your email more than anything else.

Feel free to now contact me at humanharddrive@gmail.com.

Tuesday, October 16, 2012

Choosing Your Microcontroller (Part 2)

Last time, we talked about two sets of microcontrollers, the Arduino Family, and the .net framework family. Today, let's talk about some more.


     PIC microcontrollers are found quite commonly in end user products. They are also used quite frequently in college level electrical engineering courses. These little devices aren't frequently packaged with a board, so using these chips requires some knowledge of being able to build, program, and test circuits. There are, however, a large variety of chips to choose from, with various sizes and functions to suit any need.
     The community around PIC's is fairly great, not necessarily for the reason one would think. The programming environment for PIC's is your basic C language  However, PIC's have been known for what a pain their coding can actually be. Many very simple things that are done with other devices, are quite complicated to achieve in PIC code. These devices are not well suited to the novice programmer or engineer, so beware.

     MSP microcontrollers are extremely power efficient devices by Texas Instruments. These devices aren't as well known, I've found, as the other controllers I've mentioned. They're quite application specific, if you're looking to build your device using as little power as possible. Still, they're great little devices that offer a lot of potential, even if you're not looking to stretch that battery as far as possible. There are a few platform options you have for MSP's. One of which is the Launch Pad, the cheapest microcontroller test board I have ever found. Another such platform is an MSP based watch, the eZ430 Chronos, which includes a 3-axis accelerometer, barometer, and wireless transceivers, as well as being a watch. Most though, like PIC's, are just single chips with varying numbers of pins and functionality.
     Also like the PIC's, these are programmed in C, but can also be programmed in assembly. These can also be quite difficult to utilize some of the functionality at times, but I maintain they're still easier to use than PIC's. The community around MSP's tends to be a little more professional, as these are used more in measurement and extreme longevity projects. Again, not the sort of device the beginning programmer should necessarily be getting into.

     Basic Stamps, by Parallax, have been in the microcontroller game longer than any other I have mentioned. They're one of the first microcontrollers I was exposed to in high school. They have what is probably the largest community of people working and willing to help others on their projects. The company behind these boards, parallax, also develops large amount of externals like servos, sensors and even some Arduino-like shields. The downside to these boards are that they can be quite expensive for not all that much board. The basic "stamp" is a tiny microcontroller, that doesn't include a breadboard or a programmer, is $30.
     The upside to these boards are that they're extremely easy to get into. The getting started kits that they sell include all sorts of tiny bits, IC's, servos, and LED's with a very well written guide explaining all the steps and why everything works. The boards themselves are programmed in a variant of BASIC, which makes following code fairly...basic. If you're looking to get started with microcontrollers, and you have some extra money around, and you don't want an Arduino, then I recommend the BASIC stamp. But splurge and get the "Getting Started" kit.

     The last microcontroller I'm going to talk about is another one from Parallax, the Propeller chip. These are probably some of the most powerful microcontrollers you can buy, offering 8 cores of processing power each at 20 million instructions per second (MIPS). These are definitely for the more advanced hobbyist requiring more knowledge of wiring and programming than the novice. There are a huge number of peripherals to cater to the processor's capabilities including the ability to: generate video signals, interpret device signals such as mouses and keyboards, and easy interface with other devices.
     When it comes to programming these chips, you've got some choices. There is the "Spin Language" aimed more at beginners to the chip, but there is also the capability to program the devices in assembly. Like the BASIC Stamp, there are also such kits that display the various abilities of the chip, so if you're interested in this area, I'd recommend getting on of those. There are such kits that allow you to build basic computers and game consoles. It's the processor behind the YBox, that wonderful little device. So, the Propeller chip is something a little more experienced programmers and hobbyists would enjoy, with its extra power and capabilities.

Monday, October 8, 2012

Sunday, October 7, 2012

True Cloud Storage

I've had a bit of a problem with the concept of cloud storage. My problem is that, the data has to exist in a physical form somewhere. It's only through the internet that one is able to access that stored information. My thought was there must be some way to store information actually in the air.

The concept is based around the old form of memory, called delay line memory. The main theory behind it is that there is a tube filled with some fluid, often mercury. One one end of the tube is an acoustic transducer that takes data and converts it into sound pulses that travel through the mercury in waves. On the other end of the tube is another acoustic transducer that takes those waves of mercury, and converts them back into electrical impulses, which are then processed then passed back to the first transducer to start the process over again. Would it be possible to apply the same principle to cloud storage.

The operative stage is the delay within the system. The problem is that electronics are built to remove as much delay as possible. There is one system where delay is almost impossible to get rid of. The idea of latency is something that exists in wireless networks, especially less well optimized networks spread over greater distances. I've recently purchased some cheap wireless transmitters and receivers that I plan to use to test my theory.

Saturday, October 6, 2012

Cheaper Bits

I'm a basement hacker. I don't have a lot of money lying around to be able to spend on numerous components and measurement devices that I cannot see an immediate need for. Thus I'm always on the lookout to find really cheap stuff, when I'm not building it myself. Ebay has proved to be an excellent source of cheap bits. One such example is a pair of wireless components. If you've seen my senior capstone project, I'm plugging myself a lot tonight, you'd know that I used such a pair of devices to communicate between components. The pair of transmitter and receiver cost about $9. On Ebay, I found both for under $2, with free shipping. There are all sorts of other great components out there as well, from IC's to sensors.

My point is this. If you're looking to get some parts, yes, DigiKey, Mouser, and SparkFun, are all great places to shop. However, if you're willing to spend a little more time shopping around, there may be some better deals.

Monday, October 1, 2012

DIY Oscilloscope Done

As promised here are all of the files necessary to make your own oscilloscope. This device limits the output of the signal so that you can pass it to an app on your phone or tablet. I'm still doing a little bit of testing with the device itself, testing at what voltages it stops being safe. Basically, don't run this thing above 50 volts peak to peak. Remember that I take no responsibility for what this does to your phone or tablet if you misuse the device.

Sunday, September 30, 2012

Maker Faire 2012

Maker Faire 2012 New York was just as much fun this year, as it was the last two. You can check out a few of the pictures I snapped while there here.
Well to start, there is, as always, a great number of 3D printers this year. MakerBot has produced a new model with a much higher level of detail. There are new companies with their own printers, trying to reduce the cost of producing the device. There was even a printer large enough to print a person inside of.
Arduino continues to have a large presence. There are more and more companies either trying to create shields, add-ons that capitalize on the device's popularity, or create an Arduino clone based off another processor. Parallax is one such company, trying to add shields to their current lineup of products. A PIC based Arduino system is being worked on by another company, which looks promising; anything that can make PIC more bearable, is a good thing. The Arduino Due, the ARM-based Arduino, is going to be released in a few weeks.
There seems to be more items to aimed towards the younger maker audience this year. Activities, trying to get kids involved, painting, alternative energies, even Disney's Phineas and Ferb were there to greet the kids.
All in all, a great way to spend the weekend. I will be posting the details for the DIY oscilloscope tomorrow, so stay tuned for that.