.. index:: mcu-embedded-ideal > :ref:`What's New ?` < .. _mcu-embedded-ideal: .. Created mcu-embedded-ideal.rst: Tue 24 Oct 2023 14:38:41 AEDT .. Full Path: /home/tp/m-s-doc/mcu-embedded-ideal.rst .. Author Copyright 2023 by t.j.porter \ .. Made by /home/tp/projects/scripts/makerst.sh -->/usr/local/bin/makerst .. license: MIT, please see COPYING The Ideal Small Embedded MCU ? ============================== Intro ----- I think the 2020's are the "golden Years" of embedded MCU design, availability and price as I look back to the 1970's. So I've decided to take a closer look, from my electronics technician point of view. I've used a LOT of CPU's and MCU's over that period, starting with the National Semi "PACE" 16 bit cpu in 1976 to various STM32xx and MSP430 models from 2014 to the present time in 2023. And everything in between ... 6502, Z80, MC68xx, Intel 8085, PIC16C84 and many others. The Question ------------ But what make and model is the "Ideal Small Embedded MCU" ? Is it the AVR series used in Arduino, the STM32xxx series which are so feature packed and inexpensive, the Texas Instrument MSP430 or one of the thousands of other devices ? MSP430 Project Connected to a STM32F407 Discovery Board ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: pics/f4disco-roundpcb-2.jpg Obviously the application determines the ideal choice of device, along with the expertise of the engineer, technician or hobbyist doing the design and their programming language of choice. The Answer ---------- In my case, I use the :ref:`Mecrisp-Stellaris Forth programming Language`, and you probably are also, otherwise why would you be reading this blog "The Unofficial Mecrisp-Stellaris Documentation" ? ... unless you use C, Micropython, Arduino or one or the many other choices and are here out of curiosity, in which case, welcome ! The answer is as always, contained in the right question and my question is : What make and model is the "Ideal Small Embedded MCU" ? Medium Embedded ^^^^^^^^^^^^^^^ The word "small" excludes MCU's like the STM32H7xx (see below), I mean just look at it ! This is a 480MHz juggernaut and will take years to master. To me, this is a "Medium Embedded MCU" I have some coming, so expect some articles on it in future. .. image:: pics/STM32H743I.jpg Small Embedded ^^^^^^^^^^^^^^ To further refine the "Small Embedded" area question, I believe that this segment caters mainly for *SENSORS*, i.e. applications that involve sensor systems. These systems capture analog signals, convert them to digital values, and then process the data for display or for transmission to a host system. One such MCU is the MSP430F2101 which comes with the following 13 essential features: .. image:: pics/MSP430F2101.png Features ~~~~~~~~ 1. Analog Comparator 2. Timer Counter 3. Brown out Detector 4. Watchdog 5. At least 1KB flash 6. Interrupts 7. Jtag 8. Emulation (debug) 9. Gpio's 10. 16 Bit mcu, which is fine for embedded work. 11. Internal and external clock with wide range of frequencies 12. Very low power capability 13. High level of integration between the CPU and the peripherals, especially regarding low power use I believe this is a ideal "Small Embedded MCU" as it has the minimum essential features needed for most *Small Embedded Projects* such as : Uses ~~~~ * Thermometer using the LMT01 2 wire temperature sensor * 16 bit ADC * Stepper motor controller * Nightlight * Data Logger using external SPI flash * Hand held test equipment, such as a battery powered automotive voltmeter and signal tester * RF signal detector Forth programming Language -------------------------- Wait ! I hear you cry, this tiny mcu only has 1KB of flash and *NO* forth is that small, and even if it was, there is no room left for the application ! I'm happy to say that this is not the case because there is a interactive *TETHERED* forth that's *perfect* for this chip: see `Mecrisp_across `_ for details. Mecrisp-Across is a interactive Forth that is NOT hosted on the target MCU, but rather is emulated on the Host, a STM32F407 Discovery board which runs Mecrisp-Stellaris. Mecrisp-Across is in fact a Mecrisp-Stellaris *APPLICATION* that controls the Target MSP430 chip via JTAG alone. The Target MCU is blank during this phase, not that you'd believe it as the Forth User terminal is fast and responsive, in fact it's faster than 'Mecrisp' running natively on a 16kb flash MSP430 ! When your interactive Forth development is tested and complete, Mecrisp-Across compiles a *BINARY* and flashes it to the Target, (just like GCC). There is no Forth on the target now, just a highly optimized application image. Are There Any Published Mecrisp-Across projects ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sure: Blinky ~~~~~~ See my blinky article here: https://mecrisp-across-folkdoc.sourceforge.io/blinky-demo.html .. image:: pics/roundpcb-msp430-blinky-top-480.jpg Greenhouse Blinky ~~~~~~~~~~~~~~~~~ Also, see the `Greenhouse Blinky `_ project over at Hackaday. .. image:: pics/greenhouse-msp430-blinky.png GPL Unencumbered and Cheap ! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Mecrisp-Across is GPL unencumbered, use whatever license you prefer. * The `MSP430G2131IRSA16R `_ was selling for A$0.1107 (Qty = 1000) each in Oct 2023. .. image:: pics/MSP430G2131IRSA16R.Arrow.com.png