End

Group

Website URL

Location

Interests

Sparkfun

Github

If you appreciate late 90s vintage PCs you might be interested in this one.
I decided to build a Pentium II machine on which I can play my favourite games from those times. Magic Carpet (Bullfrog Productions) is one of them, but it needs a joystick. I had good quality USB joysticks, but those games need old analog gameport-based controllers that are serviced by the sound cards of the time.
This new project acts as a USB Host and provides the analog output that emulates a 4 axis + 4 button game controller.
the prototype works absolutely great, it takes about 0.6ms to read data from the attached USB joystick and to send it to the sound card. data is retrieved every 10ms as per the HID polling interval, absolutely no input command is lost and there is over-current protection built in in order to protect the PC from misuse.
what do you guys think? I'm open to ideas regarding this project before I commit revision 2 of the board - which might end up being a 4 layer design.
prototype pictures: https://photos.app.goo.gl/fXdDBng4dvEepq8V7
repo: https://cadlab.io/projects/lemidi
cheers,
peter

Hi
I purchased a TUSB3410PDK EVM kit. Also, I downloaded a USB-Serial port interface code from a open source site. By now i understand that the TUSB3410 boots out of a ROM code initially and then loads the code from EEPROM and passes control to the EEPROM code. The issue is if I just execute this code below.it does not toggle P3_3 pin why?. The other question is am i supposed to re-enumerate with the code that I got from opensource ... And if so does anyone here have experience with this open source bootcode... Note, I have got it compiled using SDCC and have tried putting the bin file into EEPROM and reset the connection but the device does not enumerate... Please help!!!
void main(void)
{
int index;
//bWDCSR = 0x2a; // this would disable the watchdog (tested!) *
//bWDCSR |= WDCSR_WDT;
while ( 1 )
{
(* (char __xdata *)(0xFF9E))&=0xF7;
//P3^=1;
for (index=0;index<1000L;index++)
{
}
(* (char __xdata *)(0xFF9E))|=0x08;
//P3^=1;
bWDCSR |= WDCSR_WDT;
}
}

Hello, I would like to interface USB push notification board (bought recently) https://store.ncd.io/product/4-channel-push-notification-contact-closure-input-over-usb/ with MSP430 and interface multi sensors in such a way that whenever the sensor range is disrupted then actuator assigned to sensor will be switch on and this message will be sent on smart phones, I am new to this kid work and also if this thing will successful then I would like to make the actuators like rely board function with these king push notification any suggestion regarding making these kind solution through embedded system will be much helpful

Hi! It's my first time using MSP430 and I'm a little bit lost . I want to connect a barcode scanner module with the MSP430. In order to do that, I need an USB port extra. I know that Arduino has a USB Host shield, but MSP430 doesn't have any shields, does it?
So, how can I do it? Is there any way to use the USB Shield of Arduino for the MSP430?
Thanks!

I'm trying to bring up a CLI/Makefile based toolset under Ubuntu.
Ubuntu version 17.04
MSPDebug version 0.24
My two Launchpads are both MSP-EXP430G2, Rev1.5, and are about three years old. One has a 2553 chip and the other is a 2452.
Result of 'mspdebug --usb-list' includes:
Devices on bus 001:
001:010 0451:f432 eZ430-RF2500 [serial: FEFF467AF9CB2548]
Running mspdebug gives:
randy@corvette: mspdebug/0.24$ ./mspdebug -U '001:010' rf2500
MSPDebug version 0.24 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2016 Daniel Beer <dlbeer@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Chip info database from MSP430.dll v3.3.1.4 Copyright (C) 2013 TI, Inc.
Trying to open interface 1 on 010
rf2500: warning: can't detach kernel driver: No data available
Initializing FET...
rf2500: can't send data: Resource temporarily unavailable
fet: open failed
Trying again...
Initializing FET...
rf2500: can't send data: Resource temporarily unavailable
fet: open failed
After I plug the Launchpad into USB, dmesg shows:
[80373.763698] usb 1-9.3: USB disconnect, device number 10
[80387.054044] usb 1-9.3: new full-speed USB device number 11 using xhci_hcd
[80387.363746] usb 1-9.3: New USB device found, idVendor=0451, idProduct=f432
[80387.363749] usb 1-9.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[80387.363751] usb 1-9.3: Product: Texas Instruments MSP-FET430UIF
[80387.363752] usb 1-9.3: Manufacturer: Texas Instruments
[80387.363753] usb 1-9.3: SerialNumber: FEFF467AF9CB2548
[80387.389816] cdc_acm 1-9.3:1.0: No union descriptor, testing for castrated device
[80387.389829] cdc_acm 1-9.3:1.0: ttyACM0: USB ACM device
[80397.690445] hid-generic 0003:0451:F432.000A: usb_submit_urb(ctrl) failed: -1
[80397.690462] hid-generic 0003:0451:F432.000A: timeout initializing reports
[80397.696344] hid-generic 0003:0451:F432.000A: hiddev0,hidraw4: USB HID v1.01 Device [Texas Instruments Texas Instruments MSP-FET430UIF] on usb-0000:03:00.0-9.3/input1
I've installed and activated the udev rules in /etc/udev/rules.d/71-ti-permissions.rules
This feels like a driver problem to me. I haven't been able to find any information on what drivers are used, just vague and unhelpful statements like 'if you are running a current version of Linux it probably has the correct drivers already installed.'
I've tried running as root to bypass any permissions issues with no change in results. I've installed energia, it uses mspdebug for it's connection so it gives the same result.
I've run out of things to try. The MSP430 is a nice processor to work with but if I can't get the tools to work I'll have to pick a different MCU.
Thanks All
Randy

Hi
I wonder if anybody can give a newbie some advice.
I just started using my MSP430G2553 today. Was working great through USB and getting to grips with the basics using energia 101E0017 (I couldnt get R18 working). Then decided to disconnect the USB cable and power at 3.6V through the 3 pin header (Vcc GND, GND) was working good until I knocked the board and a cable must have shorted something, as the board will no longer power through Vcc but will when using the USB cable. Powering through the Vcc on the 3 pin header or the 10 pin header on the left side of the board I get 3.6 volts on pin1 of the chip (+ve supply of the chip) but also on pin 20 I believe the ground pin of the chip. I cant understand why this should happen with external power but not when powered by the USB.
Programs can be uploaded to the board. I've tried various sketches they all work.
I'm just getting back in to electronics so I've probably missed something obvious.
(A side note should the Vcc jumper be removed when powering externally or does that not matter.)
Any help would be gratefully appreciated.

Hi
I wonder if anybody can give a newbie some advice.
I just started using my MSP430G2553 today. Was working great through USB and getting to grips with the basics using energia 101E0017 (I couldnt get R18 working). Then decided to disconnect the USB cable and power at 3.6V through the 3 pin header (Vcc GND, GND) was working good until I knocked the board and a cable must have shorted something, as the board will no longer power through Vcc but will when using the USB cable. Powering through the Vcc on the 3 pin header or the 10 pin header on the left side of the board I get 3.6 volts on pin1 of the chip (+ve supply of the chip) but also on pin 20 I believe the ground pin of the chip. I cant understand why this should happen with external power but not when powered by the USB.
Programs can be uploaded to the board. I've tried various sketches they all work.
I'm just getting back in to electronics so I've probably missed something obvious.
(A side note should the Vcc jumper be removed when powering externally or does that not matter.)
Any help would be gratefully appreciated.

FYI: If you are looking for a good quality touch screen for a Odroid, Raspberry Pi or other SBC project, the Kickstarter for Manga Screen 2 is out now:
Full disclosure: I am a backer, and I know Elias (the maker of Manga Screen 2)

I know I haven't finished off my desk clock project just yet, But I've been requested to design a new GPS logging device for my sisters Beagle Club,
The basic idea is that a sent is placed with a guy that forms a path, the GPS logger is taken along also.
They then attach the device to a beagle (using some kind of vest, I think). And let them follow the scent.
Post event they extract the GPS data from the logger and overlay both tracks in google earth.
They have one unit that has been working well for them, developed by a previous club member.
It consists of off the shelf components from Sparkfun. With a total BOM just over $150
Logomatic V2 (https://www.sparkfun.com/products/12772)
GPS (https://www.sparkfun.com/products/8975)
128mb uSD
Old Cell phone battery (Li-ion) (~700mAh judging from physical size)
All of these are connected together and fit into an off the shelf jiffy box.
They would like 5 more made, which would perform identical/similar function
Design goals:
Lower cost (< $50AUD per unit, making 5 units)
Externally operates identically to the old versionUSB MSC
Logs start when unit powered on via toggle switch
new log created when button pressed
All additional tools stored on SD card (GPS utilities, past logs)
Long battery life, unit should operate for > 10Hours
Physically the same size or smaller
(if time allows, a simple PC tool to to reset the device into DFU mode, and update the firmware)
I'm planning to source a more slimline case. once I have that I will begin PCB design.
I have drawn some quick System level schematics
The hardware is pretty straight forward
Same with the software, I have already played with the MSP430 USB MSC examples, and am familiar with FATFS. I should be able to glue in some UART code to get it all to work.
The device will operate under two modes depending on if it's connected to USB or not.
Hopefully someone will find this mildly interesting as I work through it.

Hi there,
first of all sorry but I am a greenhorn in programming a µController :-/
I set myself a new goal that I program a tiny tool to measurer timings of a self made shutter electronic for a camera.
For this I would like to send a String by pushing button1 at my MSP430G2553 LaunchPad. The string should be sending via USB connection to PC and again to another USB Port.
The hardware at the end of the second USB Port will drive a solenoid. The primary purpose is to measure the delay between sending at the LaunchPad and receiving the driver signal of the solenoid driver.
The problem is, I have no idea how does the communication is possible :-/
At this days I understand how some ENERGIA examples does work and I can program some parts by my own. Possibilities of communication is totally new for me.
Please could someone give me some tips on how to solve that ?
I am grateful for all information.

For those of you attempting to build USB devices I put together some Launchpad examples as well as a lab type walkthrough of how to create custom devices (mainly HID)
Included
1) Examples ported to the Launchpad - Mouse, Keyboard, Composite
2) Updated HID header file with additional device and usage types
3) A new device type called usbdhidcustom - This allows you to make new devices with minimal code changes
4) A complete document in lab type format where you build a volume control device, a gamepad and a keyboard + mouse
5) Completed projects to go with the labs
StellarisWare.zip

Hello,
in my project I want to use the MSP430G2553 as a master which communicates with another device via USCI_A0 UART mode. Is it possible to program the MSP430G2553 via the other modes, e.g. USCI_B0 SPI or USCI_B0 I2C respectively, without the use of a programmer?
Are there any tutorials regarding on how to write a bootloader for the MSP430?
Cheers,
Tim Torpedo

Hi everyone, TLDNR:
How do I set up MIDI descriptors for MIDI over USB so that I can get my PC to recognize my F5510 as a class-compliant MIDI device, either using the TI USB Dev package, api, and descriptor tool, or manually?
I'm working on my first MSP430 project and hoping to get some help setting up the USB interface in CCS. I'm working with an MSP430F5510 on a custom board and trying to set it up so that it's recognized as a class-compliant midi device on the PC - then I will send midi messages to the PC to control music programs, etc. I'm stuck on where to start for configuring the USB on the MSP430 and setting up the MIDI descriptors.
So far, I've managed to run the empty USB example from TI's USB Developers Package using HID settings from the TI Descriptor Tool - my PC recognized it as an HID device and installed it. It shows in device manager (yet has an error, which I suspect is just due to not running any code yet: "This device cannot start. (Code 10)"). Okay, this seems good - I imagine my hardware is working then. Now how do I set it up to be recognized as a MIDI device? The TI examples and descriptor tool don't support MIDI, but I was hoping I could possibly modify the code to make it work - to save re-inventing some of the wheel. Their code seems quite convoluted and abstracted which is making it difficult for me to figure out what I need to do. I've found some resources on MIDI over USB such as the ones below, but am looking for some direction on how to actually implement it. Resources I've found:
MIDI descriptor from microchip: http://www.microchip.com/forums/m297214.aspx
Forum question on basics of MIDI over USB: http://electronics.stackexchange.com/questions/87601/implementing-a-class-compliant-usb-midi-device
All of TI's USB Dev stuff: http://www.ti.com/tool/msp430usbdevpack http://www.ti.com/lit/an/slaa457a/slaa457a.pdf
MIDI over USB Spec for knowing what to put in descriptors: http://www.usb.org/developers/docs/devclass_docs/midi10.pdf
Main questions on the topic:
Should I be trying to use TI's examples? Also the API?
Where do I put the descriptors and how?
Are there other resources I should be following?
Thanks heaps in advance for any insight you can give! Congrats if you read this far - you're the best =). Thanks,
Josh

For those in the US: Fry's has 5V 1A USB chargers from Belkin on sale for 30 cents a piece! Perfect for powering the odd electronics project.
http://www.frys.com/product/6517763
According to this test and teardown, it seems to be living up to its spec: http://www.eevblog.com/forum/reviews/teardown-$0-30-usb-power-supply-at-fry%27s/msg671559/
The catch? The connector on the USB cable is for obsolete iProducts. So you even get a solid USB cable that can be cut up without regrets.
My local Fry's in Renton, WA still had a few hundred on stock at 3pm today. I don't think they will last when word gets out.

I'm currently doing a project on MSP430F5638. I want to implement USB on it. I got the code from TI website,(I am running the M2_SDCardReader example that came with version 4_20_00 of the USB Developers Package.) but while running this code I am facing some problems. If I run the code I can see unknown device(after calling the function usb_conncet) in my system for a moment, then its disappearing. I used descriptor tool to assign the VID and PID as mentioned in the guide provided by TI.
how can i solve this problems..????? Do you have any suggestions?

I recent completed the prototype of my LoginNFC project. It's a combination of MSP430 acting as a USB keyboard (and CDC serial for configuration) and a TRF7970A NFC reader. The prototype was done with a F5529 LaunchPad and TRF7970A Booster - along with a ferrite antenna to improve the read range.
It's working well and I did a small write-up here: https://0xfred.wordpress.com/2015/01/14/nfc-login-version-1-0/
However, I don't really feel it's complete until I've got it off the dev board and made a decent PCB. This is my first double-sided PCB, first time with USB, first time with LQFP and QFN. Before I print out the transparencies and start etching (yes - I'm planning to hom eetch this) I thought I'd throw it out there for criticism - constructive or otherwise.
Lots of inspiration from @@RobG and his F5510 board along with TI's reference designs.Thanks for that. I'm sure I've have messed up somewhere though!
Here's what I've got. The vias are large (and the drill small) because they will be done with 0.6mm copper rivets. I thought I'd give myself a bit of leeway for centering the hole when I drill them. I've tried to minimise them and they'll be done by hand but there still seems to be more than I'd like. The part that's off the board is an inductor that seems to work well as an antenna. I need to get my implant as close as possible beside it.
Eagle files attached if anyone wants to take a closer look.
LoginNFC.sch
LoginNFC.brd

The Examples Guide: MSP430 USB API Stack (contained within the MSP430 USB Developers Package) states that cdcSendDataInBackground alternates between bufferX and bufferY. I stared at the code but still cannot figure out how the program flow does the bufferX-then-bufferY thing. Any thoughts?

I'm in the middle of a project using the f5529 launchpad and Energia. I'm trying to use both the USB and the I2C port at the same time. I can initialize the USB and see it enumerate in the windows device manager and I can read/write to it and it works properly. But as soon as I try to enable the I2C port using the USCI_B1 the USB dies and can no longer be read or written to.
The example codes in Energia work for both the USB examples and for the TMP006 example, so the harware is OK. But trying to get them both to play at the same time is a nogo.
What am I missing?
#include <USBSerial.h> #include "tmp006.h" #define USE_USCI_B1 USBSerial mySerial(1); // USB tmp006 tmp006; void setup() { // open the USBSerial port mySerial.begin(); mySerial.println("setup!"); // Setup the temperature sensors //The following line is killing the USB port tmp006.begin(FOUR_SAMPLES); // Takes 4 averaged samples for measurement } void loop() { mySerial.println("loop!"); }

Hello everyone,
FIrst - its not the permission issue of not having a proper udev rule.
I am on Debian Wheezy with all the msp related packages installed from the official repos - including mspdebug. But after I connect the launchpad and give:
mspdebug rf2500
I get
usbutil: unable to find a device matching 0451:f432
My computer is not detecting the board. The output of lsusb is:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 1210:25f4 DigiTech
Bus 002 Device 003: ID 04f3:0232 Elan Microelectronics Corp. Mouse
I get *no* information at dmesg while I plug in or disconnect the launchpad. Absolutely nothing.
The output of
lsmod | grep ti
confirms that the ti's usb driver module has not been loaded. So I manually loaded that one with
modprobe ti_usb_3410_5052
Now I see something in dmesg:
[ 1496.709197] usbcore: registered new interface driver usbserial
[ 1496.709227] USB Serial support registered for generic
[ 1496.709266] usbcore: registered new interface driver usbserial_generic
[ 1496.709273] usbserial: USB Serial Driver core
[ 1496.722267] USB Serial support registered for TI USB 3410 1 port adapter
[ 1496.722313] USB Serial support registered for TI USB 5052 2 port adapter
[ 1496.722733] usbcore: registered new interface driver ti_usb_3410_5052
[ 1496.722741] ti_usb_3410_5052: v0.10:TI USB 3410/5052 Serial Driver
Now I plugged in the board again. But absolutely *no* change in the dmesg or lsusb output.
The board is a fresh one, and its working well - when I plug in into USB, I can see its demo program blinking those red and green leds.
Now, as mentioned in http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Getting_Started_with_Debugging, I looked for the firmware file to copy, but the file ti_3410.fw doesnt exist anywhere in my /lib/firmware. But I do have a file ti_3410.fw.ihex in /usr/lib/mspdebug which obviously came with mspdebug.
What's wrong? What should I do to get the USB port detected? It might be irrelevant, but I can connect an Arduino board on the same port, and it works well.
Thanks in advance!

I'm calling in the MSP430 USB specialists.
On Rev A of my standalone AIS Receiver board, I connect DP/DM (D+/D-) backwards to the MSP43F5508. After I realized the error, I cut the traces and patched it up with two short wires. Unfortunately the device is still not enumerated by the host.
I use TI's USB library. USB_setup() completes successfully, but USB_connectionState() stays in the enumerating state forever while nothing happens on the PC.
Could it be, that I killed the USB data inputs by having DP and DM connected the wrong way around?
Any other suggestions on how to debug this situation?

Hi,
I am planning to build a logic analyser using my Tiva-C launchpad. I have seen a logic analyser using the SUMP protocol but it uses the USB CDC (serail port) to transfer data.
http://www.fischl.de...aris_launchpad/
I need a better sampling rate for my GPIO. My plan is to copy the contents of GPIO data register using DMA into the USB FIFO. Then use some custome device driver in USB to transfer data to PC instead of using USB CDC class drivers.There is a similar example for STM32(but for a different application)
http://www.st.com/st.../CD00256689.pdf
How to find out the sampling rate for a GPIO ?
If I use DMA to copy the data from GPIO, will the performance(i.e sampling rate) of the logic analyser increase ?
Could anyone let me know how fast DMA can copy data from GPIO and write to USB FIFO ?
How fast can USB CDC then transfer data to the PC ? Do I have to implement USB "BULK" mode(or some custom driver) to transfer data?
I found that Saleae logic analyser uses this same concept(copy data from GPIO directly to USB) http://www.saleae.com/logic
There is a open source driver for this device to understand the implementation http://sigrok.org/wiki/Fx2lafw
Is it worth to design a logic analyser using GPIO <-> DMA <-> USB concept if there wont be much improvement in the performance since there already exist one based on the SUMP protocol(the first link that I have shared).
Thanks!

Hey guys.
I recently got a Launch pad -- MSP430G2 board ( Rev B ) [only the board and the USB cable from a friend].
I downloaded Energia for my Mac running OS X 10.9. [maverics]. Though the Power LED lights up, the board is not recognised by the IDE. I don't know if the problem is with the board, the cable or the IDE.
Though the board was detected for a short period of time and I was able to just uplaod the Blink sketch into it.
Now when I connect to a USB power or my MAC, led1 just keeps blinking. I am unable to program it.
I hope you guys can help me spot the problem so that I can rectify it and make use of the board to learn Embedded systems.
Thanks in advance.