<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Marlin 2.0 and STM32F103C8</title>
        <description> Was it ever possible to build Marlin 2.0 for this MCU? There are at least two boards designed for it (Morpheus and RABPS), plus the Mono Price Mini I3 controller, but I either get a &quot;can&#039;t find included file atomic.h&quot; or a &quot;NameError: name &#039;variant&#039; is not defined:&quot; when trying to build it in Platformio. This happens even on a fresh install of Platformio, which makes me wonder if it was ever possible to build it for this specific MCU. I can build it for other mcu&#039;s in the same like like the one in MKS Robin, and a guy in this forum designed a whole 3d printer board around what seems to be an inexpensive stm32f407 module.

I made a board for a stm32f103 port of GRBL and it functions perfectly, if Marlin 2.0 could run on it it then a single board would be able to run both firmwares.</description>
        <link>https://reprap.org/forum/read.php?415,846858,846858#msg-846858</link>
        <lastBuildDate>Tue, 21 Jul 2026 10:15:34 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896101#msg-896101</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896101#msg-896101</link>
            <description><![CDATA[ no real idea on that, my guess your programmer isnt connected to reset so running code is blocking the connection.]]></description>
            <dc:creator>Dust</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Sat, 16 Nov 2024 00:48:50 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896100#msg-896100</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896100#msg-896100</link>
            <description><![CDATA[ Hi, I have successfully uploaded Marlin firmware to my STM32, but when I configure some functions and try to upload again, I encounter some errors:<br />
<pre class="bbcode">
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df (2020-06-26-09:29)
Licensed under GNU GPL v2
For bug reports, read
[<a href="http://openocd.org/doc/doxygen/bugs.html" target="_blank"  rel="nofollow">openocd.org</a>]
debug_level: 1


hla_swd
Error: init mode failed (unable to connect to the target)
in procedure 'program'
OpenOCD init failed
shutdown command invoked</pre>
<br />
Do you know how to fix it? Please help me. Thank you very much.]]></description>
            <dc:creator>trieudung</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Fri, 15 Nov 2024 10:58:59 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896095#msg-896095</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896095#msg-896095</link>
            <description><![CDATA[ Thank you for your enthusiastic support. I will try a board with 128k flash memory]]></description>
            <dc:creator>trieudung</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Thu, 14 Nov 2024 09:42:48 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896094#msg-896094</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896094#msg-896094</link>
            <description><![CDATA[ STM32F103C8 officially only has 64K of flash and 20K of ram, this is insufficient for Marlin 2.1.x  (I suspect Marlin 2.0 will be the same) <br />
<br />
A minimal build with the added STM32F103C8 build environment errors with  `FLASH' overflowed by 22472 bytes<br />
<br />
If you force it to use 128k (ie make it think its a STM32F103CB, as some actually do have the extra flash ) it will build<br />
<br />
RAM:   [====      ]  36.6% (used 7496 bytes from 20480 bytes)<br />
Flash: [=======   ]  66.9% (used 87684 bytes from 131072 bytes)<br />
Building .pio/build/STM32F103CB/firmware.bin<br />
<br />
changes I made to build this example  in diff format.<br />
<br />
<pre class="bbcode">
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index c45c75a39d..43bcf3d846 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -68,7 +68,7 @@
 
 // Choose the name from boards.h that matches your setup
 #ifndef MOTHERBOARD
-  #define MOTHERBOARD BOARD_RAMPS_14_EFB
+  #define MOTHERBOARD BOARD_MORPHEUS
 #endif
 
 // @section serial
@@ -81,7 +81,7 @@
  *
  * :[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  */
-#define SERIAL_PORT 0
+#define SERIAL_PORT 1
 
 /**
  * Serial Port Baud Rate
diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index e70a70b518..123321dac3 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -608,7 +608,7 @@
 #elif MB(GTM32_REV_B)
   #include "stm32f1/pins_GTM32_REV_B.h"             // STM32F1                              env:STM32F103VE env:STM32F103VE_GTM32_maple
 #elif MB(MORPHEUS)
-  #include "stm32f1/pins_MORPHEUS.h"                // STM32F1                              env:STM32F103RE env:STM32F103RE_maple
+  #include "stm32f1/pins_MORPHEUS.h"                // STM32F1                              env:STM32F103C8 env:STM32F103CB env:STM32F103RE env:STM32F103RE_maple
 #elif MB(CHITU3D)
   #include "stm32f1/pins_CHITU3D.h"                 // STM32F1                              env:STM32F103ZE env:STM32F103RE_maple
 #elif MB(MKS_ROBIN)
diff --git a/ini/stm32f1.ini b/ini/stm32f1.ini
index 0978b19476..6f375f7237 100644
--- a/ini/stm32f1.ini
+++ b/ini/stm32f1.ini
@@ -26,6 +26,24 @@ board_build.variant  = MARLIN_F103Rx
 build_flags          = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
 monitor_speed        = 115200
 
+
+#
+# STM32F103C8
+#
+[env:STM32F103C8]
+extends       = common_stm32
+board         = genericSTM32F103C8
+monitor_speed = 115200
+
+#
+# STM32F103CB
+#
+[env:STM32F103CB]
+extends       = common_stm32
+board         = genericSTM32F103CB
+monitor_speed = 115200
+
+
 #
 # STM32F103RE
 #
diff --git a/platformio.ini b/platformio.ini
index ed1670dc6d..63bed88739 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -13,7 +13,7 @@
 [platformio]
 src_dir      = Marlin
 boards_dir   = buildroot/share/PlatformIO/boards
-default_envs = mega2560
+default_envs = STM32F103CB
 include_dir  = Marlin
 extra_configs =
     Marlin/config.ini</pre>
Also attached, so you can work out what the silly similes are meant to be<br />
[attachment 121213 diff.log]]]></description>
            <dc:creator>Dust</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Thu, 14 Nov 2024 09:22:48 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896093#msg-896093</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896093#msg-896093</link>
            <description><![CDATA[ platform atmelsam  is not stm32f103C8<br />
<br />
In platformio.ini  default_envs should be set to a stm32 environment<br />
or if using command line -E some stm32 environment]]></description>
            <dc:creator>Dust</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Thu, 14 Nov 2024 08:17:12 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896091#msg-896091</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896091#msg-896091</link>
            <description><![CDATA[ I have connected to an LCD module but when I try to upload Marlin firmware to STM32F103C8T6 using ST-Link, I encounter the following errors. Could you please help me? I'm also a beginner.<br />
<br />
<br />
[upload] AssertionError : <br />
Traceback (most recent call last):<br />
  File "C:\Users\Dung\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Action.py", line 1441, in execute<br />
    result = self.execfunction(target=target, source=rsources, env=env)<br />
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\platforms\atmelavr\builder\main.py", line 54, in BeforeUpload<br />
    env.AutodetectUploadPort()<br />
  File "C:\Users\Dung\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252, in __call__<br />
    return self.method(*nargs, **kwargs)<br />
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\penv\Lib\site-packages\platformio\builder\tools\pioupload.py", line 118, in AutodetectUploadPort<br />
    ).find(initial_port)<br />
      ^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\penv\Lib\site-packages\platformio\device\finder.py", line 147, in find<br />
    device = self._find_known_device()<br />
             ^^^^^^^^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\penv\Lib\site-packages\platformio\device\finder.py", line 245, in _find_known_device<br />
    return wrapper()<br />
           ^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\penv\Lib\site-packages\platformio\util.py", line 113, in wrapper<br />
    return func(*args, **kwargs)<br />
           ^^^^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\penv\Lib\site-packages\platformio\device\finder.py", line 240, in wrapper<br />
    device = self.match_device_hwid(_fetch_hwids_from_platforms())<br />
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\penv\Lib\site-packages\platformio\device\finder.py", line 227, in _fetch_hwids_from_platforms<br />
    for board_config in p.get_boards().values():<br />
                        ^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\platforms\atmelsam\platform.py", line 102, in get_boards<br />
    result[key] = self._add_default_debug_tools(result[key])<br />
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br />
  File "C:\Users\Dung\.platformio\platforms\atmelsam\platform.py", line 151, in _add_default_debug_tools<br />
    assert openocd_chipname<br />
AssertionError]]></description>
            <dc:creator>trieudung</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Thu, 14 Nov 2024 03:32:09 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896067#msg-896067</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896067#msg-896067</link>
            <description><![CDATA[ @trieudung<br />
<br />
That is not an error Its a warning.<br />
<br />
That you have no screen  or HOST_PROMPT_SUPPORT or EMERGENCY_PARSER or any other way to give feedback enabled<br />
<br />
The full thing is<br />
  #warning "Your Configuration provides no method to acquire user feedback! (Define NO_USER_FEEDBACK_WARNING to suppress this warning.)"<br />
<br />
And it tells you how to just turn off the waning if you really dont want anything like that]]></description>
            <dc:creator>Dust</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 06 Nov 2024 09:10:37 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,896066#msg-896066</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,896066#msg-896066</link>
            <description><![CDATA[ I have made a circuit board using STM32F103C8T6 to control a 3D printer, but when I upload the Marlin firmware to the STM32, I get the following error: 'Your Configuration provides no method to acquire user feedback!'. Has anyone encountered this error and knows how to fix it? Thank you very much.]]></description>
            <dc:creator>trieudung</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 06 Nov 2024 08:25:25 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,846865#msg-846865</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,846865#msg-846865</link>
            <description><![CDATA[ I didn't change board  = genericSTM32F103RE in platformio.ini    (this time....)<br />
<br />
after changing it to genericSTM32F103C8 or genericSTM32F103CB  I get the same error as you<br />
<br />
It did used to work....<br />
<br />
<br />
[update]<br />
<br />
ok this is odd...<br />
<br />
code is looking like it is ignoring -D__STM32F1__ <br />
<br />
if you edit  Marlin/Marlin/src/HAL/HAL_STM32F1/HAL_sdio_STM32F1.cpp line 24<br />
change it from #ifdef __STM32F1__ to #ifndef __STM32F1__ <br />
<br />
it complies!!   <br />
<br />
I can't explain this...]]></description>
            <dc:creator>Dust</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 13 Feb 2019 02:55:37 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,846862#msg-846862</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,846862#msg-846862</link>
            <description><![CDATA[ I tried choosing the STM32F1 environment, setting the board in the environment as genericSTM32F103CB. It shows the right specs in the beginning, like<br />
<br />
<pre class="bbcode">
PLATFORM: ST STM32 &gt; STM32F103CB (20k RAM. 128k Flash)
HARDWARE: STM32F103CBT6 72MHz 20KB RAM (128KB Flash)</pre>
<br />
But then it gives me a different series of errors<br />
<br />
<pre class="bbcode">
Compiling .pioenvs\STM32F1\src\src\HAL\HAL_STM32F1\HAL_timers_STM32F1.cpp.o
Marlin\src\HAL\HAL_STM32F1\HAL_sdio_STM32F1.cpp: In function 'bool SDIO_Init()':
Marlin\src\HAL\HAL_STM32F1\HAL_sdio_STM32F1.cpp:34:3: error: 'sdio_begin' was not declared in this scope
sdio_begin();
^~~~~~~~~~</pre>
<br />
And so on. It's a different result already, I could be on the right track or not<br />
<br />
<br />
<br />
<br />
Makes me want to try ESP32 instead]]></description>
            <dc:creator>ruyvieira</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 13 Feb 2019 01:02:04 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,846861#msg-846861</guid>
            <title>Re: Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,846861#msg-846861</link>
            <description><![CDATA[ I have complied marlin 2.0 for STM32F103C8 on platformio<br />
<br />
there where some things that needed changed<br />
main issue were memory, had to hack files to tell it that it really has 128k flash vs the 64k it is sold as.<br />
<br />
I set #define MOTHERBOARD BOARD_MORPHEUS<br />
<br />
PID Build (STM32F1)<br />
<br />
still seems to compile fine with current marlin 2.0]]></description>
            <dc:creator>Dust</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 13 Feb 2019 00:22:07 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,846858,846858#msg-846858</guid>
            <title>Marlin 2.0 and STM32F103C8</title>
            <link>https://reprap.org/forum/read.php?415,846858,846858#msg-846858</link>
            <description><![CDATA[ Was it ever possible to build Marlin 2.0 for this MCU? There are at least two boards designed for it (Morpheus and RABPS), plus the Mono Price Mini I3 controller, but I either get a "can't find included file atomic.h" or a "NameError: name 'variant' is not defined:" when trying to build it in Platformio. This happens even on a fresh install of Platformio, which makes me wonder if it was ever possible to build it for this specific MCU. I can build it for other mcu's in the same like like the one in MKS Robin, and a guy in this forum designed a whole 3d printer board around what seems to be an inexpensive stm32f407 module.<br />
<br />
I made a board for a stm32f103 port of GRBL and it functions perfectly, if Marlin 2.0 could run on it it then a single board would be able to run both firmwares.]]></description>
            <dc:creator>ruyvieira</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Tue, 12 Feb 2019 21:40:20 -0500</pubDate>
        </item>
    </channel>
</rss>
