<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>uPython &amp;mdash; Paul Sutton</title>
    <link>https://personaljournal.ca/paulsutton/tag:uPython</link>
    <description>Personal Blog</description>
    <pubDate>Tue, 05 May 2026 16:27:22 +0000</pubDate>
    <item>
      <title>Pi pico Larson Scanner part 3</title>
      <link>https://personaljournal.ca/paulsutton/pi-pico-larson-scanner-part-3</link>
      <description>&lt;![CDATA[Pi pico Larson Scanner part 3&#xA;&#xA;Following Saturdays STEM Group meet up,  Where Vance has rewirtten my scanner program so that it is more efficient.   I have included the new code below.   I have now made an improvement by adding a 10 segment LED display and getting this working my modifying the code that Vance helped me with.&#xA;&#xA;The new code, using an array to store pin numbers is below&#xA;&#xA;flash on board pico led&#xA;updated 1/7/2023 - working code&#xA;import machine &#xA;import utime&#xA;&#xA;Vance&#xA;ledpins = [11,12,13,14,15]&#xA;&#xA;delay = input(&#34;Time Delay: &#34;)&#xA;&#xA;bind leds gpip to variables&#xA;&#xA;leds = []&#xA;for pin in ledpins:&#xA;    # Set to output&#xA;    leds.append(machine.Pin(pin, machine.Pin.OUT))&#xA;    # Turn the LED off&#xA;    leds[-1].value(0) #off&#xA;    &#xA;    &#xA;utime.sleep(3)&#xA;&#xA;delay = 0.1 #set delay&#xA;&#xA;while True:&#xA;    # Led sequence upwards&#xA;    for led in leds: &#xA;        led.value(1)&#xA;        utime.sleep(delay)&#xA;        led.value(0)&#xA;   &#xA;    # Led sequence downwards&#xA;    for led in leds[-1:0:-1]:&#xA;        led.value(1)&#xA;        utime.sleep(delay)&#xA;        led.value(0)       &#xA;While my new code modification is here. &#xA;&#xA;use 10 led segment display&#xA;led_pins = [1,2,3,4,5,6,7,8,9,]&#xA;Which is just 1 line of actual code and a comment.  The result of this is presented in the video below.  I had to resolder the board with the LED display on as it had some joints missing.  &#xA;&#xA;Video&#xA;&#xA;The video can be found here&#xA;&#xA;Tags&#xA;&#xA;#uPython,#RaspberryPiPico,#LarsonScanner,#PhysicalComputing &#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Pi pico Larson Scanner part 3</p>

<p>Following <a href="https://personaljournal.ca/paulsutton/stem-group-8-7-2022-write-up" rel="nofollow">Saturdays STEM Group meet up</a>,  Where Vance has rewirtten my scanner program so that it is more efficient.   I have included the new code below.   I have now made an improvement by adding a 10 segment LED display and getting this working my modifying the code that Vance helped me with.</p>

<p>The new code, using an array to store pin numbers is below</p>

<pre><code>#flash on board pico led
# updated 1/7/2023 - working code
import machine 
import utime

# Vance
led_pins = [11,12,13,14,15]

#delay = input(&#34;Time Delay: &#34;)

#bind leds gpip to variables

leds = []
for pin in led_pins:
    # Set to output
    leds.append(machine.Pin(pin, machine.Pin.OUT))
    # Turn the LED off
    leds[-1].value(0) #off
    
    
utime.sleep(3)

delay = 0.1 #set delay

while True:
    # Led sequence upwards
    for led in leds: 
        led.value(1)
        utime.sleep(delay)
        led.value(0)
   
    # Led sequence downwards
    for led in leds[-1:0:-1]:
        led.value(1)
        utime.sleep(delay)
        led.value(0)       
</code></pre>

<p>While my new code modification is here.</p>

<pre><code># use 10 led segment display
led_pins = [1,2,3,4,5,6,7,8,9,]
</code></pre>

<p>Which is just 1 line of actual code and a comment.  The result of this is presented in the video below.  I had to resolder the board with the LED display on as it had some joints missing.</p>

<p><strong>Video</strong></p>

<p>The video can be <a href="https://diode.zone/w/2C5EniMqtUpCVtN59jVYbm" rel="nofollow">found here</a></p>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:uPython" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">uPython</span></a>,<a href="/paulsutton/tag:RaspberryPiPico" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">RaspberryPiPico</span></a>,<a href="/paulsutton/tag:LarsonScanner" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">LarsonScanner</span></a>,<a href="/paulsutton/tag:PhysicalComputing" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">PhysicalComputing</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/pi-pico-larson-scanner-part-3</guid>
      <pubDate>Sun, 09 Jul 2023 06:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Pi pico Larson Scanner part 2</title>
      <link>https://personaljournal.ca/paulsutton/pi-pico-larson-scanner-part-2</link>
      <description>&lt;![CDATA[Pi pico Larson Scanner part 2&#xA;&#xA;Further to the previous post. I spent some time on this, trying to fix the problem.  This is mostly re-written.  &#xA;&#xA;I have also made the lights run faster as per video below&#xA;&#xA;iframe title=&#34;Working Larson Scanner&#34; src=&#34;https://diode.zone/videos/embed/7833e07d-7d61-4770-bf3b-c4821138e51f&#34; allowfullscreen=&#34;&#34; sandbox=&#34;allow-same-origin allow-scripts allow-popups&#34; width=&#34;560&#34; height=&#34;315&#34; frameborder=&#34;0&#34;/iframe&#xA;&#xA;Code is below.&#xA;&#xA;delay = 0.05 #set delay&#xA;&#xA;I would recommand a delay of 1 second for testing purposes, so it is easier to try and follow the code as it is running. &#xA;&#xA;larsonscan.py&#xA;&#xA;flash on board pico led&#xA;updated 1/7/2023 - working code&#xA;import machine &#xA;import utime&#xA;&#xA;delay = input(&#34;Time Delay: &#34;)&#xA;&#xA;bind LEDs / GPIO pins to variables&#xA;&#xA;ledg = machine.Pin(11, machine.Pin.OUT) #green&#xA;ledb = machine.Pin(12, machine.Pin.OUT) # blue led&#xA;ledw = machine.Pin(13, machine.Pin.OUT) # white led&#xA;ledy = machine.Pin(14, machine.Pin.OUT) # yellow led&#xA;ledr = machine.Pin(15, machine.Pin.OUT) # red led &#xA;&#xA;turn all LEDs off &#xA;&#xA;ledg.value(0) #off&#xA;ledb.value(0) #off&#xA;ledw.value(0) #off&#xA;ledy.value(0) #off&#xA;ledr.value(0) #off&#xA;&#xA;utime.sleep(3)&#xA;&#xA;#utime.sleep(2) # TWO second delay&#xA;led_onboard = machine.Pin(25, machine.Pin.OUT)&#xA;&#xA;delay = 0.05 #set delay&#xA;&#xA;ledg.value(0) ledg.value(1)&#xA;ledb&#xA;ledw&#xA;ledy&#xA;ledr&#xA;&#xA;g b w y r y w b -&lt; repeat so therefore next led is back to g&#xA;&#xA;while True:&#xA;    ledg.value(1)#on&#xA;    utime.sleep(delay)&#xA;    ledb.value(1) #on&#xA;    utime.sleep(delay)  &#xA;    ledg.value(0)#on&#xA;    utime.sleep(delay)&#xA;    ledw.value(1)&#xA;    utime.sleep(delay)&#xA;    ledb.value(0)&#xA;    utime.sleep(delay)&#xA;    ledy.value(1)&#xA;    utime.sleep(delay)&#xA;    ledw.value(0)&#xA;    utime.sleep(delay)&#xA;    ledr.value(1)&#xA;    utime.sleep(delay)&#xA;    ledy.value(0)&#xA;    utime.sleep(delay)&#xA;    ledr.value(1)&#xA;    utime.sleep(delay)&#xA;    ledy.value(1)&#xA;    utime.sleep(delay)&#xA;    ledr.value(0)&#xA;    utime.sleep(delay)&#xA;    ledw.value(1)&#xA;    utime.sleep(delay)&#xA;    ledy.value(0)&#xA;    utime.sleep(delay)&#xA;    ledb.value(1)&#xA;    utime.sleep(delay)&#xA;    ledw.value(0)&#xA;    utime.sleep(delay)  &#xA;Tags&#xA;&#xA;#uPython,#RaspberryPiPico,#LarsonScanner,#PhysicalComputing &#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Pi pico Larson Scanner part 2</p>

<p>Further to the <a href="https://personaljournal.ca/paulsutton/pi-pico-larson-scanner" rel="nofollow">previous post</a>. I spent some time on this, trying to fix the problem.  This is mostly re-written.</p>

<p>I have also made the lights run faster as per video below</p>

<iframe title="Working Larson Scanner" src="https://diode.zone/videos/embed/7833e07d-7d61-4770-bf3b-c4821138e51f" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>

<p>Code is below.</p>

<pre><code>delay = 0.05 #set delay
</code></pre>

<p>I would recommand a delay of 1 second for testing purposes, so it is easier to try and follow the code as it is running.</p>
<ul><li>larsonscan.py</li></ul>

<pre><code>#flash on board pico led
# updated 1/7/2023 - working code
import machine 
import utime

#delay = input(&#34;Time Delay: &#34;)

#bind LEDs / GPIO pins to variables

ledg = machine.Pin(11, machine.Pin.OUT) #green
ledb = machine.Pin(12, machine.Pin.OUT) # blue led
ledw = machine.Pin(13, machine.Pin.OUT) # white led
ledy = machine.Pin(14, machine.Pin.OUT) # yellow led
ledr = machine.Pin(15, machine.Pin.OUT) # red led 

#turn all LEDs off 

ledg.value(0) #off
ledb.value(0) #off
ledw.value(0) #off
ledy.value(0) #off
ledr.value(0) #off

utime.sleep(3)

#utime.sleep(2) # TWO second delay
#led_onboard = machine.Pin(25, machine.Pin.OUT)

delay = 0.05 #set delay

#ledg.value(0) ledg.value(1)
#ledb
#ledw
#ledy
#ledr

#g b w y r y w b -&lt; repeat so therefore next led is back to g

while True:
    ledg.value(1)#on
    utime.sleep(delay)
    ledb.value(1) #on
    utime.sleep(delay)  
    ledg.value(0)#on
    utime.sleep(delay)
    ledw.value(1)
    utime.sleep(delay)
    ledb.value(0)
    utime.sleep(delay)
    ledy.value(1)
    utime.sleep(delay)
    ledw.value(0)
    utime.sleep(delay)
    ledr.value(1)
    utime.sleep(delay)
    ledy.value(0)
    utime.sleep(delay)
    ledr.value(1)
    utime.sleep(delay)
    ledy.value(1)
    utime.sleep(delay)
    ledr.value(0)
    utime.sleep(delay)
    ledw.value(1)
    utime.sleep(delay)
    ledy.value(0)
    utime.sleep(delay)
    ledb.value(1)
    utime.sleep(delay)
    ledw.value(0)
    utime.sleep(delay)  
</code></pre>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:uPython" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">uPython</span></a>,<a href="/paulsutton/tag:RaspberryPiPico" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">RaspberryPiPico</span></a>,<a href="/paulsutton/tag:LarsonScanner" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">LarsonScanner</span></a>,<a href="/paulsutton/tag:PhysicalComputing" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">PhysicalComputing</span></a></p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/pi-pico-larson-scanner-part-2</guid>
      <pubDate>Sun, 02 Jul 2023 06:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Pi pico Larson Scanner</title>
      <link>https://personaljournal.ca/paulsutton/pi-pico-larson-scanner</link>
      <description>&lt;![CDATA[Pi pico Larson Scanner&#xA;&#xA;I am trying to build a project that simulates a larson scanner (from the original BSG) where the LED light looks like it is is moving back and forth.   Granted I am using different colour LEDs here, But I can replace them later.  Having different coloured LEDs at this stage, does seem to be helpful.&#xA;&#xA;The issue seems to be with the yellow LED.&#xA;&#xA;So to start off with the video&#xA;&#xA;iframe title=&#34;Larson Sanner&#34; src=&#34;https://diode.zone/videos/embed/58342a2f-c115-4690-8528-04392cb3c13a&#34; allowfullscreen=&#34;&#34; sandbox=&#34;allow-same-origin allow-scripts allow-popups&#34; width=&#34;560&#34; height=&#34;315&#34; frameborder=&#34;0&#34;/iframe&#xA;&#xA;And the code is as foilows&#xA;&#xA;flash on board pico led&#xA;&#xA;import machine &#xA;import utime&#xA;&#xA;delay = input(&#34;Time Delay: &#34;)&#xA;&#xA;bind leds gpip to variables&#xA;&#xA;ledg = machine.Pin(11, machine.Pin.OUT) #green&#xA;ledb = machine.Pin(12, machine.Pin.OUT) # blue led&#xA;ledw = machine.Pin(13, machine.Pin.OUT) # white led&#xA;ledy = machine.Pin(14, machine.Pin.OUT) # yellow led&#xA;ledr = machine.Pin(15, machine.Pin.OUT) # red led &#xA;&#xA;turn all leds off &#xA;&#xA;ledg.value(0) #off&#xA;ledb.value(0) #off&#xA;ledw.value(0) #off&#xA;ledy.value(0) #off&#xA;ledr.value(0) #off&#xA;&#xA;utime.sleep(2) # TWO second delay&#xA;led_onboard = machine.Pin(25, machine.Pin.OUT)&#xA;&#xA;delay = 0.1&#xA;&#xA;while True:&#xA;    ledg.value(1)#on&#xA;    utime.sleep(delay)&#xA;    ledr.value(0) #on&#xA;    utime.sleep(delay)&#xA;    ledb.value(1) #on&#xA;    utime.sleep(delay)  &#xA;    ledg.value(0)#on&#xA;    utime.sleep(delay)  &#xA;    ledw.value(1)#off&#xA;    utime.sleep(delay)  &#xA;    ledb.value(0) #on&#xA;    utime.sleep(delay)  &#xA;    ledy.value(1)&#xA;    utime.sleep(delay)  &#xA;    ledw.value(0)#off&#xA;    utime.sleep(delay)  &#xA;    ledy.value(1) #on&#xA;    utime.sleep(delay)  &#xA;    ledr.value(1) #on&#xA;    utime.sleep(delay)  &#xA;    ledy.value(0)&#xA;    utime.sleep(delay)  &#xA;    ledy.value(1) &#xA;    utime.sleep(delay)&#xA;    ledr.value(0)&#xA;    utime.sleep(delay)&#xA;    ledw.value(1)&#xA;    utime.sleep(delay)&#xA;    ledy.value(0)&#xA;    utime.sleep(delay)&#xA;    ledb.value(1)&#xA;    utime.sleep(delay)&#xA;    ledw.value(0)&#xA;    utime.sleep(delay)&#xA;    ledb.value(1)&#xA;    utime.sleep(delay)&#xA;    ledg.value(1)&#xA;    utime.sleep(delay)&#xA;    ledb.value(0)&#xA;    utime.sleep(delay)     # one second delay  &#xA;&#xA;I think there is also a more efficient way to do this.  I would rather have this solution fixed, than do the same thing with more efficient code. &#xA;&#xA;Tags&#xA;&#xA;#uPython,#RaspberryPiPico,#LarsonScanner,#Physical computing&#xA;&#xA;hr&#xD;&#xA;&#xD;&#xA;table&#xD;&#xA;thead&#xD;&#xA;trtda rel=&#34;me&#34; href=&#34;https://qoto.org/@zleap&#34;Mastodon/a/td&#xD;&#xA;tda href=&#34;https://wiki.ircnow.org/?n=Shelllabs.Intro&#34;ShellLabs/td&#xD;&#xA;tda href=&#34;https://joinmastodon.org/&#34;Join Mastodon/a/td/tr/thead/table&#xD;&#xA;center&#xD;&#xA;AI statement : b Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. /b&#xD;&#xA;/center&#xD;&#xA;&#xD;&#xA;a href=&#34;https://liberapay.com/PaulSutton/donate&#34;img alt=&#34;Donate using Liberapay&#34; src=&#34;https://liberapay.com/assets/widgets/donate.svg&#34;/a&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Pi pico Larson Scanner</p>

<p>I am trying to build a project that simulates a larson scanner (from the original BSG) where the LED light looks like it is is moving back and forth.   Granted I am using different colour LEDs here, But I can replace them later.  Having different coloured LEDs at this stage, does seem to be helpful.</p>

<p>The issue seems to be with the yellow LED.</p>

<p>So to start off with the video</p>

<iframe title="Larson Sanner" src="https://diode.zone/videos/embed/58342a2f-c115-4690-8528-04392cb3c13a" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>

<p>And the code is as foilows</p>

<pre><code>#flash on board pico led

import machine 
import utime

#delay = input(&#34;Time Delay: &#34;)

#bind leds gpip to variables

ledg = machine.Pin(11, machine.Pin.OUT) #green
ledb = machine.Pin(12, machine.Pin.OUT) # blue led
ledw = machine.Pin(13, machine.Pin.OUT) # white led
ledy = machine.Pin(14, machine.Pin.OUT) # yellow led
ledr = machine.Pin(15, machine.Pin.OUT) # red led 

#turn all leds off 

ledg.value(0) #off
ledb.value(0) #off
ledw.value(0) #off
ledy.value(0) #off
ledr.value(0) #off

utime.sleep(2) # TWO second delay
#led_onboard = machine.Pin(25, machine.Pin.OUT)

delay = 0.1

while True:
    ledg.value(1)#on
    utime.sleep(delay)
    ledr.value(0) #on
    utime.sleep(delay)
    ledb.value(1) #on
    utime.sleep(delay)  
    ledg.value(0)#on
    utime.sleep(delay)  
    ledw.value(1)#off
    utime.sleep(delay)  
    ledb.value(0) #on
    utime.sleep(delay)  
    ledy.value(1)
    utime.sleep(delay)  
    ledw.value(0)#off
    utime.sleep(delay)  
    ledy.value(1) #on
    utime.sleep(delay)  
    ledr.value(1) #on
    utime.sleep(delay)  
    ledy.value(0)
    utime.sleep(delay)  
    ledy.value(1) 
    utime.sleep(delay)
    ledr.value(0)
    utime.sleep(delay)
    ledw.value(1)
    utime.sleep(delay)
    ledy.value(0)
    utime.sleep(delay)
    ledb.value(1)
    utime.sleep(delay)
    ledw.value(0)
    utime.sleep(delay)
    ledb.value(1)
    utime.sleep(delay)
    ledg.value(1)
    utime.sleep(delay)
    ledb.value(0)
    utime.sleep(delay)     # one second delay  
</code></pre>

<p>I think there is also a more efficient way to do this.  I would rather have this solution fixed, than do the same thing with more efficient code.</p>

<p><strong>Tags</strong></p>

<p><a href="/paulsutton/tag:uPython" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">uPython</span></a>,<a href="/paulsutton/tag:RaspberryPiPico" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">RaspberryPiPico</span></a>,<a href="/paulsutton/tag:LarsonScanner" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">LarsonScanner</span></a>,<a href="/paulsutton/tag:Physical" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Physical</span></a> computing</p>

<hr>

<p><table>
<thead>
<tr><td><a href="https://qoto.org/@zleap" rel="nofollow">Mastodon</a></td>
<td><a href="https://wiki.ircnow.org/?n=Shelllabs.Intro" rel="nofollow">ShellLabs</td>
<td><a href="https://joinmastodon.org/" rel="nofollow">Join Mastodon</a></td></tr></thead></table>

AI statement : <b> Consent is NOT granted to use the content of this blog for the purposes of AI training or similar activity.  Consent CANNOT be assumed, it has to be granted. </b>
</p>

<p><a href="https://liberapay.com/PaulSutton/donate" rel="nofollow"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
]]></content:encoded>
      <guid>https://personaljournal.ca/paulsutton/pi-pico-larson-scanner</guid>
      <pubDate>Sat, 01 Jul 2023 07:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>