I’m experiencing errors when creating a PlatformIO project using the XIAO MG24 board. According to Seeed Studio’s documentation, I modified the platform.ini file as follows:
[env:seeed_xiao_mg24]
platform = https://github.com/Seeed-Studio/platform-seeedboards.git
board = seeed-xiao-mg24
framework = arduino
However, when I try to compile the project, it fails. It seems the required packages are not being downloaded correctly. Does anyone know how to fix this?
I’m attaching the error logs below:
Resolving seeed_xiao_mg24 dependencies...
sys_type is: windows_amd64
Tool Manager: Installing https://files.seeedstudio.com/arduino/platformio/forsilicon-openocd-win.zip
Tool Manager: Error: Please read https://bit.ly/package-manager-ioerror
SSLError: Traceback (most recent call last):
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connectionpool.py", line 464, in \_make_request
self.\_validate_conn(conn)
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connectionpool.py", line 1093, in \_validate_conn
conn.connect()
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connection.py", line 790, in connect
sock_and_verified = \_ssl_wrap_socket_and_match_hostname(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connection.py", line 969, in \_ssl_wrap_socket_and_match_hostname
ssl_sock = ssl_wrap_socket(
^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\util\\ssl\_.py", line 480, in ssl_wrap_socket
ssl_sock = \_ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\util\\ssl\_.py", line 524, in \_ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Program Files\\virtd-python312\\Lib\\ssl.py", line 455, in wrap_socket
return self.sslsocket_class.\_create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Program Files\\virtd-python312\\Lib\\ssl.py", line 1042, in \_create
self.do_handshake()
File "C:\\Program Files\\virtd-python312\\Lib\\ssl.py", line 1320, in do_handshake
self.\_sslobj.do_handshake()
ssl.SSLCertVerificationError: \[SSL: CERTIFICATE_VERIFY_FAILED\] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1000)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connectionpool.py", line 787, in urlopen
response = self.\_make_request(
^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connectionpool.py", line 488, in \_make_request
raise new_e
urllib3.exceptions.SSLError: \[SSL: CERTIFICATE_VERIFY_FAILED\] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1000)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\requests\\adapters.py", line 644, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\connectionpool.py", line 841, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\urllib3\\util\\retry.py", line 519, in increment
raise MaxRetryError(\_pool, url, reason) from reason # type: ignore\[arg-type\]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='files.seeedstudio.com', port=443): Max retries exceeded with url: /arduino/platformio/forsilicon-openocd-win.zip (Caused by SSLError(SSLCertVerificationError(1, '\[SSL: CERTIFICATE_VERIFY_FAILED\] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1000)')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\\__main_\_.py", line 103, in main
cli() # pylint: disable=no-value-for-parameter
^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\click\\core.py", line 1157, in \__call_\_
return self.main(\*args, \*\*kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\click\\core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\cli.py", line 85, in invoke
return super().invoke(ctx)
^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\click\\core.py", line 1688, in invoke
return \_process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\click\\core.py", line 1688, in invoke
return \_process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\click\\core.py", line 1434, in invoke
return ctx.invoke(self.callback, \*\*ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\click\\core.py", line 783, in invoke
return \__callback(\*args, \*\*kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\project\\commands\\init.py", line 106, in project_init_cmd
install_project_dependencies(
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\commands\\install.py", line 107, in install_project_dependencies
already_up_to_date = not install_project_env_dependencies(env, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\commands\\install.py", line 132, in install_project_env_dependencies
\_install_project_env_platform(project_env, options),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\commands\\install.py", line 149, in \_install_project_env_platform
PlatformPackageManager().install(
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\manager\\platform.py", line 62, in install
p.install_required_packages(force=force)
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\platform\\\_packages.py", line 76, in install_required_packages
self.install_package(name, force=force)
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\platform\\\_packages.py", line 70, in install_package
return self.pm.install(spec or self.get_package_spec(name), force=force)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\manager\\\_install.py", line 47, in install
pkg = self.\_install(spec, skip_dependencies=skip_dependencies, force=force)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\manager\\\_install.py", line 97, in \_install
pkg = self.install_from_uri(spec.uri, spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\manager\\\_install.py", line 189, in install_from_uri
dl_path = self.download(uri, checksum)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\manager\\\_download.py", line 88, in download
raise exc
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\manager\\\_download.py", line 69, in download
fd = FileDownloader(url)
^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\package\\download.py", line 33, in \__init_\_
self.\_http_response = self.\_http_session.get(
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\requests\\sessions.py", line 602, in get
return self.request("GET", url, \*\*kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\platformio\\http.py", line 64, in request
return super().request(
^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\requests\\sessions.py", line 589, in request
resp = self.send(prep, \*\*send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\requests\\sessions.py", line 703, in send
r = adapter.send(request, \*\*kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\\Users\\IXJUX7Q\\.platformio\\penv\\Lib\\site-packages\\requests\\adapters.py", line 675, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='files.seeedstudio.com', port=443): Max retries exceeded with url: /arduino/platformio/forsilicon-openocd-win.zip (Caused by SSLError(SSLCertVerificationError(1, '\[SSL: CERTIFICATE_VERIFY_FAILED\] certificate verify failed: unable to get local issuer certificate (\_ssl.c:1000)')))
============================================================
An unexpected error occurred. Further steps:
\* Verify that you have the latest version of PlatformIO using
\`python -m pip install -U platformio\` command
\* Try to find answer in FAQ Troubleshooting section
https://docs.platformio.org/page/faq/index.html
\* Report this problem to the developers
https://github.com/platformio/platformio-core/issues
============================================================