STM32F4 Discovery, what to do?

Okay, so I read a post on dangerous prototypes saying ST was giving away samples of these boards and I figured, why the hell not? So now I have this dev board sitting on my coffee table (I'm waiting on an A to micro-B cable so I can plug it in and play) whcih they got to me a whole two days after I submitted my request and can't decide what to do with it. So anyone have any ideas as to what I could/should do with it? Right now I don't even know how to get started, my only experience has been with an Arduino Uno, and even that is limited.

First of I think you should

First of I think you should read all you can find about this board and processor. With your limited experience with Arduino I think that you are about to start on a brutal learning curve.
I have some experience with Arduino, PICAXE and .NET micro framework (FEZ) but feel that this board is a bit scary and way beyond my capabilities.
Before you start planning a large complex project you probably need to spend some weeks to understand the tool-chain and how to interact / program the board.
But if you up for it, go for it and all the best.

I’ve spent the last couple

I’ve spent the last couple days doing reading in my free time, and can quite honestly say I have no idea if I have learned anything at this point. I really can’t seem to find that much information on how one might go about doing anything with this board. Have you, or anyone else here for that matter, ever played with one?

I’m guessing its not easy like Arduino where I can just basically say “Dear pin x, please kindly provide a PWM output of 70, thank you.” From what I’ve gathered so far I’ve downloaded TrueStudio as it supports this board, and to be honest that’s about all I’ve got so far. I’ve found an instructable on implementing freeRTOS on what looks to be an older model of the Discovery board so I think I’m going to download the source and look through some of that to see if I can get an idea of how it works.

I do realize that I’m in way over my head, but I figure that with a cost of $2.15 (the cost of the USB cable) it’s worth a shot of teaching myself something new. I guess mainly I was hoping for somebody to say “I have one, and I built [widget] out of it, and it was pretty easy.”

I’ve used an STM32F10x

I’ve used an STM32F10x discovery board with Atollic TrueStudio and got it working fine- the documentation basically walks you through it.  To get the documents you need goto the STM32F4DISCOVERY product page and click on the Design support tab.  See the section USER MANUALS and check out the document UM1467.  Chapter 8 goes over how to use it with Truestudio.  I suggest you download the firmware as well. 

Not entirely sure how I

Not entirely sure how I missed that before, but thank you very much for providing the link. I read the one above it, and just for some reason skipped that one. That explains how I get the code to upload now, which makes me feel a lot better. I guess my next question would be if I can control pin behavior somewhat simply like I can with arduino? It’s got a huge number of pins broken out on both sides of the board, and I’m presuming that at least some of these are taken up with some of the onboard features like the accelerometer and audio in/out, In arduino one of the first pieces of code I wrote was to drive two motors forward through a motor driver.

pinMode(R_PWM, OUTPUT);
pinMode(L_PWM, OUTPUT);
pinMode(R_For, OUTPUT);
pinMode(R_Rev, OUTPUT);
pinMode(L_For, OUTPUT);
pinMode(L_Rev, OUTPUT);
pinMode(bump_Pin, INPUT);
delay (5000);
//move bot forward
digitalWrite(L_Rev, LOW);
digitalWrite(R_Rev, LOW);
digitalWrite(L_For, HIGH);
digitalWrite(R_For, HIGH);
analogWrite(L_PWM, 50);
analogWrite(R_PWM, 50);
How complicated would something like this become now? I’m trying to take a look at some of the source in the projects included with the firmware download from STM, and I found basic “Flash an LED” code, and part of it makes no sense to me.
void STM_EVAL_LEDOff(Led_TypeDef Led)
{
  GPIO_PORT[Led]->BSRRH = GPIO_PIN[Led]; 
}
void STM_EVAL_LEDOn(Led_TypeDef Led)
{
  GPIO_PORT[Led]->BSRRL = GPIO_PIN[Led];
}
and that seems simple enough to me, other than that BSRRH and BSRRL stuff. I’m assuming you’re throwing the pin for the LED either (H)igh or (L)ow with the change from the L to H, but what is that BSRR?
The main part I’m worried about though is the in the include file there’s lines like these (as in they mean nothing to me, and I can’t even attempt to explain to myself what it might be doing)
#define LIS302DL_FLAG_TIMEOUT         ((uint32_t)0x1000)
Do I have to learn what that means, or could I get by without ever knowing what that is, and just copying and pasting it into a new project? I’m willing to learn, but I’d much rather learn as I do something as part of a natural evolution rather than having to sit down and read books for a week before I can make it flash an LED.

If you goto the STM32 F4

If you goto the STM32 F4 devices page and click on the Resources tab you will see links to various documentation.  Check out the reference manual for an in-depth explanation of GPIO.