This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Migrating from dsPIC33 to MSP430XXXX

Other Parts Discussed in Thread: MSP430FR2355, MSP-FET

I have several years of experience with Microchip MCUs, specifically dsPIC33 family. But I must migrate to MSP430 for its low power capability. Could some of you help me get started by answering some high-level questions about the transition?

a) MCU selection:

Design requires 12-bit or better ADC, 12-bit or better DAC, UART, low power (<2mA, which is low for dsPIC but should be no problem here). Also requires some non-volatile memory which can be updated over UART - I can use an external EEPROM chip, but if the MSP has onboard NVM that's a big plus. Lower pin count is preferred (DBT/TSSOP looks good) as this will be hand-soldered initially. Could you point me to a device that meets these criteria?

b) Programming the device:

With dsPIC33 products I used a programmer/debugger called the ICD3; it interfaced between PC USB and 5 pins of the uC (power, ground, MCLR (reset) and two data pins). It seems there is a similar but inexpensive product called a BSL for MSP430s? Anything I should know about accommodating this, either on the firmware side or PCB design (IE, specific pins reserved for programming?)?

c) Anything else:

If anyone has been through a similar transition and would like to point out pitfalls, similarities or differences between the devices, feel free!

  • There are too many parts to list that should fit your requirements but your power requirements are incomplete. Is that peak power or average power? A typical MSP430 program will spend a lot of time in a lower power mode consuming much less than 2mA. Waking up occasionally and possibly drawing more (depends on clock speed).

    Programming with BSL is possible but you should really look into JTAG or Spy By Wire. The latter uses fewer pins but both allow you to run a debugger. Setting breakpoints and tracing program flow. A really useful thing to do and way better than sprinkling printf() statements in your code. Connection requirements are detailed in the user guides/ data sheets.

    My transition was from the old 8 bit PIC and I don't miss it at all. (No add with carry!) Get one of the cheap launchpad boards. An easy way to get your feat wet and they can be used to program other parts. This one is for parts in a DIP package: https://www.ti.com/tool/MSP-EXP430G2

  • You can take a look about MSP430FR2355 that have four SACs that can be used for 12bit DAC.It also have 12bit ADC.  And it has smallest package with VQFN32 that is 4mm*4mm

    To learn the MSP430 resources you can take a look with this book 

    https://www.ti.com/lit/ug/slau840a/slau840a.pdf?ts=1630483246129&ref_url=https%253A%252F%252Fwww.google.com%252F 

  • Thanks so much and . I agree the 2355 seems to meet all my requirements and is conveniently small/low pin count. I have downloaded and read SLAU840 - great resource, thanks! Regarding the options for programming, is the MSP-FET in line with David's suggestion about JTAG or SBW or is it a BSL? It appears to be the official TI recommendation.

    David, with dsPICs I never learned to use a debugger, always filled my code with print statements. Was a big pain when I couldn't get UART to run in the first place!

    I think I'm going to like the MSP family.

  • 1) If you're missing the DSP part of the dsPIC, the multiplier (co-processor, but pretty fast) has a MAC unit with a 64-bit accumulator and saturation.

    2) Buy an FR2355 Launchpad. It's cheap, it provides SpyBiWire debugging and can be used in the future to program your target boards.

**Attention** This is a public forum