<?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>Blog - All Comments</title><link>/products/raspberry-pi/b/blog</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Pico low jitter PID controller</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/pico-low-jitter-pid-controller</link><pubDate>Sun, 25 Oct 2026 19:09:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:36643f32-3cec-4e14-b156-2c94a2368691</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I tried this same example, on the RISC-V cores of the RP2350&lt;/p&gt;
&lt;p&gt;The comparison&amp;nbsp;is unfair at the moment because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I don&amp;#39;t have a fixed point library for the RISC family (yet), so I have to use floating point math&lt;/li&gt;
&lt;li&gt;the RISC cores don&amp;#39;t have an FPU, They can&amp;#39;t use the ARM FPU, so have to do all floating point math in C on the CPU, that doesn&amp;#39;t have floating point instructions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The&amp;nbsp;PID loop time is 11 &amp;micro;s.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll&amp;nbsp;try to find q fixed floating point lib for the RISC, either a Q15 or Q31 version. The results should be fairly similar to ARM then.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=30348&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Pico low jitter PID controller</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/pico-low-jitter-pid-controller</link><pubDate>Sat, 24 Oct 2026 14:43:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:36643f32-3cec-4e14-b156-2c94a2368691</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Hi Jan,&lt;/p&gt;
&lt;p&gt;Neat project. This seems like a really clean way to drive the PID updates, all clocked from the ADC rate! Also, interesting how you ran the function from RAM for lower latency. I didn&amp;#39;t know that was possible.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=30348&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Pico PID controller without floating point using DSP C++ fixed point API</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/pico-pid-controller-without-floating-point-using-dsp-c-fixed-point-api</link><pubDate>Sat, 24 Oct 2026 08:44:19 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b3cf8db1-4ff1-4c67-b1d6-5480cc4dcd04</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;In this test code, a timer makes the PID loop run, and the loop performs ADC.&lt;/p&gt;
&lt;p&gt;A better approach is to time the ADC sampling, and let an ADC interrupt kick off the PID as soon as the sample is in.&lt;/p&gt;
&lt;p&gt;On a Pico, you&amp;#39;d make the ADC run timed, in the background by:&lt;/p&gt;
&lt;pre&gt;&lt;span class="undefined"&gt;adc_set_clkdiv(&lt;/span&gt;&lt;span class="undefined"&gt;); &lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="undefined"&gt;adc_run(&lt;/span&gt;&lt;span class="undefined"&gt;);&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span class="undefined"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="undefined"&gt;And you &amp;#39;d kick off the PID cycle&amp;nbsp;by setting up an &amp;quot;ADC finished&amp;quot; interrupt:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span class="undefined"&gt;adc_fifo_setup();&lt;/span&gt;&lt;br /&gt;&lt;span class="undefined"&gt;adc_fifo_drain();&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="undefined"&gt;irq_set_exclusive_handler(); &lt;/span&gt;&lt;br /&gt;&lt;span class="undefined"&gt;irq_set_enabled();&lt;/span&gt;&lt;br /&gt;&lt;span class="undefined"&gt;adc_irq_set_enabled()&lt;/span&gt;&lt;/pre&gt;
&lt;div data-os-fs=""&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And then in the ADC handler, you&amp;nbsp;retrieve the FIFO sample and run PID.&lt;/p&gt;
&lt;pre&gt;&lt;span class="eRp4sf"&gt;uint16_t&lt;/span&gt;&lt;span class="undefined"&gt; &lt;/span&gt;&lt;span class="wy5BN"&gt;sample&lt;/span&gt;&lt;span class="undefined"&gt; = adc_fifo_get();&lt;/span&gt;&lt;br /&gt;&lt;span class="undefined"&gt;// run the pid&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The main loop () is not involved.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=30345&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: I wrote a hands-on Raspberry Pi Pico 2 project book — free review copies for embedded developers</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/i-wrote-a-hands-on-raspberry-pi-pico-2-project-book-free-review-copies-for-embedded-developers</link><pubDate>Thu, 14 May 2026 09:26:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:aa161833-3ed7-4acc-be26-e966923f6b8a</guid><dc:creator>PeterDev</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Hi Michael,&lt;/p&gt;
&lt;p&gt;I just picked up a print copy of your book following your post.&lt;/p&gt;
&lt;p&gt;Regarding the GitHub repo you mentioned: Since the code snippets in the printed version are sometimes hard to read ,would it be possible to host the full source code there?&lt;/p&gt;
&lt;p&gt;It would be a great help for following along.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29560&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: I wrote a hands-on Raspberry Pi Pico 2 project book — free review copies for embedded developers</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/i-wrote-a-hands-on-raspberry-pi-pico-2-project-book-free-review-copies-for-embedded-developers</link><pubDate>Tue, 14 Apr 2026 08:53:26 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:aa161833-3ed7-4acc-be26-e966923f6b8a</guid><dc:creator>iggytung</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span&gt;Thanks for sharing. I&amp;rsquo;m interested in RP2350 program but couldn&amp;rsquo;t find more examples&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29560&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Introducing The New Raspberry Pi 5 -  3x Faster, 2.4GHz, VideoCore VII GPU, RTC, Gigabit Ethernet, 1GB, 2GB, 4GB, 8GB RAM</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/introducing-the-new-raspberry-pi-5---3x-faster-2-4ghz-videocore-vii-gpu-rtc-gigabit-ethernet-1gb-2gb-4gb-8gb-ram</link><pubDate>Thu, 09 Apr 2026 10:21:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:1f21dd7b-ecde-4a41-8bc7-e9fe562edbfb</guid><dc:creator>libhacker</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;It&amp;#39;s amazing how many things you can update on the board without having to make it bigger. As they said stuff had to be shifted around. But the CPU is a huge improvement.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=26937&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Using CLion for Easier Coding with Pi Pico and C/C++</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/using-clion-for-easier-coding-with-pi-pico-and-c-c</link><pubDate>Sat, 07 Mar 2026 04:11:16 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:64f9a4af-5d86-47bf-9e0a-f958fc5b6b72</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Just updated the blog with steps I took in 2026 to get CLion working with Pi Pico. It&amp;#39;s a little easier than the previous documented steps.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=24010&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: I wrote a hands-on Raspberry Pi Pico 2 project book — free review copies for embedded developers</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/i-wrote-a-hands-on-raspberry-pi-pico-2-project-book-free-review-copies-for-embedded-developers</link><pubDate>Wed, 04 Mar 2026 16:45:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:aa161833-3ed7-4acc-be26-e966923f6b8a</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Currently some issues with both the Kindle sample and the PDF sample (formatting; every code section has the issue from what I can see):&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-aa161833-3ed7-4acc-be26-e966923f6b8a/sample1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-aa161833-3ed7-4acc-be26-e966923f6b8a/sample2.png" /&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29560&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: I wrote a hands-on Raspberry Pi Pico 2 project book — free review copies for embedded developers</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/i-wrote-a-hands-on-raspberry-pi-pico-2-project-book-free-review-copies-for-embedded-developers</link><pubDate>Tue, 03 Mar 2026 22:56:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:aa161833-3ed7-4acc-be26-e966923f6b8a</guid><dc:creator>cstanton</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;This&amp;#39;s pretty cool, thanks for sharing.&lt;/p&gt;
&lt;p&gt;Do e14 Community members get a discount? ;)&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29560&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: C++ write your own stream class - part 2: a working Pico UART IO stream (embedded friendly C++)</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/c-write-your-own-stream-class---part-2-pico-uart-io-stream-embedded-friendly-c</link><pubDate>Sat, 03 Jan 2026 14:17:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f2f2dbd0-7704-41c3-b40f-06f3aeb67806</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;added a ready-to-build repository for the example code:&amp;nbsp;&lt;a id="" href="https://github.com/jancumps/pico_uart_stream_example" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://github.com/jancumps/pico_uart_stream_example&lt;/a&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29357&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: OO Library to handle Pico PIO relative interrupts: usage and example</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/oo-library-to-handle-pico-pio-relative-interrupts</link><pubDate>Wed, 17 Dec 2025 21:21:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0da272cb-ebad-486b-9805-aeff96f7425d</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I like to be confident of my designs - but I&amp;#39;ve been around [emoticon:c4563cd7d5574777a71c318021cbbcc8].&lt;/p&gt;
&lt;p&gt;Dealing with real time&amp;nbsp;and frequent interrupts can be challenging.&lt;br /&gt;I&amp;#39;m using an&amp;nbsp;OO design here -&amp;nbsp;an approach that&amp;#39;s often flagged as risky for embedded designs.&lt;/p&gt;
&lt;p&gt;I trust the code, but prefer to back that up with real world data.&lt;br /&gt;I tested this design on a RP2040, and an RP2350 (in ARM and RISC mode), for a month.&lt;/p&gt;
&lt;p&gt;With all PIO state machines used (8 on a RP2040, 12 on a Pico2), there was not a single interrupt missed, and no memory leakage.&lt;br /&gt;I also tested this with fewer than max PIO state machines deployed. The code has&amp;nbsp;behaved stable all the time.&lt;/p&gt;
&lt;p&gt;It shows that C++26 and GCC are stable. But it also shows that the Pico controllers - and the Raspberry Pico SDK, are sound.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29161&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Use the Pico RP2350 in RISC-V  mode without Pico VSCode Extension: build</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/use-the-pico-rp2350-in-risc-v-mode-without-pico-vscode-extension</link><pubDate>Mon, 15 Dec 2025 20:41:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dc7f622a-de8c-4d4b-8d67-1750fe9f645e</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;It looks straightforward once you have a working makefile (like the one in the main post here). But I struggled to get existing projects working with the RISC-V cores, without the extension. And once I got the build working, I had debug issues.&lt;/p&gt;
&lt;p&gt;The work in the post above is from 1&amp;nbsp;morning and 1 evening of development. I got a working build before my workday started. And a working debug in the evening, after the day job.&lt;br /&gt;But before today, at least 10 failed and abandoned attempts, in a period of - say - a year.&lt;/p&gt;
&lt;p&gt;The final exercise today -&amp;nbsp;after resetting my brain a bit, because of rabbit holes -&amp;nbsp; almost wrote itself.&amp;nbsp;&lt;br /&gt;Without those mishaps this would not have been possible. The human brain is a strange vehicle ...&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29419&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Use the Pico RP2350 in RISC-V  mode without Pico VSCode Extension: build</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/use-the-pico-rp2350-in-risc-v-mode-without-pico-vscode-extension</link><pubDate>Mon, 15 Dec 2025 18:13:25 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dc7f622a-de8c-4d4b-8d67-1750fe9f645e</guid><dc:creator>scottiebabe</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;floating point on the rp2040 is so slow, the new rp2350 is a wonderful product.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " height="213" src="/resized-image/__size/412x426/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-dc7f622a-de8c-4d4b-8d67-1750fe9f645e/pastedimage1765822368530v1.png" width="206" /&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29419&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: modern C++ on a Pico: use C++ Standard Library algorithms - embedded friendly</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/modern-c-on-a-pico-use-c-standard-library-algorithms---embedded-friendly</link><pubDate>Tue, 18 Nov 2025 08:03:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b09f7aa5-7af2-4c81-ab34-7659d23f672e</guid><dc:creator>pvit</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;I&amp;#39;d suggest you take a look at the Embedded Templates Library &lt;a href="https://www.etlcpp.com/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://www.etlcpp.com/&lt;/a&gt;. It&amp;#39;s more focused on embedded-specific demands and portability between c++ standards.&lt;/p&gt;
&lt;p&gt;~ the same as std, but without dynamic allocations everywhere, with backports of new features like string_view to ancient C++11 compilers when nothing better is available on your target MCU. And of course, both can be used at the same time, if needed.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29330&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: C++ write your own stream class - part 2: a working Pico UART IO stream (embedded friendly C++)</title><link>https://community.element14.com/products/raspberry-pi/b/blog/posts/c-write-your-own-stream-class---part-2-pico-uart-io-stream-embedded-friendly-c</link><pubDate>Mon, 17 Nov 2025 19:49:22 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f2f2dbd0-7704-41c3-b40f-06f3aeb67806</guid><dc:creator>DAB</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Nice post Jan.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=29357&amp;AppID=86&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>