alt.hn

6/26/2026 at 4:38:55 PM

1.38 Millimeter Microcontroller

https://www.ti.com/product/MSPM0C1104

by kristianpaul

6/29/2026 at 8:57:05 AM

At $0.20 in 1k quantities, this is TI's answer to the CH32V003, Puya PY32, and the STM32C0 series. It's great to see tier-1 silicon vendors participating in the race to the bottom for jellybean microcontrollers.

The 1KB of SRAM is admittedly very tight (even WCH's 10-cent RISC-V parts usually give you 2KB), so you are strictly in bare-metal, carefully-managing-your-stack territory.

by anonli

6/29/2026 at 11:21:35 AM

1KB isn't so bad unless you are making something complicated or need large buffers. You can do quite a bit of nontrivial stuff with it. Years ago I made universal remote with ATtiny13 + external EEPROM for storing remote data. It has only 64 bytes of RAM, that's what I would call very tight. Was still able to program it in C, 1KB flash and number of pins were bigger limiting factor than ram.

Plenty of DIY projects used ATtiny2313 with V-USB. That's a pure software USB implementation bit banging the IO pins (not a USB stack on top of hardware USB support)+ your application logic squeezed into 2K of flash + 128 bytes of ram.

Chips like this are great for digital glue logic. Read a sensor, read a button press, blink some LEDs with simple state machine or control loop.

by Karliss

6/29/2026 at 3:03:31 PM

Yes, that's "bare metal" as opposed to programming in MicroPython, Javascript with Espruino, Lua/NodeMCU, Rust, or adding your C application on top of an off-the-shelf RTOS.

C support is basically universal these days, very few chips require you to program in only assembly anymore.

by LeifCarrotson

6/29/2026 at 3:27:45 PM

I had no troubles targeting an ATTiny13A with Rust.

(had to disable debug symbols, though)

Why should that be any harder than C?

by kawogi

6/29/2026 at 3:14:13 PM

Rust compiles to bare metal (assembly aka machine instruction code), just like C does.

by daveguy

6/29/2026 at 6:36:10 PM

Bare metal refers to not using an rtos. I know that sounds weird but it is an industry convention. It does not refer to the language.

by supertroop

6/29/2026 at 4:18:35 PM

It also supports running in freestanding setups without an OS, and quite a lot of the language's features still work.

I was extremely surprised by how much functionality is packed into "core", and runs without an OS when using freestanding rust. Even stuff that requires an allocator can run provided you provide your own heap!

A cool example of this was implementing fmt::Write for a memory mapped uart console thing. Then implementing a kprintln! macro that supports all of the formatting machinery that you are use to. This worked without even a heap available.

by chlorion

6/29/2026 at 4:55:55 PM

Check out the video introducing Swift for Embedded. Seems like a really nice devX for this kind of thing.

by kridsdale1

6/29/2026 at 9:01:45 AM

This line of micros has been out for almost 2 years now but they only just took the 1.38mm^2 package out of pre-production. I started a design last year of a tiny earring with ~102 addressable LEDs on it, a microphone, a bunch of supporting circuitry and this micro. https://i.ibb.co/JWh57LLw/IMG-20260408-183807502-HDR.jpg Unfortunately by the time I was ready to order the boards I found the tiny package was unobtanium and had to resort to the second smallest package which isn't very small. Frustration!

Not worth changing the design now...

by emctech

6/29/2026 at 9:12:03 AM

And for people saying it is low on RAM and flash, you need to understand this is a low cost micro. You can also do a lot of work with a small amount of RAM by managing your memory manually. Through the use of C unions I have about 3kB worth of variables that get switched in and out depending on the mode we are in. I have enough space to record analog audio samples and perform a fourier transform over the samples and use the generated to data to drive algorithmically generated animations on the LED array.

by emctech

6/29/2026 at 9:13:07 AM

These earrings look awesome btw!

by tauntz

6/29/2026 at 9:17:14 AM

Thank you! I want to try and sell them but I just have a few bugs to squash and to finish off the mechanical design of the charging cradle.

by emctech

6/29/2026 at 3:14:57 PM

Have you blogged about the earrings perchance? They really do look great, and I'd love to see some details of your process.

by GordonS

6/29/2026 at 4:57:09 PM

Yes, I’d love to see a video of them in action.

by kridsdale1

6/29/2026 at 8:43:34 AM

A silly question (from a non-HW guy). Why are digital bathroom scales so coarse? Some have a weight resolution of +/- 500 grams. Would a better microcontroller make a weight faster or more presise? I guess this TI micro controller is overkill for a bathroom scale.

by arnejenssen

6/29/2026 at 9:06:32 AM

Computing power is crazy cheap and does not help. The perceived slowness is because the taken measurements are averaged over second or so. When you step on the scale your weight shifts around and that affects the measurement by far more than half a kg. Averaging gives you better accuracy and more confidence in the result but it doesn't improve the measurement precision.

The scale precision comes from calibration of the measuring mechanism done on factory line at certain weights. If your specific body weight is far from the weights used in calibration, or too much time passed, then the calibration doesn't help much.

A better microcontroller doesn't help at all. Even a cheapest uC from decades ago is good enough. Better ADC and gauge sensor would help, but even more important is good analog engineering to produce self-correcting circuits with decent noise rejection.

In general this category of products is more for tracking changes in your body weight than getting the precise absolute value. And the body weight changes a lot just from hydration level, so the ±.5kg tolerance is considered good enough.

by jmiskovic

6/29/2026 at 4:57:58 PM

I used to have a bathroom scale with a single strain gauge that was accurate. Accurate, as in weigh yourself, pick up a 1lb object, weigh yourself again and see an extra pound. That scale had a "lifetime" nonreplaceable battery in it and after 20 years or so, gave up the ghost.

Every scale I've tried since is wildly inaccurate, and they do have brains and they fake it. Step on, get a random weight within a 5lb range of the true weight. Step on repeatedly, even after the scale has timed out and had to be rezeroed, and get that exact weight again. Fake. Every single 4-sensor scale (one in each corner post) that I've tried does this.

I've since found another relatively vintage single strain gauge scale whose battery still works. And I have a mechanical scale in reserve for when it no longer does.

by MarkusWandel

6/29/2026 at 5:36:41 PM

> Fake. Every single 4-sensor scale (one in each corner post) that I've tried does this.

Huh. I have never experienced this and didn't even know this was a thing. My cheapo Chinesium scale that I bought from Amazon years ago occasionally jumps by a pound or so. I measure myself a couple of times to be sure. But it definitely doesn't "freeze" measurements, as I see a different measurements shoes on in back-to-back measurements.

by DarmokJalad1701

6/29/2026 at 8:49:51 AM

Higher resolution would let the user see that your scale is zeroed badly, that repeatability sucks and that the measured weight is not even constant under a constant load.

Decreasing resolution hides all of those.

by myrmidon

6/29/2026 at 9:07:27 AM

Digital scales generally work by warping metal pieces and forcing a flex film resistor glued on the piece to be stretched along, causing its resistance to change, thereby breaking the balance of a Wheatstone bridge, creating force-proportional current to occur, which is finally read out with an ADC.

I guess the overall finickiness of that can't be instantly improved by a better microcontroller alone? They drift and have linearlity issues and show temperature dependancy and all that.

Precise body weight measurement at bathrooms is also probably not that important, 500 grams is one full bottle of soda/water; body weights can easily change that much within a single day.

I would suspect that the "real" reason is combination of both. 100-500g can be a "good" compromise for cheap bathroom scales.

by numpad0

6/29/2026 at 3:18:05 PM

You've described a load cell, which is commonly used in laboratory and industrial environments to resolutions exceeding 0.05% of full scale. I've used these in the past with great success:

https://www.interfaceforce.com/products/load-cells/low-profi...

Click the "Specifications" tab to see the various error sources. Interface's technical library (linked at the top right of their shop) is a great training tool too, if you want to learn more. To keep your NIST certification - and to maintain accuracy after a high-stress...incident... you need to do occasional recalibration. That would be a problem for a consumer product, but with good mounting and overload protection they really don't change that much over time.

Then you've got the electronics, and the amplifier required to get the rated precision out of that load cell costs more than the load cell itself.

Achieving those performance targets costs money, and people buy the cheapest scale that says "Accurate High Precision Digital Bathroom Scale Glass" on the Amazon listing.

by LeifCarrotson

6/29/2026 at 3:00:37 PM

I've spent the last several years of building a very, very fancy scale (well, more of an industrial and R&D lab tool that can be used as a scale).

The reason is that most people use a dirt cheap HX711 or cheaper. A fancier microcontroller doesn't help all that much.

I got to 100dB of dynamic range at 1ksps (1 gram of noise at 100kg max load), so it's very much doable.

by Scene_Cast2

6/29/2026 at 9:28:02 AM

As others have said, the crap resolution is to mask the crap repeatability. Better processing can help, but good enough processing fits in the cheapest of microcontrollers. ADC quality is more important, signal conditioning and sensor quality more important still. The biggest factor for accuracy is likely calibration though. A sensor that's 2% accurate with a 2 point calibration can easily become a 0.25% sensor with a 5 point, 3 temperature calibration. But that all takes time, and unless you're running huge batches it adds too much to the bottom line of a low cost product. Source: Designed strain gauge sensors and manufacturing processes for a living

by Skwid

6/29/2026 at 9:16:56 AM

I remember that a friend told that the Nintendo Wii Balance board gave her the weight on gram resolution. Which is 10-100x better than most commercial bathroom scales. But keep in mind that precision is not the same as accuracy.

by arnejenssen

6/29/2026 at 9:22:15 AM

Mostly quality of the sensor, processing power is not a constraint. Also bear in mind that high range and high accuracy generally aren't very compatible, so to measure 100kg at a 1% accuracy is accuracy to the kg. to get +/-100g accuracy you need a +/-0.1% accuracy.

This is why highly accurate scales usually have very low max weights.

by zipy124

6/29/2026 at 8:45:09 AM

Not an expert here, but I doubt it is related to processing power, but quality of the sensor.

by lukan

6/29/2026 at 8:48:09 AM

It's down to the quality of the sensor, the quality of the ADC translating the signals from the sensor, and the implementation of the software that deals with the ADC translation.

by yoggodoggo

6/29/2026 at 8:48:04 AM

> this TI micro controller is overkill for a bathroom scale

For majority of use cases nowadays it's much easier to use a programmable chip than invent a complex device using discrete analog electronic parts.

by HackerThemAll

6/29/2026 at 8:51:06 AM

Does anyone know what would the price of this be, roughly of course, given that a customer ordered some thousands or tens of thousands?

I have no grasp of even the magnitude of the price for something like this.

by 7734128

6/29/2026 at 8:56:51 AM

The prices are right there if you click "ordering & quality". $0.19-0.23 depending on exact variant at quantities of 1000 and up. $0.6 for 1-99 although that will likely vary a lot if you are buying through a distributor instead of directly.

by Karliss

6/29/2026 at 9:19:35 AM

Price is listed on the site, the most expensive version is:

1-99 $0.720

100-249 $0.48925

0-999 $0.378

1,000+ $0.251

by zipy124

6/29/2026 at 1:10:00 PM

Oh, I'm an idiot who didn't see that at all. Thanks.

by 7734128

6/29/2026 at 8:56:24 AM

No more than 50 cents per CPU for this one.

Can get under 10 cents each for cheap minimalistic CPUs in high numbers.

by myrmidon

6/29/2026 at 8:03:17 AM

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?

by self_awareness

6/29/2026 at 8:36:53 AM

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.

by wongarsu

6/29/2026 at 8:14:09 AM

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.

by adrian_b

6/29/2026 at 5:37:05 PM

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.

by 15155

6/29/2026 at 2:56:10 PM

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.

by analog31

6/29/2026 at 8:29:07 AM

I'd buy it and put it in the Drawer of Dreams aka unfinished projects.

by emil-lp

6/29/2026 at 8:34:37 AM

What a nice name for that particular box that keeps on growing and growing. Mine is called Why did I buy this, again?

by alex_suzuki

6/29/2026 at 4:56:55 PM

What even are these things?

by wang_li

6/29/2026 at 9:17:52 AM

Ha! I'm going to rename my home office "The Room of Dreams"

by nickcw

6/29/2026 at 9:14:09 AM

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.

by richardw

6/29/2026 at 8:47:53 AM

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.

by dvh

6/29/2026 at 8:06:44 AM

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

by amelius

6/29/2026 at 8:52:50 AM

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

by benj111

6/29/2026 at 8:09:36 AM

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.

by ErroneousBosh

6/29/2026 at 8:37:28 AM

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

by aa-jv

6/29/2026 at 9:00:35 AM

I don't know anything about synths, but the M0 architecture is designed to run the program out of flash, I think? So 16KB is quite a bit.

1KB is surely enough to store synthesizer patches. Several, probably.

by dofm

6/29/2026 at 8:40:23 AM

Can it run Prince of Persia?

by nopurpose

6/29/2026 at 8:48:51 AM

With a lot of code-golf, I would guess the answer is yes.

by londons_explore

6/29/2026 at 8:26:19 AM

It's a bit low on RAM, otherwise it's similar to a game boy advance. Maybe after the GBA, GBA SP, and GBA micro, it's time for a GBA.. nano?

by ant6n

6/29/2026 at 8:49:30 AM

Nintendo releasing a new GB would be wild and awesome. Unfortunately it'd likely be overpowered and emulate games they downloaded off ROM sites themselves.

They'd be done already if they bought up or licensed Analogue though.

by Cthulhu_

6/29/2026 at 8:14:37 AM

Could you put a few thousand of these on a PCB and have a super duper tiny compute cluster?

by LoganDark

6/29/2026 at 8:32:41 AM

Yes, if you want all the drawbacks of distributed computing with none of the advantages: You'd probably be stuck with something UART based as interconnect, Every core is gonna have way too little RAM to do anything useful, you are missing like half the instruction set (floating point operations in software), and power draw at 4mW minimum per core adds up quickly to something that an efficient laptop-CPU would use.

On top of all this, latency for anything is gonna be abysmal because the cores are so slow...

I honestly don't see an application where this is even close to desirable.

Would be fun, tough, to have a 10-stack of PCBs with 10 by 10 CPUs each for a thousand cores (=> ~4W power @1.8V).

by myrmidon

6/29/2026 at 8:54:45 AM

Using it as a cluster is probably a bad idea, but you could probably build a 2d sensor grid using these. The 8 pin restriction is extremely limiting though. If you have an FSR matrix, you could connect a 2x2 grid to each MCU and then connect each row in a daisy chain configuration.

by imtringued

6/29/2026 at 8:36:32 AM

Maybe not practical as a cluster configuration, but it could certainly be used as a voice-generating device for a synthesizer, or as a controlling device for MIDI I/O, or .. both even of course, configurable according to the users needs/patch idea.

by aa-jv

6/29/2026 at 8:46:58 AM

Yeah, but even for those applications you suffer from limited RAM a lot; with 16bit samples at 48kHz the thing has 10ms of audio buffer (stereo: 5ms) if you don't need RAM for anything else :S

The ADC is really nice though, 1.5 MSPS is really good for such a small/low powered thing (fills the whole RAM in under half a millisecond).

by myrmidon

6/29/2026 at 9:03:55 AM

10ms of buffer is almost 512 samples @ 48kHz, it's quite a lot of buffer in audio terms!

by piva00

6/29/2026 at 9:16:16 AM

I have a fourier transform loop running on this micro which takes 64 samples and outputs 32 frequency bins. It works perfectly for generating inputs to algorithmically driven animations including a visual audio spectrum frequency analyser.

by emctech

6/29/2026 at 8:48:10 AM

True, you will have to write some tight code, but .. at that form factor and price, challenge accepted! Besides, 10ms is a LOT in that world ..

by aa-jv

6/29/2026 at 9:24:44 AM

Yes, but also why would you? at 24MHz, you would be better off paying 100x the price ($25) for a 2.4GHz chip (easily doable). Something like a Raspbery Pi Zero 2 W already comes pretty close to that and without the penalty of memory communication/bandwidth.

by zipy124

6/29/2026 at 8:47:27 AM

I'm reminded of TIS-100, a game where you program a cluster of tiny, parallel CPUs using a custom assembly language. It's painful to get basic stuff done, but you can do some amazing things with some effort.

by nneonneo

6/29/2026 at 9:27:13 AM

I love TIS-100! I actually have a couple printed copies of the reference manual somewhere.

by LoganDark

6/29/2026 at 8:28:02 AM

You mean ... Like a Beowulf cluster of those?

by emil-lp

6/29/2026 at 8:30:16 AM

Yeah, exactly!

by LoganDark

6/29/2026 at 8:54:23 AM

No.

by goodpoint