<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><description>Table of Contents

 
 Introduction 
 Circuit Description 

 1. Microcontroller Core 
 2. USB UART 
 3. Voltage Regulator 


 Circuit Board 
 Building and Running an Example Project 
 Summary 


 
TLDR Section
The easyL1105 is a TI MSPM0L1105 Development</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Wed, 15 Oct 2025 19:29:04 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I&amp;#39;m porting and investigating TI&amp;#39;s GUI example&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="168" src="/resized-image/__size/996x336/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/pastedimage1760556110323v1.png" width="498" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This example uses TI&amp;#39;s &amp;quot;JSON GUI&amp;quot; on the EasyL1105, and their standard &lt;a href="https://dev.ti.com/tirex/explore/node?node=A__AGlCKgs4WMtuyImuj43HhQ__com.ti.SIMPLELINK_ACADEMY_CC2640R2SDK__7unKOT8__LATEST" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;GUI Demo&lt;/a&gt; running in&amp;nbsp;my laptop&amp;nbsp;browser. Comms is over UART.&lt;/p&gt;
&lt;p&gt;Everything is interrupt driven on the MSPM0. When you change the controls on the right,&amp;nbsp;the GUI sends a JSON payload. &lt;br /&gt;On the MSPM0, a UART RX interrupt fires. The JSON GUI functions then investigate the payload, and call&amp;nbsp;your matching callback.&lt;br /&gt;If you slide the boolean to enable, the gauge gets updated by the amount set in the slider., every timer tick (also an interrupt)&lt;/p&gt;
&lt;p&gt;When you press a button on the EasyL1105, a GUI interrupt fires, and increments one of the counters. That data is sent over UART. The graph values are updates (orange / red lines)&lt;/p&gt;
&lt;p&gt;Each timer interrupt, 2 things happen:&lt;/p&gt;
&lt;p&gt;- a counter gets updated (the blue line in the graph)&lt;/p&gt;
&lt;p&gt;- the current data set is sent over UART (and the browser GUI updates itself when it receives that data)&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Sun, 12 Oct 2025 10:45:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>jc2048</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span&gt;&amp;quot;In terms of major downsides, there&amp;rsquo;s no ability to add a crystal oscillator if you need such precision. Interestingly, as a compromise, the chip can use an external 0.1% tolerance 100k resistor in order to create a reasonably precise internal oscillator, but it won&amp;rsquo;t compare with a crystal, of course. I would have liked an accurate RTC, but I suppose that could always be an external I2C peripheral chip, perhaps with a separate backup battery.&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;It might not take much to get the 28-pin VSSOP G1107 on to your board placement - I&amp;#39;m sure you could hack one onto the existing layout.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.ti.com/product/MSPM0G1107/part-details/MSPM0G1107TDGS28R" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://www.ti.com/product/MSPM0G1107/part-details/MSPM0G1107TDGS28R&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The obvious differences are needing a cap on the VCORE output, and placements for whichever of the xtals (+ caps) you wanted to use (presumably the LF one, if you want it running on a battery and keeping the RTC going). I haven&amp;#39;t checked anything else, like the peripheral routing to pins, though it would be odd if it didn&amp;#39;t work given that they seem to be going for as much compatibility between the series as they can.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Sat, 11 Oct 2025 17:59:40 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>2</slash:comments><description>&lt;blockquote&gt;
&lt;p&gt;&amp;gt;&amp;nbsp;&lt;span&gt;In shutdown (with GPIO wakeup capability), current consumption is apparently 61 nA&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At VCC 1.8V, I got it down to 68 nA&amp;nbsp;on the EasyL1105 in that mode. That is with pullups/-downs in place, but the USB jumpers all removed.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="781" src="/resized-image/__size/998x1562/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/2025_5F00_10_5F00_11-19_5F00_58-Office-Lens.jpg" width="499" /&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Thu, 11 Sep 2025 17:27:13 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The circuit snippet below shows the proposed modifications for a possible rev 2 board.&lt;/p&gt;
&lt;p&gt;The changes from Rev 1 are:&lt;/p&gt;
&lt;p&gt;(1) Reset fix: Added R24, which is the 47k pullup resistor that was needed on the *RST line&lt;/p&gt;
&lt;p&gt;(2) Garbage UART data during powerup: Changed&amp;nbsp;R18 from DNF to a 10k pullup, to prevent garbage sent to the PC host during power-up (this was identified by [mention:acaf6a9338de4eef8f6717d5561ed01d:e9ed411860ed4f2ba0265705b8793d05]&amp;nbsp;)&lt;/p&gt;
&lt;p&gt;(3) RXD PA9/PA18 Selector: The pin PA18 has the ugly problem that it&amp;#39;s currently used for both UART0 RXD and for boot mode.&amp;nbsp;The proposed circuit modification&amp;nbsp;will make the&amp;nbsp;UART0 RXD pin configurable between the old PA18 pin and the PA9 pin, which Jan has tested and works. This is implemented with resistor R6, which is zero ohms, and can be bridged across pads to select between the two pins.&lt;/p&gt;
&lt;p&gt;(4) Auto-Bootloader: Added Q3 and associated parts, so that the connected PC host can remotely make the board go into bootloader mode, eliminating the need for the user to&amp;nbsp;operate the BOOT button when reprogramming the board.&lt;/p&gt;
&lt;p&gt;(5) Boot Suppress: This hopefully fixes the problem that if PA18 is used as a UART0 RXD pin, then it clashes with its bootloader select function. In normal operation, Q1 and Q2 are both off, and PA18 is not controlled by the transistors. During reset or power-up, both Q1 and Q2 will turn on, and the junction of C10 and R21 will be high, and the capacitor discharged. After the reset pin goes high, Q2 will turn off, and the junction will slowly drop to 0V, which means that Q1 will turn off after a delay, eventually releasing PA18.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know if (5) is really necessary, since (3) solves&amp;nbsp;the problem too. However if pin count is tight, then it might help to use PA18 for both boot and RXD purposes.&lt;/p&gt;
&lt;p&gt;Any errors anyone can spot, or any other proposed changes, please let me know (I&amp;#39;ve not started on the PCB mods, I&amp;#39;ll start that at the weekend or early next week).&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="812" src="/resized-image/__size/1798x1624/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/easyl1105_2D00_rev2_2D00_proposed_2D00_mods.jpg" width="898" /&gt;&lt;/p&gt;
&lt;p&gt;PDF of the proposed circuit:&lt;/p&gt;
&lt;p&gt;[View:/cfs-file/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/proposed_2D00_rev2_2D00_schematic.pdf:320:180]&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Wed, 10 Sep 2025 09:02:52 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I think I&amp;nbsp;found a board issue:&lt;/p&gt;
&lt;p&gt;When the UART jumpers are placed, the board doesn&amp;#39;t&amp;nbsp;start. Even after pressing reset&lt;/p&gt;
&lt;p&gt;If you place the UART jumpers after the board is running, it keeps running.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Both after power up, or when pushing reset while powered .&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Same behaviour when RST jumper is mounted or not.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Easiest way to replicate: use the demo program, and plug the USB in a PC with or without the UART jumpers. See LED flash behaviour.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Wed, 10 Sep 2025 02:23:35 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Project Ideas!&lt;/p&gt;
&lt;p&gt;Now that the microcontroller minimal boot hardware, bootloader methods, build methods and peripheral usage are all known or coming along well, it&amp;#39;s becoming easy to see what sort of applications might be possible with it.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s some that come to mind, although not initially the reason I wished to use the microcontroller for:&lt;/p&gt;
&lt;p&gt;1. A power management device&lt;/p&gt;
&lt;p&gt;The idea is that it could wake or sleep hardware based on a push-button, and maybe configurable via I2C for periodic wakeup. An emulated EEPROM (as used with the PocketBeagle2) could be extremely useful as part of it, I&amp;#39;m frequently missing EEPROM in microcontroller circuits!&lt;/p&gt;
&lt;p&gt;1.5 (phase 2 of idea 1)&lt;/p&gt;
&lt;p&gt;Ability to control a micro-sized OLED, that could display status over I2C, for instance, an IP address or startup/shutdown status.&lt;/p&gt;
&lt;p&gt;2. A UART pass-through, with ability to detect special sequences or keywords, for (say) starting up or shutting down hardware.&lt;/p&gt;
&lt;p&gt;3. A chime generator, ideally with say FM synthesis, using PWM, for decent alert or warning sounds.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Any other ideas?&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Sat, 06 Sep 2025 11:59:57 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Windows PowerShell Experience&lt;/p&gt;
&lt;p&gt;locations:&lt;/p&gt;
&lt;p&gt;GCC_ARMCOMPILER_MSP: &amp;quot;C:/Users/jancu/Documents/toolchains/arm-gnu-toolchain-14.3.rel1-mingw-w64-i686-arm-none-eabi&amp;quot;&lt;/p&gt;
&lt;p&gt;MSPM0_SDK_INSTALL_DIR: &amp;quot;C:/ti/mspm0_sdk_2_05_01_00&amp;quot;&lt;/p&gt;
&lt;p&gt;make:&amp;nbsp;C:/ti/ccs2030/ccs/utils/bin/gmake.exe&lt;/p&gt;
&lt;p&gt;Looks like an SDK difference, although the version and location seem to be identical to the one you refer to in the &lt;a href="https://github.com/shabaz123/easyL1105/blob/main/MyStarterProject/app_L1105/README.md" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;github README&lt;/a&gt;: &lt;span&gt;C:\ti\mspm0_sdk_2_05_01_00&lt;/span&gt;&amp;nbsp;.&lt;br /&gt;The SDK root I have doesn&amp;#39;t contain imports.mak.windows, or any another imports.mak* file...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I added some log messages to the makefile. It gets the correct OS,&amp;nbsp;knows the SDK root, but fails because the .mak.windows file or .mak file isn&amp;#39;t there&lt;/p&gt;
&lt;p&gt;&lt;img height="78" src="/resized-image/__size/1478x156/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/pastedimage1757159727908v1.png" width="739" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Fri, 05 Sep 2025 11:28:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;These are now out in the wild [emoticon:c4563cd7d5574777a71c318021cbbcc8]. It&amp;#39;s a beautiful little kit.&lt;/p&gt;
&lt;p&gt;&lt;img height="225" src="/resized-image/__size/1000x450/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/2025_5F00_09_5F00_05-13_5F00_24-Office-Lens.jpg" width="500" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;For the first baby steps, I&amp;#39;m going to use TI&amp;#39;s&amp;nbsp;IDE. Hopefully I can get it working with the XDS110 debug probe too ...&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Sun, 31 Aug 2025 15:35:16 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Here&amp;#39;s the circuit I used for the 16-pin variant (the R&amp;#39;s and C&amp;#39;s are not visible in the photo above, but they are on the underside of that breakout board):&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/mspm0l1105_2D00_16_2D00_pin_2D00_schematic_2D00_rev1.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Not a lot of fully spare pins on that part (about 6?), but the SWD pins could become GPIO (by inserting a small delay in the code before configuring those pins as GPIO, so that it&amp;#39;s always possible to reprogram via them, although there&amp;#39;s always the bootloader option anyway). Plus, the ROSC pin could be a GPIO instead of using it for the oscillator timing improvement. So, overall about 8-9 pins as GPIO are fairly comfortable to use, before more messing about is needed to reuse one or two more pins. Otherwise, better to skip this part and&amp;nbsp;just go to the 28-pin option.&lt;/p&gt;
&lt;p&gt;The neat thing is that all GPIO pins can be used to generate interrupts; there&amp;#39;s an Events&amp;nbsp;Manager that allows the different integrated peripherals (like GPIO) to generate interrupts to the CPU, or to become triggers for DMA actions, or even for triggering back into an integrated peripheral (for instance, to start an ADC conversion).&lt;/p&gt;
&lt;p&gt;The diagram below explains what&amp;#39;s possible, this is from the &lt;a href="https://www.ti.com/lit/ug/slau847d/slau847d.pdf" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;MSPM0 L-Series Reference Manual PDF&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/event_2D00_map.jpg" /&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Wed, 27 Aug 2025 20:05:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Since I had some 16-pin MSPM0L1105 parts too, I decided to confirm that they worked the same way.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t have a PCB for them, but using &lt;a href="https://github.com/shabaz123/smd-proto-board/raw/refs/heads/main/export-vssop-0-5-breakout-gerbers-rev1.zip" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;0.5mm pitch generic breakout board Gerber files&lt;/a&gt;,&amp;nbsp; I soldered it up.&lt;/p&gt;
&lt;p&gt;Works fine! (I tested using the same app_L1105.hex file, and the same Python code programmer as used with the larger 28-pin part.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/mspmo_2D00_16_2D00_breadboard.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Tue, 26 Aug 2025 17:47:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Auto-boot works with Python : )&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now it&amp;#39;s possible to program the chip and see the result, without needing to press any buttons. Just plug in the USB cable and run the Python program.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s possible to build the code, and see it running, all within two seconds (at least if just one file was modified, and if the code isn&amp;#39;t too large; not tried it for anything more significant than a blinky app!).&lt;/p&gt;
&lt;p&gt;The programming with Python took 0.9 seconds:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/auto_2D00_boot_2D00_result_2D00_win.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;To do this, an addition needs to be made to the board, because I didn&amp;#39;t anticipate this auto-boot feature originally.&lt;/p&gt;
&lt;p&gt;It basically just inverts the unused *DTR output (which is 5V logic) from the CH340K chip. Diode D1 eliminates current in the backward direction, otherwise it would mess up with any current measurement.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="381" src="/resized-image/__size/1046x762/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/auto_2D00_boot_2D00_sch_2D00_mod.jpg" width="522" /&gt;&lt;/p&gt;
&lt;p&gt;This is the board with the addition:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="516" src="/resized-image/__size/1538x1032/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/auto_2D00_boot_2D00_mod_2D00_photo.jpg" width="768" /&gt;&lt;/p&gt;
&lt;p&gt;Maybe it&amp;#39;s not worth manually soldering as I did, as it merely saves a few seconds of button-pressing effort, but it would be worth adding to a future revision of the board.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Mon, 25 Aug 2025 19:38:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;After seeing some weirdness with voltage levels, and discussing with Jan, we&amp;#39;ve learned a bit more about the CH340K.&lt;/p&gt;
&lt;p&gt;If the CH340K is powered from 5V (USB) but the microcontroller is running at 3.3V, the CH340K TXD and RTS pins will actually exhibit a higher voltage than 3.3V, more like 4.7V!&lt;/p&gt;
&lt;p&gt;The circuit is that in figure 7.8 in the &lt;a href="https://docs.sparkfun.com/SparkFun_RTK_Facet_mosaic/assets/component_documentation/CH340DS1.PDF" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;CH340K datasheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The datasheet wasn&amp;#39;t too clear, but it seems there are pullups (probably MOSFET based) of about 75k resistance (but more like 45k for the board I&amp;#39;m using) to the CH340K supply voltage, i.e. approx 5V. Hopefully this shouldn&amp;#39;t cause an issue because the current would be so low.&amp;nbsp;Although I didn&amp;#39;t try it, it&amp;#39;s possible to add external diodes (see figure 7.7 in the datasheet). Another simpler solution is simply to run the CH340K from the same voltage as the microcontroller, but there were reasons just related to wanting to not power anything else from 3.3V other than the microcontroller for this dev board. Worst case, it&amp;#39;s not difficult to disconnect the 5V to the CH340K by cutting one track, and then making a couple of connections (CH340K pins 7 and 10) to 3.3V instead.&lt;/p&gt;
&lt;p&gt;Anyway, now the plan is to automate the reset and boot pins, so that the PC can entirely control the firmware upload process, with no buttons needing to be pressed. Python allows the RTS and DTR lines to be controlled independently, using commands like&amp;nbsp;&lt;strong&gt;ser.setRTS(False)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Unfortunately, I don&amp;#39;t know if such control of RTS and DTR will be possible from JavaScript,&amp;nbsp;that&amp;#39;s for further investigation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Sat, 23 Aug 2025 13:59:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>ggabe</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Nice! Interesting to see your MCU choice. I was in the same boat recently, and ended up choosing the AVR32DU family, same price level but with USB. No USB would haven a showstopper for me.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Sat, 23 Aug 2025 00:18:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;The larger easyL1105 board is assembled, and lives:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/20250823_5F00_011204.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;The COM port was recognised successfully, which was a relief because I&amp;#39;d not used that particular USB-to-UART chip before.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: EasyL1105: A Dev Board for the TI ARM Cortex-M0+ L-Series</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/easyl1105-a-dev-board-for-the-ti-arm-cortex-m0-l-series</link><pubDate>Fri, 22 Aug 2025 16:32:52 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dec648ef-6cbd-43fa-bf8c-3582c0a782f4</guid><dc:creator>shabaz</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Maybe worth mentioning how I&amp;#39;m soldering this. Apologies for the low-quality photos, they were taken with mobile phone.&lt;/p&gt;
&lt;p&gt;I used a small bent-conical tip, but it&amp;#39;s not that critical.&lt;/p&gt;
&lt;p&gt;First step, apply some flux (MG Chemicals&amp;nbsp;&lt;span&gt;8341-10ML syringe, but anything else should do fine).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/add_2D00_flux.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Next, I placed the component on top, held it in place with tweezers, and got a soldering iron with a tiny amount of solder on the end, and touched it on the end, to tack down one or two pins (see the yellow arrow).&lt;/p&gt;
&lt;p&gt;Then, I visually&amp;nbsp;inspected that the part is still aligned on the pads and not shifted.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/tack_2D00_one_2D00_pin.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Next, I sondered one side with a soldering iron and thin solder. It is a mess, but it&amp;#39;s so tiny (about 7 mm along one end, and each pin spaced 0.5mm) it is easy to occur.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/solder_2D00_one_2D00_side.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Then, I used a decent brand desoldering braid (Chemtronics I think) and it easily lifted off all the excess.&lt;/p&gt;
&lt;p&gt;The key thing was to see that there was still some solder fillet between the pad and the pin (see the green arrow).&lt;/p&gt;
&lt;p&gt;You can see there is still a solder bridge at the yellow arrow location. That&amp;#39;s easy to lift by cleaning the soldering tip, tinning the tip, and then re-applying the desoldering braid.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/desoldering_2D00_braid.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;After doing the other side, I cleaned up, in my case using a few drops of isopropyl alcohol and a firm brush, followed by a few more drop, and then use a paper wipe.&lt;/p&gt;
&lt;p&gt;I then inspected to see that the fillet of solder was present on every&amp;nbsp;pad:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/cleaned_2D00_up.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;A photo from another angle:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dec648ef-6cbd-43fa-bf8c-3582c0a782f4/cleaned_2D00_up_2D00_2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;All-in-all, it was quite easy to do. I didn&amp;#39;t have a great technique, but it&amp;#39;s hard to be unsuccessful when there&amp;#39;s flux and desoldering braid handy.&lt;/p&gt;
&lt;p&gt;Hot air tool would be a good option, but it&amp;#39;s certainly feasible with a normal soldering iron as shown.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29133&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>