← Back to context

Comment by self_awareness

8 days ago

It seems awesome, but I'm having a problem with figuring out how can a "normal" person use it. How would YOU use it, reader of this comment?

Anything where a reasonable person would say "this doesn't even need a microcontroller, just do it analog".

In terms of projects that I would be inclined to try that are uniquely enabled by this, my mind goes towards wearables. It's small enough to be hidden in seams of fabric. If you wanted to have a bunch of temperature sensors all over your body, or have a complex arrangement of dimmable LEDs woven into clothing, each string going to its own controller hidden close by and communicating with a central controller, or maybe measure your skin conductivity all over your body or something, this is a great piece of tech to do that with style. You still need to run power and data wires everywhere (no RF on this chip), but flexible wires are a very solvable problem.

  • I understand they put "normal" person in quotes, probably to reference the HN crowd or other computer enthusiasts - but it is very funny to think of my Uncle Rick (No smartphone, no computer knowledge), a "normal" person, coming to the family outing with microcontrollers rigged up to temperature sensors all over his body.

I have used a microcontroller from ST, very similar in size and also with a Cortex-M0+ core.

The applications required only I2C to communicate with a bunch of other integrated circuits and a few general-purpose pins.

An example of an application was a kind of hardware video converter, which received video input from a camera and then sent it wirelessly or on cables, where the MCU configured and reconfigured everything on the board, after reset or when certain buttons were pressed, and the configuration for some things, like a HDMI transmitter, was complicated, requiring the reading and the writing of many internal registers via I2C, so a MCU was really needed.

There are many types of complex integrated circuits that need to be configured with values written in internal registers to be usable, so, even if just for the initial configuration after reset, you need some small MCU that can write the registers via I2C or SPI. For this, the smaller the MCU is, so it will not take space on the PCB just for booting the other ICs, the better.

Consumer electronics can be designed to extremely tight budgets for cost and power consumption. Designers will choose a chip based on a chip having precisely the features needed, zero current wasted on features they don't need, and seemingly tiny price differences.

It's not intended for a normal person to use. If you're a normal person making something as a hobby project, you'll get a much nicer development experience by using a microcontroller that costs a few dollars rather than a few cents. For hobby purposes, I recommend either the Raspberry Pi Pico or the STM32 blue pill. A part like this is intended for inexpensive, high-volume consumer electronics that need some sort of simple control functionality. For example, let's say you're making an electric toothbrush. All it needs to do is turn the motor on, wait for 2 minutes, then pulse the motor to let the user know they're done brushing their teeth. This can do that. Or let's say you're making a promotional keychain, and you want it to blink a few LEDs in a specific pattern when the user presses a button. This can do that. If you take apart basically any piece of cheap (< $5) electronics that's been designed in the past 10-15 years, you'll usually see a tiny unmarked 8-pin microcontroller doing the control work. This part competes in that market.

Anyone using these small chips for hobbyist purposes probably should look at the more fully featured MSPM0-L line or MSPM0-G lines. Still Cortex-M0+ and in the sub $2 market... But hobbyists probably don't see much cost benefit below that (how many MCUs are you buying anyway??).

The L line and G lines have better ADCs, Comparators, better connectivity, and some of them even have on board OpAmps.

Tiny chips have a use of you are tying to build the absolute smallest devices. But hobbyists don't have the equipment to comfortably build things of this size.

Sizing up to VQFN packages and 0603 passives makes more sense for the typical hobbyist.

-----------

As far as how a professional would use this, there are plenty of good uses of chips inside of cables or other kinds of smarts. Like a chip controlling a bunch of LEDs for example, based on voltage measurements elsewhere (there is a 12-bit ADC after all, which means you have rather solid voltage sensing from a few pins).

Basic voltage comparisons + math + crude timer and then a few pins for in/out gets you to a lot of useful projects. Albeit dumb ones. I dunno why anything needs to be this small in particular though.

It's got a UART, it's got a PWM, it's really fast, and it's got masses of memory. I'd build a really tiny synthesizer, port my Juno 106 plugin's voice engine to it.

But like *really* tiny.

  • "Masses" of memory, it does not have. Sufficient to the task for synthesis? Maybe, if you do a fair bit of assembly ..

From the datasheet:

Applications

• Battery charging and management

• Power supplies and power delivery

• Personal electronics

• Building security and fire safety

• Connected peripherals and printers

• Grid infrastructure

• Smart metering

• Communication modules

• Medical and healthcare

• Lighting

  • With a 12-bit singled ended ADC? That's laughable. You can't reliably measure current with this thing.

    I'm not seeing any voltage comparators which are really useful for most of those use cases...

    Now the MSPM0 series chips have a few OpAmps or a few better ADCs. TI also have proper power metering chips with 16-bit or 24-bit (!!!!!) ADCs for proper power metering.

    ---------

    This is still a 12-bit ADC strapped onto a 8-pin chip. It's useful for something but not that whole list. Power metering? Heh, TI is smoking something or just using AI auto complete.

    > Battery charging and management

    > Power supplies and power delivery

    > • Grid infrastructure

    Those really want a comparator (100ns response time) rather than an ADC (10,000ns response time).

    You also want zero-crossing detectors on grid infra, or other analog features that simply aren't available at this price point. Just no.

    > • Smart metering

    Lol very no. 16-bit ADC at a minimum, probably needs 24-bit delta sigma ADC instead (slower ADC but higher precision). TI has a bunch of MSP430 that do the job well.

    Alternatively, an OpAmp or other amplifier can zoom into the current sensing circuits and make a 12-bit ADC work, but you need another bigger chip (the OpAmp), at which point you should be using an OpAmp+MCU solution instead.

    Plus the "smart" part of metering needs a better communication module than bare bones basic UART. Maybe wireless of some kind or a DSP for custom modem work.

    > • Communication modules

    Just no. Waayyyyyyy to slow.

    > • Personal electronics

    > • Connected peripherals and printers

    You have bigger, better chips for these.

    > • Building security and fire safety

    > • Medical and healthcare

    > • Lighting

    I think these three are legitimate good use cases.

I made something to ping an AWS service to tell me the uptime of my internet connection. The idea was to sprinkle them around our area, connected to various home WiFi’s, and get a better triangulation of outages. Eg is whole pipe out, just one ISP etc.

I made and tested it but didn’t care enough to continue.

Power sequencing or such in mobile electronics, using a pick-and-place machine.

This specific SKU has serious limitations due to the SRAM - TI limits the features (ROM bootloader IIRC, etc.) severely on these due to this.

Jewelry, most likely a fun pair of earning with a few small leds. I would pair it with a 4.8mm x 1.6mm coin battery for power.

Check out projects for the ch32 line of chips. It's basically a risc V equivalent of this, except the size.

I have action camera with retarded user interface. To turn it on I have to: press main button for at least 0.3s but no longer than 2s, then I have to wait until it beeps, then I have to wait for 3s, then I have to press second button for at least 0.3s but no longer than 1s. Then I observe main led, if it blinks the camera is recording, if not I need to press second button again.

With tiny mcu like this one, I think it would be possible to add a bodge inside that would turn on recording automatically after single press of button. The MCU needs to be really tiny to fit inside camera.

You write program(usually in C), compile it into machine code(to .hex or .bin file), then "flashing" it using debugger tool. This IC will execute your program.