0
\$\begingroup\$

I am upon chosing a microcontroller for a PCB board project. MCU collects data from capacitance to digital converter (from a capacitance sensor) via I2C and I would like to pass that data to a host PC - via USB seems to be the most convenient. In the future there may be some filtering done on the data in the MCU, but in my project i focus primarily on the hardware part.

I am fairly new to the whole embedded/hardware design. On my research I found out that MSP430 may fit in my needs but I am not sure, there are so many of them even in msp430 family.

My main concern is programming, because as I understood in many MCUs, additional hardware is required for programming/debugging. And the examples I found all use some kind of development board - I need to develop complete standalone system on PCB board without any unnecessary components. The MCU part of the board should (there are 3 parts - electrodes, cap-to-digital converter, mcu for communication) not cause excessive electromagnetic interference.

I am looking for some guidelines, because I can't seem to find information on what I need.

\$\endgroup\$
2
  • \$\begingroup\$ An onboard programmer is likely beyond your ability as a beginner (maybe not if you are already an experienced programmer for the bootloader method). The simplest is a bootloader while onboard JTAG is the other alternative. \$\endgroup\$
    – DKNguyen
    Dec 31, 2019 at 14:38
  • 1
    \$\begingroup\$ You can use a cheap Launchpad as a programmer for the (quite large) subset of the MSP430 family that supports "Spy Bi-Wire" (2-wire + power + GND) programming/debugging, using the "mspdebug" tool. \$\endgroup\$
    – user16324
    Dec 31, 2019 at 14:41

2 Answers 2

1
\$\begingroup\$

You're asking for a whole lot.

I suggest that "USB" can mean a whole bunch of different things. I recommend avoiding creating a USB stack like the plague, until you know what you're doing. Many development boards contain a serial-port to USB serial device built in. When you plug it in to your host computer, it gets recognized as a serial port, and you can talk to it using any programming that can talk with a serial port. From the microcontroller end, you just use UART communication techniques, which are a whole bunch simpler than using USB tools.

My recommendation would be to get a developers board with this built in. In fact, the whole Arduino family would suit your needs well. You don't need any hardware to program the board -- it's built right in.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ OP can use a UART to USB cable to avoid USB stack but still plug into the computer. Basically RS232 but with a plug that looks like USB. \$\endgroup\$
    – DKNguyen
    Dec 31, 2019 at 14:28
  • \$\begingroup\$ I would also recommend a starter kit or development kit; they are widely available and inexpensive (perhaps $25 or so) from numerous vendors. I have successfully used the gecko series from Silicon labs for capacitive sensing among many other things (also has a complete development environment for free). There are numerous others, of course. \$\endgroup\$ Dec 31, 2019 at 14:44
  • \$\begingroup\$ Agree with the suggestions to buy a development board already made and debugged. There are numerous Arduino & Raspberry Pi boards out there that come with or for which a development and debug environment can be found for free or low cost. \$\endgroup\$
    – SteveSh
    Dec 31, 2019 at 15:06
0
\$\begingroup\$

If you use an stm32, you can get on chip USB, you can program through the USB line if you set the boot0 pin correctly and setting up an i2c communication channel is seriously easy.

They sell nucleo boards for like 10usd, and the chips footprints all come bundled in KiCAD (free and decent pcb layout software) libraries.

The entire tool chain is free, liberally licensed, works pretty well and there are loads of instructions on YouTube for usb and i2c.

My experience with TI software was that it loaded a bazillion unwanted things onto my computer that I'm still finding remnants of a year after uninstalling. Personally I'd avoid it.

\$\endgroup\$
2
  • \$\begingroup\$ FYI not all of the STM32's with USB support it in the factory ROM bootloader. For example the STM32F103 that so many end up with as it's sold on cheap boards cannot be programmed over USB until it's had a custom bootloader added by some other means. \$\endgroup\$ Dec 31, 2019 at 22:49
  • \$\begingroup\$ Some are also crystal free. Stm32f042 seems like a good bet for this basic application. Crystal free with DFU bootloader. \$\endgroup\$ Jan 1, 2020 at 11:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.