5/20/2013

New Arduino robot kit unveiled at bay area Maker Faire

Arduino Robot


I was surprised to see the announcement of the Arduino Robot yesterday.  I guess I haven't been keeping up with Arduino news very well lately. Julian Horsey at Geeky Gadgets actually got his hands on one, as they were available for sale at the bay area Maker Faire.  

There is a link to the Arduino Robot at the Arduino site right now, but the robot won't be available through normal channels until July.  You can at least read a few of the specs and get a look at the hardware.

I haven't seen an official price on this robot yet, but I've seen rumors on Google Plus that the price will be $275.  I'm really hoping this is just a rumor, because that seems extremely overpriced.  

I do think an official Arduino robot is an awesome idea.  I've always thought a curriculum based around robotics, or more specifically, Arduino robotics, would be incredible.  A robotics curriculum could be tailored to encompass math,science, computer science, physics and shop - all in one.  If you have groups design and market a project, you could even throw free enterprise into the mix.

I'm not sure this Arduino robot is the best design, based on what I've seen so far.  While there are some things I really like, there are probably more things about the Arduino Robot that I think could have been done much better.

Things I like - the LCD panel, control pad and built in speakers are really nice for input/output.  I haven't used one of the Arduino branded LCD TFT's before, but it looks like a pretty good screen, and it has a nice library backing it up.  I also like the 3 pin headers going all around the robot.

There are two major negatives to this robot, however.  The micro controller and the the motors.  

The micro controller is an Atmega 32u4.  This is a fine controller, and is the same chip used on the Arduino Leonardo.  I would have much preferred to see Arduino use the Atmega 2560, the same chip used on the Arduino Mega 2560.  The Atmega 32u4 only has 32K of program space vs. 256K on the Atmega 2560.  There are also a ton more input/output pins on the Atmega 2560.

I initially thought that the Arduino Due would have made a better processing backbone for this robot, but the combination of being a 3.3V system and having sketchy library support would make it a bad choice.

I would normally consider the Atmega 32u4 to be a fine choice, but by the time pins and program memory are taken up by driving the motors and LCD screen - is there enough left over to have fun with?

One other major flaw I suspect are the drive motors.  I have no idea what motors they are yet, but from photos they appear to be cheap toy-class motors in white plastic housings.  Maybe they perform and survive better than they look like they will.

If this is a $100 robot kit, then my above criticisms are not really warranted.  If this is a $200+ kit, then I think Arduino could have done a lot better.  Until we hear what the actual price is, and I find out how good the motors are this is nothing but conjecture.

An Arduino Robot is a great idea, I'm just afraid this might be sub-par implementation.

The greatest thing about Arduino never has been it's hardware though.  It's always been the unified support of it's community.  

How to replace the optical drive in a Nintendo Wii

This is a video I made showing how to replace a bad optical drive in a Nintendo Wii.



We were getting read errors almost every time we put a game into our Nintendo Wii.  At first I thought it might be a scratched disc, but the error was happening with EVERY disc, almost every time.  

Given that the retail price of the Wii is only $100, the technology is dated, and we have two other gaming consoles in the house - I assumed we would just throw the thing out.  Before we did, I looked online to see how much a replacement drive was.  I found a drive for $23 + shipping at a shady looking website - http://parts4repair.com 

I used Paypal to pay for the drive - it ended up being right at $30 with shipping.  The drive was shipping Airmail from China, and my confidence in receiving the product was not bolstered when the seller name on my Paypal invoice was a lone Chinese symbol.

Lo and behold, about 7 days later we received an envelope from Shenzhen, China.  It contained what appeared to be a brand new OEM drive, in plastic packaging.  Having installed the drive - it works fine.    So, here is my endorsement for Parts4repair.  Your mileage may vary, of course, but I have yet to read anything negative about the site.

If you decide to replace the drive in your Wii, be sure to buy a tri-wing screwdriver beforehand.  I was able to remove all of the tri-wing screws on the Wii with a small flathead.  When I got to the deeply recessed tri-wing screws on the back, I found it to be impossible.  I ordered a $3 tri wing screwdriver from Amazon, and it worked perfectly.  Save yourself the trouble and order a tri-wing driver at the same time you order the optical drive.

Watch the video to see exactly how to take the Nintendo Wii apart and access all the screws.  The best advice I can give you is to peel up every piece of small white tape - there is a screw underneath each one.  There is also a screw under most of the rubber pads.

There are only two electrical cables on the Wii itself.  One is a simple plug-in that appears to go to the power supply.  This cable looks like it is pretty short, but if you tug on it, there is quite a bit of slack tucked away.  This slack will make the cable a lot easier to work with, just make sure you tuck it back once you are done so everything will fit correctly.  The other cable is the data cable and is one of those super thin flat-flex cables.  To remove, just carefully pop the connector open like I did in the video.  When inserting the flat-flex cable from the new drive, just make sure the cable is fully seated.

Replacing the optical drive in the Nintendo Wii was a pretty easy fix.  Even a relative novice should have no difficulty.  It would be pretty difficult to screw this repair up.

Watch the repair video here:
http://youtu.be/DoC0tUXID2E

5/14/2013

How to use the Nokia 5110 84X48 LCD display with Arduino



The Nokia 5110 was in millions of cellphones in the late 1990's.  It is a fairly low resolution screen, at 84X48, but this display is very functional.

The positives to using the Nokia 5110 LCD-
-Cheap - You can buy these for $10 at http://adafruit.com.  If you go the eBay route, like I did, you can get 5 of them for under $15 from China.
-Universal - Because there are so many of these displays floating around out there in surplus channels, the display is very well documented and supported.  There are libraries for most major hobbyist microcontroller dev boards.
-Easy to use - the physical hookup is simple, and the commands in the GFX library (courtesy of Adafruit) are very simple to use.  After spending a couple of hours with the libraries, I found I was able to do some fairly advanced graphics manipulation.

If you watch the video, I talk about the connections to the Arduino.  I also demonstrate how to download and install the two libraries necessary to use the Nokia 5110.  After that, I explain some code I wrote that will draw and animate a clock.  Near the end of the video, you will get to see the 5110 in action.

It is important to note that the Nokia 5110 LCD is meant to be a 3.3V device.  At the Sparkfun site, three methods of connecting the display are shown.  One is to simply use a 3.3V microcontroller.  Another is to use 10K resistors with a 5V system.  Another is to use level converters to convert 5V to 3.3V.  In the data sheet for the 5110, the absolute maximum for VCC and logic level inputs is 7V.  5V probably won't fry your display immediately, but it may shorten the lifespan of your device after extended use above the 3.3V level.

I feel ok about using my Nokia 5110 for short periods of time at 5V.  The displays are cheap anyway, so it wouldn't be the end of the world for me if I burnt one up.  If I were going to use one in a project long term, or if I were making a mass market design, I would definitely adhere to the 3.3V limit, and you should too.

One thing that took me some time is to understand that the commands in the GFX library don't actually write to the display.  The command actually write to the screen buffer.  This is important to understand.

For instance,
if I use the line:

display.drawLine(0,0,20,20,BLACK);

the line will not be drawn to the display until this command is issued:

display.display();

The display.display(); command simply takes all the contents in the buffer and dumps them to the screen.

Another important principle to understand when using the GFX library is the display.clearDisplay(); command.  clearDisplay() clears the screen and the buffer simultaneously.  Another way to erase is to draw over individual elements in WHITE.  Using methods of adding to an existing screen buffer, clearing the screen, and erasing individual elements, it is fairly easy to create animations.

Links for the Nokia 5110

Nokia 5110 at the Adafruit Learning System
Nokia 5110 at Sparkfun
Nokia 5110 Arduino library at Github
Nokia 5110 GFX library at Github

5/13/2013

Arduino Due unboxing, driver install and PWM blink circuit



I've had this Arduino Due for quite awhile now, and am just now opening it.  I took a quick video of opening, installing the Windows drivers and building/uploading a simple PWM blink circuit.

The packaging is simple - a small box with a printed warranty and a small sheet of Arduino stickers.  Obviously, any software and documentation is going to be available at http://arduino.cc.

As for the software, you will need to download the latest release of Arduino to have Arduino Due support.  To make the Windows install easiest, I would recommend using the Programming port on the Due (there are two USB ports).  When Windows asks for the driver, just browse to the Arduino drivers folder.  If you are using Mac OSX, you won't need to install a driver.  However, there may be a "Network Settings" interface that comes up.  Just hit apply, and you are good.

On the Mac, under Tool-Serial Port, Bluetooth Modem was default selected and returned an error when trying to upload code to the Due.  I simply changed the Serial Port setting to /dev/tty.usbmodemfd1311 and it worked fine.

The Arduino Due is a cool little board, and it certainly has some amazing capabilities.  Comparing the Due to a board like the Raspberry Pi is not really fair.  The Due gives you amazing performance, while still staying in the Arduino programming environment and ecosystem.

Having said that, there are some things I find curious about the Due.

-Why use Micro-B USB?  The Due doesn't come with these cables and not all customers will have these on hand.  I've got piles of the Mini-B cables, and the Due doesn't use them for some reason.
-No ethernet, HDMI or SD ports?  Built in ethernet, HDMI (or even VGA) and SD support would have been very cool on the Due.  It could have also been a way for the Due to add a lot of value over a board like the Mega 2560.
-Support for standard Arduino libraries.  As of this writing, the Arduino Due does not support the Tone() library.  I'm sure there are others.
-What's the point?  The Arduino Due is certainly more powerful than the Mega 2560, but it's not nearly as capable as the Raspberry Pi.  The Atmel ATSAM 3X8E ARM processor that the Due uses is great, but are hobbyists going to be able to move designs for the chip to their own PCB's?  This chip comes in a 144-pin QFP - a very small scale surface mount design.  I'm still trying to figure out exactly who the target audience is.  Having this kind of power within the Arduino ecosystem is nice, though.


3/19/2013

Vizio E422AR 42 inch LCD HDTV review

Vizio E422AR 42 inch LCD HDTV

I've spent a few months with the Vizio E422AR LCD HDTV, so I thought I'd share a few thoughts on this budget Smart TV.

What is it?
The Vizio E422AR is a 42 inch 1080p LCD HDTV, featuring internet apps and Wifi connectivity.

Price
We bought the Vizio E422AR at Sam's Club for $394 USD before tax.  Other TV's in this size/class were anywhere from 30-100 dollars more at the same store.  A nice bright screen, internet apps and a low price sealed the deal and we brought it to the checkout.

Picture
The picture looked bright and vivid on the showroom floor.  When I got it home, it looked a little cold and over-saturated.  After 10 minutes in the menu, I warmed the white balance, lowered the saturation and adjusted the contrast to achieve what I consider to be a very pleasing picture.  I'm not an audio-visual expert by any means, but the picture looks very sharp and the colors look good to me.  HD content from CATV, Netflix and YouTube looks very good in my opinion - no complaints.

Sound
I have a hard time discerning higher frequency ranges on this television.  The treble range sounds muffled, and I find I have to turn the volume up pretty loud before I can accurately hear dialog.  In this class of TV, I'm not expecting great sound, and the Vizio E422AR has sub-par sound unfortunately.  I'm no audiophile, but I think most of you are going to need to connect this thing up to a Soundbar or a stereo system.  Not a major knock on the TV, as almost all flat panel TV's share this deficiency, especially in this price class.

Remote
The remote for the Vizio E422AR is absolutely horrible.  It feels cheap and flimsy in your hand.  The remote is too small, and the buttons are almost impossible to use in the dark, save for the volume control, which is a nice, easily discernible rocker switch.  The cursor keys and ok button I can find without seeing the remote too.  Other buttons, like fast-forward, play, back, exit, etc. I find I need to hold the remote up to light to read before using.  

The second day I had the E422AR, I thought the remote was broken.  I could turn the TV on and off and use the controls on the TV itself, but the remote would do nothing, even after a battery change.  After fiddling around with it for awhile, I discovered the "Menu" button had gotten stuck in the depressed position the last time I used it.  This effectively locked every other key on the remote out.  Once I released the stuck "Menu" button, the remote operated normally again.  This remote is a real piece of shit, which sucks being that you tend to use the remote a lot on a TV with internet apps.

Inputs/Outputs
No complaints here.  The Vizio E422AR has 3 HDMI, 1 VGA, 1 component and 1 coax input.  This should be more than sufficient for just about anyone.  There is even a PC audio miniplug input so you can play your PC audio over the TV's speakers - that's a nice touch that my last TV did not have.  There are also miniplug, RCA and optical Audio outputs.  A TV having audio output is not something I'm usually concerned with, but if you use the Apps on the TV, you will need them to get the audio signal to your sound system.

Networking
You can connect the Vizio E422AR to the internet via either a RJ45 Ethernet jack on the back of the TV or via the integrated Wifi receiver.  I've found the Wifi reception of the TV to be good.  The only caveat is that I've noticed it is usually necessary to cycle the power on the TV if I switch from wired to wireless.  The Wifi feature is really nice, and a surprising feature at this price.

Apps
The centerpiece of the Vizio E422AR's feature set is the inclusion of internet apps.  There are actually Amazon, Netflix and Vudu buttons on the remote that you can use to access these apps.  You can also install apps from the Yahoo! connected TV store.   Once installed, these apps are accessible by hitting the big "V" button on the remote, then scrolling left and right to select from the icons on the bottom of the screen.  

There are quite a few apps available for download.  To give you an idea, these are the ones I have installed:
Pandora, YouTube, iHeartRadio, Netflix, flickr, and Yahoo weather.  

You can also choose to install things like Yahoo weather, finance, news, etc.  To be honest, the low power cpu this dumbed down version of Android is running on makes interacting with most of these apps pretty much unbearable.

I've played around with a few of the other apps, but I've spent most of my time in the Netflix and YouTube apps.  The Netflix app is really good.  The navigation is snappy and I can get to what I want to watch quickly.  In the YouTube app, I can easily watch videos I'm subscribed to on my YouTube account.  It's a fairly simple matter to pair your Google account with the Vizio E422AR.  Video quality looks really good in both apps.  Navigation in the YouTube app is sluggish and quirky, but passable.

CPU Performance
Because this is a Smart TV, with internet apps, there is a computer running some flavor of water down  Android on-board the TV.  While there is no problem with video playback, it is usually a chore to navigate the apps on the sluggish processor.

Here's an example.  Once I hit the power button on the TV, it takes 30 seconds for the TV to display a picture - from CATV or otherwise.  That's a pretty long time.  I'm assuming most of the delay is from the CPU booting up.

Now the TV is up and running.  I hit the "Netflix" button on the remote control.  The E422AR does nothing at all for 10 seconds, it doesn't acknowledge that I hit a button or anything.  Just when I think it didn't get the command, a window on the left pops up that says "Launch Netflix" - press OK.  

So you hit OK, and then for 7 seconds....nothing happens.  Then the screen goes black for 5 seconds and you think the OS has crashed.  But lo and behold, the standard Netflix loading screen pops up.  26 seconds after you hit OK, you get a menu to select your Netflix experience - regular Netflix or Netflix Just for Kids.  

I hit OK again. and I'm immediately looking at my Netflix control panel.  Once you get into the Netflix app, everything is nice and responsive.  I'd actually be ok with waiting for the slow CPU to load the apps, it'd just be nice if the TV would at least immediately acknowledge my button press.

Summary
Nice 1080p picture
Blah sound
Web apps!
Sluggish interface :(
Crappy remote
Cheap!

I've included quite a bit of negative information in this review, but the Vizio E422AR is really a fantastic TV for the price.  The truth is, I expected to spend about $400 on a  Vizio 42 inch TV, then another 80 bucks on a Roku to pipe Netflix into the TV.  That would have been another box, more wires, more money, and another remote.  I ended up spending just under 400 and came home with a 42 inch 1080p set with internet apps, WIFI and a really nice picture.  Overall, a big win.  If I had it to do over again, I'd buy this set at $394 everytime and live with the minor deficiencies.



VIZIO E422AR 42-Inch 60Hz Class LCD HDTV with VIZIO Internet Apps (Black)