Tuesday, April 14, 2015

Back Up! X99 In the House

     Finally! The day has come that I have been able to replace my broken desktop and what a day it is! I decided to build a new system that will last me for the next several years and has plenty of room for upgrades. Currently it is a mess of parts atop my desk, due to the case arriving two days after the parts. I'm going to save going over all the parts in detail until I have the final build completed, so today I'll discuss my intentions for this new beast.
    My old computer was aged, neglected and unfortunately completely out of date.  Compared to my new rig, there is nothing to really compare. Nearly every component one could think of simply wasn't up to the task of modern computing.  The HDD's were slow, the GT 430 graphics limited and the 2 gigs of RAM a joke. The things I was trying to do just simply were too much for it to handle. VOID as she was called crashed and burned, although I am on to much stronger things I have a respect for the noisy computer of my past.
    It was on this computer that I had many firsts. It was the first computer I could actually kind of game on, it was the first computer I created 3D models on and even code. When I had nothing else it was a beacon showing me the way. I learned a lot, and it was one of the best gifts a friend has ever given me. 
   Now I move on. The new computer is an X99 based monster. It will be great for everything from CAD to coding, and gaming to browsing. I intend to use it as both a workstation and a source of entertainment. I will reveal more details over the next few weeks as well as up the number of posts. For now enjoy this not too revealing shot.


Monday, March 23, 2015

Monduino 002: Stepper Motor Control

    Recently I decided I wanted to build my own 3D printer, that was until my computer crashed... for good. However before that happened I had already ordered some parts for the 3D printer, including a servo NEMA 17 stepper motor, a few A4988 stepper drivers, along with various other components. Today I am going over some stepper basics and how to control one with an Arduino.

    So, what is a stepper motor? Well, it sort of mixes the continuous rotation of a normal DC motor and the precision turning of a servo motor. This means it can be used in applications requiring parts to move a precise distance that can't be obtained in a single rotation of the motor shaft (the part that moves). This precision is a achieved by moving the motor in a series of "steps," or a specific angle.

     To learn more about how a stepper works check out this great article, on explain that stuff.





    Connected to the Arduino are two buttons to control direction, and two outputs to the A4988 that control direction and steps. When one button is pushed the motor spins while that button is pushed in whatever the specified direction is. For this usage a conventional DC motor would suffice, but if wanted one could specify  a certain number of steps  to move the motor every time a button is pressed. Until I've replaced my pc i won't be posting wiring schematics, so a future update will fix that.

    The leads of your stepper will depend upon the manufacturer, and they should have documentation to refer to. A four wire motor I find is easiest to use, I t connects to the A4988 easily. Make sure to have an appropriate power supply as most steppers require more than the Arduino's 5v output.

The code below should get the stepper moving left and right if configured properly:

int directionPin = 5; // controlls stepper direction on A4988
int stepPin = 3; // controlls no. of steps on A4988 
int numberOfSteps = 200; //No. of steps in full rotation
int pulseWidthMicros = 600;  // microseconds
int millisbetweenSteps = 1; // milliseconds
int b1 = 4; // button 1
int b2 = 7; // button 2

void setup() 


 Serial.begin(9600);
 Serial.println("Stpper Movement");

 pinMode(directionPin, OUTPUT);
 pinMode(stepPin, OUTPUT);
 pinMode(b1, INPUT);
 pinMode(b2, INPUT);



}

void loop() 

  
  digitalRead(b1);
  digitalRead(b2);

  while(digitalRead(b1) == HIGH){
    
   digitalWrite(directionPin, HIGH);
   for(int n = 0; n < numberOfSteps; n++) {
     digitalWrite(stepPin, HIGH);
     delayMicroseconds(pulseWidthMicros);
     digitalWrite(stepPin, LOW);
     Serial.println("B1 HIGH");
     delay(millisbetweenSteps);
     
     if(digitalRead(b1) == LOW){
     
      break ;
     }
 }
  }
  
  while(digitalRead(b2) == HIGH){
        digitalWrite(directionPin, LOW);
     for(int n = 0; n < numberOfSteps; n++) {
       digitalWrite(stepPin, HIGH);
       delayMicroseconds(pulseWidthMicros);
       digitalWrite(stepPin, LOW);
       Serial.println("B2 HIGH"); 
       delay(millisbetweenSteps);
   
       if(digitalRead(b1) == LOW){
         
         break ;
     }
 }

  }
  
}

Monday, March 16, 2015

Monduino 001: Arduino Projects

    Recently I lost my main computer to old age. It was a gift from a friend, and even though it was outdated in most every way it served me well. The main HDD failed, and even though I had plenty of warning and several backups i decided it wasn't worth fixing. So, with that my computing resources are limited to my trusty Raspberry Pi 2, and the code for this weeks Monduino is lost.

    Monduino is a weekly post that will cover an Arduino project from circut to code in order to showcase some of the cool things possible with the ecosystem. I wanted to start out the Monduino series with a bit of a more complex project from the eyes of a beginner, and then in following weeks I'll go over some basics and build towards more complex projects.

    This week we begin with the Person Counter, a device that counts the number of people present in a given room, and displaying that number on an lcd. This project was inspired by others on the internet, but the code and design is entirely my own. Implemented devices include 2 HC-SR04 ultrasonic sensors, 2 leds, 3 push buttons, a 2*16 lcd display, lots of wire and several resistors.



    When a person walks in front of the sensor with the red led, and then the green, the device adds one person to the count, and the opposite happens for the reverse. Between the two sensors are three push buttons meant to adjust errors. One adds, the other subtracts, and the middle is a reset.


    Unfortunately the wiring is chaotic, but it works. In following Monduinos i will cover libraries, sensors, and lcd displays.

Wednesday, March 11, 2015

New Content Coming Soon!

    Sorry for the slow roll-out of content. Currently I am occupied with studying for quarterly finals and working on last week projects. By Monday a few new articles will be posted, including an Arduino person counter! I also hope to start a build log on a CNC machine that will function as a router, 3D printer, laser cutter and hopefully a digitizer! This machine will be built entirely by my own design abd will likely take several months (tight budget!). Stay tuned! Spring break will bring lots of new content!

Wednesday, March 4, 2015

Tech Review: Raspberry Pi 2



RBP 2 Set up
Chances are if you follow tech news you have heard about the Raspberry Pi. For years it has been praised as an all around computing solution that’s capabilities are limited only by the creativity of it’s holder. It has been used to create super-computing clusters, home-automation systems, works of art and even a giant mural machine.

Perhaps the pi’s greatest feat other than it’s price, is it’s availability. From the time it hit market over 5,000,000 units have been sold! That’s an insane number, making it one of the most popular computers ever  sold. This is great news because the pi is first and foremost meant to be used as a learning device. Looking  around it is absolutely no secret that the world runs on computers. The Raspberry Pi performs this job of teaching incredibly well, opening up both hardware and software development to it’s users. Imagine the knowledge anyone can gain from knowing how computers work and being able to manipulate these systems, this won’t only increase one’s computer skills, but logic, critical thinking and more. So, with all the hype surrounding the new Raspberry Pi 2, is it worth it? Can it replace a full-blown desktop? Stay tuned!



Getting Started


Setting up the Raspberry Pi is a breeze. It’s as easy as inserting a formatted microsd card (more on this) into the slot, connecting peripherals, and plugging it in. If done right a user will see the NOOBS os selection screen, and all that needs to be done is to select the os to use. For this review I selected Raspian, which is  recommended.  

Raspian looks like many graphical user interfaces. There is a desktop, icons, a toolbar with a menu button, visual elements and window management. This should feel natural for most users, even if they have never used a Linux distribution before. Navigating the desktop is a snap, thanks to the quad core processor that loads programs quickly. Basic utilities are included, such as a web browser, text editor, programming tools, and some simple games including Minecraft. Looking around I noticed some things were not quite up to par. For example on my 1080p monitor there were large black bars engulfing the sides of the screen. At this point those unfamiliar with Linux may lose it.


The User Interface


I find setting up my user experience to be of utmost importance when configuring a new system of any sort. That is why when I went to change the screen resolution so the black bars would no longer be a menace, I was utterly disappointed. Going to the menu and finding screen preferences yielded no options for upping resolution, forcing me to seek the internet for answers. I quickly learned that to do this one has to use the terminal window and edit a file, similar to the command prompt in windows. For those not use to doing this sort of thing, it can be frustrating. Especially when one realizes that this is entirely normal and common in Pi usage. So, really it’s a great thing be thrown into early. Part of learning how it all works is by learning to use the terminal, after a while I developed a strange appreciation of it. Perhaps a terminal doesn't scare you, if so great! Many people will enjoy the challenge of learning it’s many secrets. Otherwise, don’t worry. The terminal isn’t incredibly hard to learn and there are many great tutorials around to help.


Performance


I’ll cut to the point. For the price-to-performance ratio it really doesn't get any better. Boot times regularly take about 30 seconds from the moment the unit is plugged in. To put this into perspective my computer takes several minutes to boot. The Raspberry Pi isn’t much larger than a credit card.
Web browsing on the Pi is alright. It won’t blow your desktop or laptop out of the water, but that’s expected. The built in browser loads pages in seconds, scrolling is mostly smooth, and website compatibility is useable. Compared to the Pi 2’s heritage this is a major improvement. Older generations were awful at web browsing. That said be prepared for issues. Crashes are normal, especially  on modern websites pushing heavy elements. It can play videos and handle most basic needs. In the end it’s important to remember that the pi is not meant to replace a regular computer.
Compared to previous generations this is a bargain! The pi 2 has 4 times as many cores and double the RAM, even software not compiled to take advantage of this all will notice a speed bump from before due to a higher clock rate. As more programs are optimized things will only get better. Developers and hobbyists alike will appreciate the performance boost of 6x according to the Foundation.


Web Browsing Issues


Minecraft comes installed in Raspian. This version of MC is designed for the Pi, so it runs surprisingly well. Things load fairly quick despite using the same gpu as previous generations, lags are occasional and customization is excellent. One of the reasons for having a Pi version of MC is to learn how to modify it, and learn programming in the process. This is awesome because hardware improvements open up an even higher degree of freedom to those looking create something truly unique. I should note this version of MC is not too unlike mobile versions in its limitations.


Wrap Up


The Pi 2 is a great deal. It is fully backwards compatible, the desktop respondslike a regular computer, and the board introduces desired updates. For those who have never used one before it can be intimidating but there is a massive community for support. The board provides ample connectivity, and an infinite amount of potential projects. For those looking to do so GPIO pins allow for real world integration. The board is about as good as it gets, as quality is not an issue. The only downsides are that acessories need to be purchased in addition.



There are many applications that can be installed to make the Pi even more useful, possibly making it the best $35 investment you can make. For the technically inclined, it is worth every penny. It is not ready to replace a desktop, at least for professionals. However for those that only use a computer for web browsing it may very well be able to do  so one day, just not yet.  The Raspberry Pi Foundation has done great work, and I along with many others look forward to seeing what they do next!



Monday, March 2, 2015

Tech News: Samsung, the King is Back

     Often times in my experience talking about smart phones with ordinary people there seems to be two choices: an iphone or a Galaxy. Many people don't draw any distinction between different android phones, referring to the entire system as galaxy phones. Far to often I have sat at my desk using my nexus 5, only to be asked "That's a Galaxy, Right?" 
     To any tech enthusiast this seems silly. However, it's an understandable blunder. For far too long android handset design has been too ubiquitous, a cheap plastic body, big screen and bloated software. In recent generations handset manufacturers have realized this, and in response we've seen wonderful handsets such as the current gen moto x and HTC One series. In addition manufacturers have cleaned up their Android images. Gone are the days of lagging animations, bloat ware and messy skins. Android has gone from an ocean of vastly different UI's to a sea of different but truer to vanilla experiences. 
     This was all in the last year or so. LG released the beautiful G3, HTC the One M8 and even Apple detracted from it's phobia of change by releasing the 6 and 6+. What did Samsung have to offer? A phone that took no risks, sought out nothing unique aside from poor design and mediocre improvements. Samsung's answer was ignorance with the Galaxy S5. 
     Samsung spent years and millions of dollars to create their brand. Commercials mocking the iphone made them the most recognizable phone brand aside from Apple in the United States. Their commercials portrayed them as a company who innovated, was youthful and full of energy, compared to Apple a boring, stagnant company with uninformed buyers. When Samsung released the S5 they ironically became like the company they fought so hard to suppress. As a result last years sales plummeted, investors became worried and market share was lost. The crown Samsung had for years slipped away.   
    Move on to March 1st, 2015 and Samsung is back, but the story of their revival truly begins with the Note 4 and Note Edge. The Note 4 and Note Edge were somewhat unusual for Samsung because unlike other Samsung phones they incorporated metal frames, a step in the right direction. The Note Edge had a unique feature with a curved right side. Like I said these phones were only a step in the right direction. This is due to the fact that they still didn't feel like the premium devices they set out to be. The back was still plastic, and the software was still full of bloatware and somewhat clunky. Sure the plastic back was a much nicer feeling plastic than previous generations, but it still didn't feel as premium as an iphone.
    Back to March and we now have the Galaxy S6. It still looks like a Galaxy device, but it now feels like a luxurious piece. Samsung scrapped the old plastic materials in favor of aluminium sides and gorilla glass 4 on the front and back. The result is truly beautiful and unique. 

Image via Mashable

      The S6 Edge borrows the curved Edge from the Note Edge, but realized it on both sides. This means lefties aren't left out. The curved edges look stunning, and offer their owners something different, but is it actually useful? Time will tell if people embrace Samsung's screen tech or mark it off as another gimmick.
     These devices also pack powerful hardware, making them more than just a pretty face. A speedy cpu coupled with 3GB of ram ensure it won't be left behind by other phones making their debut.



Image via Mashable

     So, has Samsung finally produced a device capable of keeping them relevant? I believe so. Samsung has also cleaned up their touchwiz software by removing 40 percent of bloatware. For Android fans this is great news as it strengthens the most recognizable brand in the industry. No longer can the ecosystem be referred to as bland or messy. 

To read more about the GS6 and see pictures/videos check out the links below:


Introduction and the Raspberry Pi 2

    Welcome! This blog will showcase some of my current electronics projects, be it software or hardware. I will also post my thoughts on gadgets that I use and possibly my thoughts on gadgets that are relevant.
  
  So, to begin I want to do a quick over view/ unboxing of the new Raspberry Pi 2's hardware. This is of course the second generation pi, and it delivers high hopes. I personally have never owned a Pi, so I don't yet have a standard to set it against. 


The size compared to a credit card.
The Element 14 branded packaging.
      The packaging is exactly what I expected for a $35 device. Plain and simple. Inside there is only  a user manual and the credit card sized Linux jewel. In addition to the unit, I ordered a power supply, WiFi USB plug, and a 16GB Sandisk micro SD card to get things up and running. In the end my total cost was around $85. Not bad considering this little guy's power. You might have noticed that I didn't order a case, and my reason behind this is that I plan on 3D printing my own in the future.  

     As far as hardware, this little machine packs a lot of power for a $35 credit card sized computer. As you might have noticed on the box performance gains of 6x are promised, thanks to doubled RAM (1GB) and the new Broadcom quad-core ARM Cortex A7 clocked at 900MHz.


A veiw of the bare board.

        The gpu is the same as older models, but don't fret! The Broadcom VideoCore IV is fully capable of 1080p display output. Later I will post screenshots of some simple games running and of minecraft.
   
 The board itself contains several ports and interfacing methods. Starting from the bottom is a micro USB power plug, next to a full size HDMI out, and a 4 pole 3.5 mm plug on the right. The right edge of the board is home to an Ethernet jack and 4 full-size USB ports. The top of the board has 40 GPIO pins for inputs and outputs, similar to an Arduino. Also on the board are two long black clamping slots, one is for a camera and the other for a screen. The back side of the board has a lone micro SD slot, capable of reading cards up to 32GB.



Bottom of the board


    
 That's all for now! Simply a basic overview of the boards hardware. In the next few days I will be posting an overview of the Raspian software. I  will also answer the question, "can the Raspberry Pi replace an everyday computer?"