Not I. nore have I received the ones for the contest.
Printable View
Not I. nore have I received the ones for the contest.
The onboard memory is about on par with similar MCUs. Some MSP430s have as much as 18KB RAM and 256KB ROM. Besides, you can use SPI and I2C to interface with as much extra ROM as you like, it'll cost about the same $ whether it's integrated or discrete.
I think a real drawback is that these are all low-speed parts; most spec out around 4-16MHz, a few as high as 25MHz. Judging by TI's offerings, they're already factory sorted by speed so I doubt they will scale up much and it's doubtful that individual parts can sustain any overclocking. (Yeah, I'm a villain, I often try to overclock my MCUs and PLDs.)
I am impressed by the remarkably low power consumption, especially in sleep/standby modes. And every MSP430 comes with fairly decent ADC ... you could probably use one to build a 200KHz 10-bit digital oscilloscope for less than 20 bucks. The MSP430 parts themselves are a little bit more expensive than some of the competition, but they'll probably drop over time, and besides $5 isn't a death blow.
An important detail I notice is that this development board appears to mount a 20-pin socket. This severely limits the number of MSP430 parts it will accept (mostly to just the 14-DIP packages), so all the MSP430s with juicier specs or more I/O lines simply aren't compatible unless you use a better development board. $4.30 for a reprogrammable USB device is pretty hard to beat.
I have no experience with TI parts. I assume they use a unique instruction set. How does their software (IDE, compiler, etc) compare against, say, MPLAB or Parallax?
I got mine a couple weeks ago.... Now I just need to figure out wth I'm going to do with it...
I have no idea how it compares to pics or stamps. I am an arduino man and am only familiar with AVRs and the Arduino Language (a mix of C+ and Processing)
We speak different languages.
I have been tempted by AVR, Arduino, Atmel before ... just as with the MSP430 now ... as long as the parts I work with now can still do what I need to do then I'll avoid diving into the learning curve for an alternative. (PIC, dsPIC, Propeller, ARM, and xPLD cover a pretty wide range and aren't gonna go obsolete for a while, so I'm good for now.)
Arduino is pretty simple. Here is some sample code for the accelerometer I am playing with.
Code:#include <Wire.h>
#define MMA7660addr 0x4c
#define MMA7660_X 0x00
#define MMA7660_Y 0x01
#define MMA7660_Z 0x02
#define MMA7660_TILT 0x03
#define MMA7660_SRST 0x04
#define MMA7660_SPCNT 0x05
#define MMA7660_INTSU 0x06
#define MMA7660_MODE 0x07
#define MMA7660_SR 0x08
#define MMA7660_PDET 0x09
#define MMA7660_PD 0x0A
class Acceleration
{
public:
char x;
char y;
char z;
};
void mma7660_init(void)
{
Wire.begin();
Wire.beginTransmission( MMA7660addr);
Wire.send(MMA7660_MODE);
Wire.send(0x00);
Wire.endTransmission();
Wire.beginTransmission( MMA7660addr);
Wire.send(MMA7660_SR);
Wire.send(0x07); // Samples/Second Active and Auto-Sleep Mode
Wire.endTransmission();
Wire.beginTransmission( MMA7660addr);
Wire.send(MMA7660_MODE);
Wire.send(0x01);//active mode
Wire.endTransmission();
}
void setup()
{
mma7660_init(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void Ecom()
{
unsigned char val[3];
int count = 0;
val[0] = val[1] = val[2] = 64;
Wire.requestFrom(0x4c, 3); // request 3 bytes from slave device 0x4c
while(Wire.available())
{
if(count < 3)
while ( val[count] > 63 ) // reload the damn thing it is bad
{
val[count] = Wire.receive();
}
count++;
}
// transform the 7 bit signed number into an 8 bit signed number.
Acceleration ret;
ret.x = ((char)(val[0]<<2))/4;
ret.y = ((char)(val[1]<<2))/4;
ret.z = ((char)(val[2]<<2))/4;
Serial.print("x = ");
Serial.println(ret.x,DEC); // print the X reading
Serial.print("y = ");
Serial.println(ret.y,DEC); // print the Y reading
Serial.print("z = ");
Serial.println(ret.z,DEC); // print the Z reading
}
char reading = 0;
void loop()
{
Ecom();
Serial.println("*************");
delay(500);
}
Also, if you feel like it, any Arduino uC will take straight C...though that would probably make for a steeper learning curve if you're not already familiar with AVR architecture.. :think:
The code looks somewhat PIC-like, yes very straightforward. My googling shows that there's plenty of cross-platform compilers and code converters, although obviously they won't usually optimize low-level code written for another device.
Adopting a new programmable logic architecture always has a little learning curve, lots of searching and reading, some experimenting with the parts themselves and their capabilities, some frustration in porting over your code libraries as needed, and evaluating whatever PC software choice are available. That's all expected, and not much of an issue anyhow since the more you know the easier it gets to adapt to knowing more.
The greater issue is hardware tools ... spending some serious money buying new boards (or spending time building your own). True, for <$5 this dev board is fairly robust (integrated USB controller!), but no doubt if I seriously adopt this architecture I'd quickly want better boards which can run better-rated MCUs. This board can handle DIP20s but from what I see the bulk of the compatible MSP430 choices are DIP14s ... that's just not enough I/O to do anything much, especially after SLI/I2C eats pins for flash memory or comm protocol interfaces.
I still might actually try it out: for ~$20 I could get two boards and 2-3 MSP430 parts. I can always just use them "as-is" in some embedded project or other and move on if I decide not to stick with it. Having already invested in the platforms I already use, it just might not be worth more than a learning experience. Learning is never "useless" - even if I never use these devices again - but I could perhaps more productively spend time learning more about the Propeller and Cortex parts I regularly use. I can't even remember all the "one-shot" oddball devices (literally dozens) that I've had to work with in the past (I get stuck using whatever devices the engineers or clients choose, or whatever their predecessors chose) ... that's how I was introduced to Propeller in fact, but most of these parts were a bit of a nuisance to work with (for whatever reason; some are obsolete or overspecialized, some costly, some poorly supported or unpopular, some just plain sucky or difficult to use) then quickly abandoned with some relief after the job was completed.
The same logic applies to Arduino. I'm constantly intrigued by parts and projects I see appearing as it becomes more widely adopted. Circuit Cellar, Nuts&Volts, Servo, and SparkFun all show a heavy shift towards Arduino, they're even beginning to displace the PIC/PICBASIC noob parts I learned on. Without Arduino I'm increasingly limiting options or needing to adapt them... I'm beginning to feel a little left out :s
w00tz! I just got the shipping confirmation email! So, fedex picked it at 1:40pm today (well, Monday), and it should be here....today by 10am? Wow! Less than 24 hour shipping from Texas! :D Pictures will be posted tomorrow.
Yay! Came in the mail today! :D For some reason TI sent it 'priority overnight'...not entirely sure why they did that but I'm not complaining.
So, pics. :D
Simple FedEx bubble-envelope-wrap-thingy:
The actual box. Looks nice, almost like they expect it to be seen by someone who hasn't bought it already. :whistler:
Inside:
And the included parts:
launchpad dev board
usb cable
both pin and socket headers (you solder on whichever you want)
MS3V-T1R 32.768kHz crystal
MSP430G2211 (in separate packet)
MSP430G2231 (on the board)
2 stickers :D
And I happened to notice this. It's on the inside of the cardboard tube-roll that the three smaller packets are in. :D
Oh, and I love this quote from the quick-start booklet (emphasis theirs):...also, apparently if you use it in Japan you're supposed to use it in a shielded room, and only if you have obtained "the license of Test Radio Station". :?Quote:
This evaluation board/kit is intended for ENGINEERING DEVELOPMENT, DEMONSTRATION, OR EVALUATION PURPOSES ONLY and is not considered by TI to be a finished end-product fit for general consumer use.