1.38 Millimeter Microcontroller

(ti.com)

56 points | by kristianpaul 3 days ago

8 comments

  • anonli 1 day ago
    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.

    • Karliss 1 day ago
      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.

      • HeyLaughingBoy 16 hours ago
        It's been long enough ago that I don't use it as an interview answer anymore, but one of the most interesting things I built (technique-wise) was a Z-80 based serial multiplexer with no RAM. The only volatile memory it used was the device registers. The fun part was handling subroutine calls without a stack. The Z-80 has an indexed jump mode, so before calling a subroutine, I'd fill the jump register with the statement after the subroutine call, and when the subroutine was done, execute the jump with the (return) address prefilled.

        Anything to save a few bucks on a 6264 SRAM component :-)

      • LeifCarrotson 20 hours ago
        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.

        • kawogi 20 hours ago
          I had no troubles targeting an ATTiny13A with Rust.

          (had to disable debug symbols, though)

          Why should that be any harder than C?

        • daveguy 20 hours ago
          Rust compiles to bare metal (assembly aka machine instruction code), just like C does.
          • supertroop 16 hours ago
            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.
          • chlorion 19 hours ago
            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.

          • mrheosuper 8 hours ago
            In Embedded, it's usually agreed that "Bare Metal" means using no OS, not meaning using low level languages.
          • kridsdale1 18 hours ago
            Check out the video introducing Swift for Embedded. Seems like a really nice devX for this kind of thing.
  • emctech 1 day ago
    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...

    • emctech 1 day ago
      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.
    • ACCount37 14 hours ago
      My sleeper pick for a design like this was JL700N series. Intended for cheap TWS, ultra high integration. 3x3mm QFN20 package, and in it: BLE, USB, can be powered off 5v or 3.3v, built in battery support complete with a charger, almost no passives required. SDK was a bitch though.

      There are more pieces like this in "wearables" market now, things like "SmartBond" series. But for a while, weird off-label pieces like this wore the integration crown.

      • mrheosuper 8 hours ago
        Wearable MCU is sometime stupidly good. Recently i learned that the new Pepple watch use SF32lb55. It has dual mode bluetooth with LE Audio, all the fancy like pmic, battery charger, usb, 2.5D GPU etc, it also has insanely large memory(16MB flash/8MB PSRAM on some packages). The whole MCU costs like $3.

        If you dive into even more niche, NDA-Only MCU, We have BES2700 MCU, which is even better

    • aappleby 18 hours ago
      You might enjoy this dime-sized earring I designed ~13 years ago - https://www.youtube.com/watch?v=XyBhdRp_5rY
    • tauntz 1 day ago
      These earrings look awesome btw!
      • emctech 1 day ago
        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.
        • GordonS 20 hours ago
          Have you blogged about the earrings perchance? They really do look great, and I'd love to see some details of your process.
          • kridsdale1 18 hours ago
            Yes, I’d love to see a video of them in action.
  • arnejenssen 1 day ago
    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.
    • jmiskovic 1 day ago
      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.

      • namibj 3 hours ago
        My fine spice recipe writing scale (20g max, 20k count) consistently over years of me having it keeps it's magnitude calibration of the 10g reference to a single digit count, i.e., comfortably within +-0.1%.

        Ofc there's auto-zero on start involved, but translated to a people bathroom scale that'd be "comfortably better than +-100g".

        A precise bathroom scale just would want a bit more effort on drift prevention as a sample mass at this scale is rather unwieldy, and critically it'd need a toe-operated button to select that you've finished climbing onto the scale, upon which it starts averaging the load to progressively improve the weight measurement accuracy. I'd expect using a bounce-height-freefall-duration based length of timing uncertainty at the start and end of the averaging period to allow proper Bayesian uncertainty quantification of the shown result, say by displaying both the 10th and the 90th percentile on the display which grow closer as you wait while standing on it.

        With some cleverness a compact calibration mass might be usable to calibrate absolute scale, transferring up to the "people" range using just a random assortment of stuff that fits on the platform, totalling around 10kg.

        Because building the scale to be linear in response good enough for 20k count of resolution is pretty straight-forward.

    • myrmidon 1 day ago
      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.

    • numpad0 1 day ago
      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.

      • LeifCarrotson 20 hours ago
        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.

    • arnejenssen 1 day ago
      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.
    • Skwid 1 day ago
      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
    • MarkusWandel 18 hours ago
      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.

      • rcxdude 10 hours ago
        > Accurate, as in weigh yourself, pick up a 1lb object, weigh yourself again and see an extra pound.

        That's resolution (or dynamic range), not accuracy. The scales could be 10lbs off of your weight and still do this.

      • DarmokJalad1701 17 hours ago
        > 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.

    • Scene_Cast2 20 hours ago
      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.

    • yoggodoggo 1 day ago
      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.
    • zipy124 1 day ago
      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.

    • lukan 1 day ago
      Not an expert here, but I doubt it is related to processing power, but quality of the sensor.
    • HackerThemAll 1 day ago
      > 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.

  • 7734128 1 day ago
    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.

    • Karliss 1 day ago
      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.
    • zipy124 1 day ago
      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

      • 7734128 22 hours ago
        Oh, I'm an idiot who didn't see that at all. Thanks.
    • myrmidon 1 day ago
      No more than 50 cents per CPU for this one.

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

  • self_awareness 1 day 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?
    • wongarsu 1 day ago
      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.

    • adrian_b 1 day ago
      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.

    • analog31 20 hours ago
      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.
    • emil-lp 1 day ago
      I'd buy it and put it in the Drawer of Dreams aka unfinished projects.
      • alex_suzuki 1 day ago
        What a nice name for that particular box that keeps on growing and growing. Mine is called Why did I buy this, again?
        • wang_li 18 hours ago
          What even are these things?
      • nickcw 1 day ago
        Ha! I'm going to rename my home office "The Room of Dreams"
    • mrheosuper 8 hours ago
      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.
    • 15155 17 hours ago
      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.

    • richardw 1 day ago
      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.

    • amelius 1 day ago
      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

    • dvh 1 day ago
      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.

    • benj111 1 day ago
      Check out projects for the ch32 line of chips. It's basically a risc V equivalent of this, except the size.
    • ErroneousBosh 1 day ago
      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.

      • aa-jv 1 day ago
        "Masses" of memory, it does not have. Sufficient to the task for synthesis? Maybe, if you do a fair bit of assembly ..
        • dofm 1 day ago
          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.

          • ErroneousBosh 15 hours ago
            You need a few dozen bytes of storage per voice, like four bytes for the phase accumulator (uint32_t), another four for the current pitch offset that gets added, and so on.

            It all adds up, especially if you want to implement a ladder filter properly.

        • ErroneousBosh 15 hours ago
          It's got 16kB of flash and 1kB of RAM, that's plenty.
  • nopurpose 1 day ago
    Can it run Prince of Persia?
    • londons_explore 1 day ago
      With a lot of code-golf, I would guess the answer is yes.
  • ant6n 1 day ago
    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?
    • Cthulhu_ 1 day ago
      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.

  • LoganDark 1 day ago
    Could you put a few thousand of these on a PCB and have a super duper tiny compute cluster?
    • myrmidon 1 day ago
      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).

      • imtringued 1 day ago
        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.
      • aa-jv 1 day ago
        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.
        • myrmidon 1 day ago
          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).

          • piva00 1 day ago
            10ms of buffer is almost 512 samples @ 48kHz, it's quite a lot of buffer in audio terms!
          • emctech 1 day ago
            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.
          • aa-jv 1 day ago
            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 ..
    • nneonneo 1 day ago
      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.
      • LoganDark 1 day ago
        I love TIS-100! I actually have a couple printed copies of the reference manual somewhere.
    • zipy124 1 day ago
      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.
    • nullc 1 day ago
      https://hackaday.com/2025/07/07/160-core-risc-v-board-is-the...

      I could only imagine the bringup fun for thousands of them. :P

    • emil-lp 1 day ago
      You mean ... Like a Beowulf cluster of those?
    • goodpoint 1 day ago
      No.