Join Now Join Now Home

Self mobile non autonomous device (with webcam)

A not quite robot project. Using a 3 layer control design from c# desktop through an Artigo Spark platform down to an ATMega128 IO wad.



David Shoemaker

David Shoemaker: Three strikes and your out

A complete aside for people doing work with electronics.    I have a rule I have been using for the past 10 years. 3 mistakes and I am done for the day. I don’t care if it is installing the wrong resistor, putting a LED in backward or smoking a part. I make three mistakes in a work session and I call it a day. Continuing at that point will just result in more work / pain in the future.     When you are working with things that can cause serious


David Shoemaker

David Shoemaker: Motor drive with the VNH3SP30

Been a while, been really busy with day and night work :)   This past long weekend I got my rolling chassis working.  I am using my I/O wad based on an Atmel ATMega128 to do the PWM & direction control.  This is connected to the Artigo board by way of a serial port.   I am driving the motors with the Pololu.com MD01B motor drivers.  These are based on the VNH3SP30  from ST.com.   These are pretty nice, Up to 36V drive, up to 30A (if well heat s


David Shoemaker

David Shoemaker: And now for something new

Wow, looking over the history posts I just transferred from the MSDN site I realized it has been more than a month since I put up anything new.  Lots going on in the project but I have been delayed while waiting for some parts.  Along with the ever present "Day Job".   I have picked up some new items to interface to the Artigo.   Pololu High Current Motor Driver Board 9A 6V-36V Motor Driver Pololu Micro Serial 8 Servo Controller Serial servo controller   And as


David Shoemaker

David Shoemaker: Moving out

I am temporarily setting aside the webcam stuff because I had some handy motors dropped into my lap in the form of a pair of dead electric scooters.  These run on 2 12v batteries in series for a 24v system.  The design of these is fairly simple with only a few subsystems. A power switch (with indicator light)A throttle (hall effect)A break lever (with a switch)A charge connectorControllerBatteriesMotor I spent a couple hours going through scooter # 1 to discover the switch was bad (t


David Shoemaker

David Shoemaker: Driver versions and API sets

I spent a big part of the weekend trying to get my own code to grab a still image from my web cam.  In the end I had a complete failure, then I realized I had fallen into a trap that could happen to others. The USB web cam driver that was originally published as being for CE 4.2, 5.0 and 6.0 uses a set of IOCTL commands to interface with it.  The USB cam driver for 6.0 is a DSHOW camera interface and the IOCTL commands will compile and run. But they will always fail. So don't try to


David Shoemaker

David Shoemaker: Getting started using CE / picking the ARTiGO board

Someone sent me a question regarding how to get started doing CE development.  I will preface the answer with the simple fact that I have been doing this since 2000 and so don't have the freshest eyes on the getting started question. So I will take a general approach on the problem.  Any time I want to learn a new technology I start out by coming up with a sample problem and then start digging into the technology to see how I could solve it.  I tend to buy a lot of books and


David Shoemaker

David Shoemaker: One step back, two steps forward.

I wanted to use a test application for verifying the function of the USB webcam.  There is a test application which ships with CE called cameradshowapp.  This lives in the shared source. Problem was I didn't install the shared source and CETK when I installed CE to start with.  Not a big deal, went to control panel and ran the CE 6.0 setup again in modify mode.  Selected Shared Source and the CETK.  I had to put the CE 6.0 disk in and a while later all was better. So t


David Shoemaker

David Shoemaker: USB: Webcam vision

Please note I am going to be building on the work's of others for this.  I am not going to be writing a USB driver from scratch or doing any super fancy vision processing.  I am going to integrate what others before me have done and bend it to my needs. First we need to download the USB webcam driver for CE 6 that was published on MSDN http://www.microsoft.com/downloads/details.aspx?familyid=2EF087C0-A4AE-42CC-ABD0-C466787C11F2&displaylang=en Then follow the setup instructio


David Shoemaker

David Shoemaker: Device Setup

Now that we have our image ready it's time to get the device hooked up so we can download the image. The ARTiGO is really just a small PC so set it up as such (mouse / keyboard / display) for now.  In my setup I am using a USB keyboard and mouse. Using them on CE does require you to select the USB HID catalog item (from PB catalog view enter USB as the search criteria and keep going next until you see USB Keyboard/mouse and then select that) Network cable should go to a hub which has some


David Shoemaker

David Shoemaker: Our first image

Everything is installed now and it is time to build our first CE image for the device. Start Visual Studio (if this is the first time you have run VS with PB installed there will be some configuration dialogs about default settings). File -> New -> Project Project type = Platform Builder for CE 6.0 Click the OK button which brings up the CE OS design wizard. BSP select the VIA BSP (which we installed last time) [Next] Design template = Industrial Device [Next] Design template varial


David Shoemaker

David Shoemaker: SparkStation setup

Ok, we have all the parts laying around now (ARTiGo, Laptop, Spark CD).  Time to get the SparkStation setup. Most everyone out there has installed a piece of software on Windows. This isn't much different. Insert VS 2005 CD disk 1 and close the drive, this launches the setup.  Follow the setup steps.  That gets VS 2005 installed.NOTE: The second step of the VS installer is to install the MSDN, but there are no MSDN bits on the spark disks so you won't be able to do that.Then you


David Shoemaker

David Shoemaker: The "SparkStation"

This work is being done as an outside of work free time project.  As such I wanted to keep a clean development environment separate from my other home / work computers.  So I have setup a laptop for my spark development.  And I am enough of a geek that I call it my "SparkStation". This is a Dell Latitude laptop, which I picked for a few reasons Portability, I plan to have my devices not tethered to a wall outlet in the future.  It's always handy to be able to debug on the g


David Shoemaker

David Shoemaker: The test bed

I will be using the VIA ARTiGO spark kit as my experimentation test bed.  From the VIA site: "The SPARK Your Imagination Kit comprises a complete VIA ARTiGO A1000 Pico-ITX Builder Kit, which includes a 1GHz VIA EPIA PX10000 Pico-ITX board, ultra compact Pico-ITX form factor chassis, power adapter and key accessories, plus the Microsoft® Windows® Embedded CE 6.0 R2 operating system and Microsoft Visual Studio 2005 Professional. [Note: This SPARK Kit also includes one 120GB 2.5


David Shoemaker

David Shoemaker: Plan of attack

First things first we need a breakdown of things we want to accomplish. In rough order Device working, get an OS image running on a Spark system board. Vision, I want my device to be able to see the world around it.  Going with the simple USB web cam interface.Distance, I want to be able to tell how far away things are, this can be IR / Sonar / touch.Interaction (IO), this is the ability to manipulate the outside world, this can be motors / servos / lights.Communication, I want t


David Shoemaker

David Shoemaker: A bit about me

Welcome to my blog. A little about myself before we begin. I started programming on an Atari 400 in the math lab of my Jr. High School during 9th grade.  I "graduated" to a Commodore VIC-20 when I got one for Christmas a year later.  I sold my first program at 17, a comic book inventory system written in C64 basic for my local comic shop. Yep I got paid in comics :) I got my first real programming job doing dBase programming.  This led to data base management and UI de


David Shoemaker

David Shoemaker: Welcome

Welcome to my spark project blog.  I will be posting various tidbits so you can follow along as I work on my CE based projects.  Primarily related to a couple of projects I have in mind to be based around one of the Spark kits. NOTE: I will be cross posting this content to my general embedded blog on blogs.msdn.com/DavidShoemaker (though that will in the future have non spark content).


2010 Challenge
NOW OPEN!
Round 1 in:
  Days
  Hours
  Minutes
  Seconds


Key Dates
  • April 27
    embeddedSPARK
    2010 SUMMER
    Challenge Opens
  • June 15
    R1 Closes
  • June 22
    R1 Winners
    Announced
  • August 31
    R2 Closes
  • September 7
    Winners/Finalists
    Announced
  • September 21
    Three Finalists Compete
    LIVE on Stage at
    ESC in Boston
This site hosted for Microsoft by Smooth Fusion, Inc.