<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Pico on usedbytes:Blog</title>
		<link>https://blog.usedbytes.com/tags/pico/</link>
		<description>Recent content in Pico on usedbytes:Blog</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Mon, 13 Jun 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://blog.usedbytes.com/tags/pico/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>M0o&#43; Shepherd&#39;s Pi</title>
				<link>https://blog.usedbytes.com/2022/06/m0o-shepherds-pi/</link>
				<pubDate>Mon, 13 Jun 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/06/m0o-shepherds-pi/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;The last of the three &amp;ldquo;prescribed&amp;rdquo; challenges is&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/challenges/shepherds-pi/&#34; target=&#34;_blank&#34;&gt;Shepherd&amp;rsquo;s Pi&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this challenge there are 6 sheep which need herding into a pen, and 3 wolves&#xA;which must not be &amp;ldquo;killed&amp;rdquo; (knocked over).&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Nature&#39;s Bounty</title>
				<link>https://blog.usedbytes.com/2022/06/m0o-natures-bounty/</link>
				<pubDate>Sun, 12 Jun 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/06/m0o-natures-bounty/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;After tackling&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/challenges/hungry-cattle/&#34; target=&#34;_blank&#34;&gt;Hungry Cattle&lt;/a&gt;,&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/challenges/natures-bounty/&#34; target=&#34;_blank&#34;&gt;Nature&amp;rsquo;s Bounty&lt;/a&gt;&#xA;is next on the hit-list.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Lots of videos/pictures in this post, because I think it helps a lot with&#xA;explaining how it all works.&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Hungry Cattle</title>
				<link>https://blog.usedbytes.com/2022/06/m0o-hungry-cattle/</link>
				<pubDate>Sat, 11 Jun 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/06/m0o-hungry-cattle/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://piwars.org/2022-competition/challenges/hungry-cattle/&#34; target=&#34;_blank&#34;&gt;Hungry Cattle&lt;/a&gt;&#xA;is probably the easiest of the three main&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/challenges&#34; target=&#34;_blank&#34;&gt;Pi Wars challenges&lt;/a&gt;&#xA;to do autonomously and so is the one I chose to tackle first.&lt;/p&gt;&#xA;&lt;p&gt;The basic premise is delivering &amp;ldquo;cattle feed&amp;rdquo; (rice) to three troughs, placed&#xA;at known positions within the arena.&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Computer Vision</title>
				<link>https://blog.usedbytes.com/2022/05/m0o-computer-vision/</link>
				<pubDate>Sun, 29 May 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/05/m0o-computer-vision/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;To be able to locate the different game pieces in the&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/challenges&#34; target=&#34;_blank&#34;&gt;Pi Wars challenges&lt;/a&gt;&#xA;M0o+ has a very basic&#xA;&lt;a href=&#34;https://blog.usedbytes.com/2022/02/pico-pio-camera/&#34;&gt;camera&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;M0o+ is using a Pico for all the processing, so there&amp;rsquo;s really no chance&#xA;of porting OpenCV to it. There are other frameworks - even some machine-learning&#xA;ones like &lt;a href=&#34;https://www.tensorflow.org/lite&#34; target=&#34;_blank&#34;&gt;TFLite&lt;/a&gt; - which could work on the&#xA;Pico, however having had success with&#xA;&lt;a href=&#34;https://piwarsmc.org/2019/Computer_Vision_from_scratch.pdf&#34; target=&#34;_blank&#34;&gt;hand-coding my own routines for Mini Mouse&lt;/a&gt;,&#xA;I decided to do the same this year.&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Software Overview</title>
				<link>https://blog.usedbytes.com/2022/05/m0o-software-overview/</link>
				<pubDate>Sun, 15 May 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/05/m0o-software-overview/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve written a number of posts now about different &amp;ldquo;building blocks&amp;rdquo; which make&#xA;up M0o+:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.usedbytes.com/2021/12/pico-serial-bootloader/&#34;&gt;The bootloader&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.usedbytes.com/2021/12/esp32-wifi/bluetooth-bridge/&#34;&gt;The network/bluetooth interface&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.usedbytes.com/2022/01/m0o-s-chassis/&#34;&gt;The chassis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.usedbytes.com/2022/02/pico-pio-camera/&#34;&gt;The camera&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;The boom, parts &lt;a href=&#34;https://blog.usedbytes.com/2022/03/m0o-boom-part-1/&#34;&gt;1&lt;/a&gt;,&#xA;&lt;a href=&#34;https://blog.usedbytes.com/2022/04/m0o-boom-part-2/&#34;&gt;2&lt;/a&gt;, and&#xA;&lt;a href=&#34;https://blog.usedbytes.com/2022/05/m0o-boom-part-3/&#34;&gt;3&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;There&amp;rsquo;s one crucial element missing from that list, which is needed to turn a&#xA;collection of parts into an actual functioning robot than can compete in Pi Wars:&#xA;The Software.&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Boom - Part 3</title>
				<link>https://blog.usedbytes.com/2022/05/m0o-boom-part-3/</link>
				<pubDate>Sun, 08 May 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/05/m0o-boom-part-3/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blog.usedbytes.com/2022/04/m0o-boom-part-2/&#34;&gt;Last time&lt;/a&gt;,&#xA;I derived the Forward Kinematics for the boom on M0o+. If you haven&amp;rsquo;t read the&#xA;first two posts, then this one won&amp;rsquo;t make much sense (and I don&amp;rsquo;t want to repeat&#xA;myself 😀):&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Boom - Part 2</title>
				<link>https://blog.usedbytes.com/2022/04/m0o-boom-part-2/</link>
				<pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/04/m0o-boom-part-2/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;This post is the second in a trilogy detailing the boom on my&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/&#34; target=&#34;_blank&#34;&gt;Pi Wars 2022&lt;/a&gt; robot&#xA;&lt;a href=&#34;https://blog.usedbytes.com/tags/m0o&amp;#43;/&#34;&gt;M0o+&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blog.usedbytes.com/2022/03/m0o-boom-part-1/&#34;&gt;In the last post&lt;/a&gt;,&#xA;I wrote about the mechanical and electronic design. In this middle post, I&amp;rsquo;ll&#xA;be describing the equations which let me &lt;em&gt;find out&lt;/em&gt; where the end of the boom is,&#xA;and next time will go into the equations which let me &lt;em&gt;control&lt;/em&gt; where the end&#xA;of the boom is.&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43; Boom - Part 1</title>
				<link>https://blog.usedbytes.com/2022/03/m0o-boom-part-1/</link>
				<pubDate>Mon, 28 Mar 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/03/m0o-boom-part-1/</guid>
				<description>&lt;!--&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;So clearly there are some issues to work out, but this was bit-banged from an OV7670 on a Pico. PIO next. &lt;a href=&#34;https://x.com/hashtag/raspberrypi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#raspberrypi&lt;/a&gt; &lt;a href=&#34;https://x.com/hashtag/PiWars?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#PiWars&lt;/a&gt; &lt;a href=&#34;https://t.co/yJFQFhU9Xk&#34;&gt;pic.twitter.com/yJFQFhU9Xk&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian Starkey (@usedbytes) &lt;a href=&#34;https://x.com/usedbytes/status/1437689439283712000?ref_src=twsrc%5Etfw&#34;&gt;September 14, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;[M0o+](https://blog.usedbytes.com/tags/m0o&amp;#43;/)&#xA;&#xA;&#xA;    &lt;div class=&#34;window video-player&#34;&gt;&#xA;      &lt;div class=&#34;window__titlebar&#34;&gt;&#xA;  &lt;img&#xA;    class=&#34;window__icon&#34;&#xA;    src=&#34;https://blog.usedbytes.com/images/window-icon.png&#34;&#xA;    alt=&#34;&#34;&#xA;    width=&#34;16&#34;&#xA;    height=&#34;14&#34;&#xA;    aria-hidden=&#34;true&#34;&gt;&#xA;  &lt;span class=&#34;window__title&#34;&gt;Video Player&lt;/span&gt;&#xA;  &#xA;    &lt;img&#xA;      class=&#34;window__controls&#34;&#xA;      src=&#34;https://blog.usedbytes.com/images/window-controls.png&#34;&#xA;      alt=&#34;&#34;&#xA;      width=&#34;50&#34;&#xA;      height=&#34;14&#34;&#xA;      aria-hidden=&#34;true&#34;&gt;&#xA;  &#xA;&lt;/div&gt;&#xA;&#xA;      &lt;div class=&#34;video-player__frame&#34;&gt;&#xA;        &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34;&#xA;          referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/1pcGYALi6pc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;--&gt;&#xA;&lt;p&gt;My &lt;a href=&#34;https://piwars.org/2022-competition/&#34; target=&#34;_blank&#34;&gt;Pi Wars at Home 2022&lt;/a&gt;&#xA;robot &lt;a href=&#34;https://blog.usedbytes.com/tags/m0o&amp;#43;/&#34;&gt;M0o+&lt;/a&gt; is intended to resemble a&#xA;&lt;a href=&#34;https://en.wikipedia.org/wiki/Telescopic_handler&#34; target=&#34;_blank&#34;&gt;telehandler&lt;/a&gt;&#xA;(long-reach forklift).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&#34;document-image&#34;&gt;&#xA;    &lt;a href=&#34;https://blog.usedbytes.com/2022/03/m0o-boom-part-1/images/telehandler.jpeg&#34;&gt;&#xA;      &lt;img src=&#34;https://blog.usedbytes.com/2022/03/m0o-boom-part-1/images/telehandler_hu_4bb12de308615da7.jpeg&#34; alt=&#34;Telehandler&#34; width=&#34;900&#34; height=&#34;600&#34;&gt;&#xA;    &lt;/a&gt;&#xA;  &lt;/span&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Image credit: Jacquesbotha, &lt;a href=&#34;https://creativecommons.org/licenses/by-sa/4.0&#34; target=&#34;_blank&#34;&gt;CC BY-SA 4.0&lt;/a&gt;, &lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Dieci_Agri_Farmer_Telehandler.jpg&#34; target=&#34;_blank&#34;&gt;via Wikimedia Commons&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A fairly crucial part of a telehandler -&#xA;the thing that makes it a telehandler, really -&#xA;is it&amp;rsquo;s &lt;em&gt;boom&lt;/em&gt;, which the forks (or other tools) are attached to and can lift&#xA;and extend.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Pico PIO Camera</title>
				<link>https://blog.usedbytes.com/2022/02/pico-pio-camera/</link>
				<pubDate>Sat, 19 Feb 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/02/pico-pio-camera/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;This is a lengthy post which goes into lots of detail. The tl;dr is&#xA;that the code is here: &lt;a href=&#34;https://github.com/usedbytes/camera-pico-ov7670&#34; target=&#34;_blank&#34;&gt;https://github.com/usedbytes/camera-pico-ov7670&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In this post I&amp;rsquo;ll describe how I went about connecting an OV7670 camera module&#xA;to the Raspberry Pi Pico that drive&amp;rsquo;s my&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/&#34; target=&#34;_blank&#34;&gt;Pi Wars at Home 2022&lt;/a&gt;&#xA;&amp;lsquo;bot&#xA;&lt;a href=&#34;https://blog.usedbytes.com/tags/m0o&amp;#43;/&#34;&gt;M0o+&lt;/a&gt;.&#xA;It&amp;rsquo;s all wrapped up in a separate library which should be easy-ish to&#xA;incorporate in other projects.&lt;/p&gt;&#xA;&lt;p&gt;Trying to get this camera working was the very first thing I did, as a sort of&#xA;Pico &amp;ldquo;feasibility study&amp;rdquo; to decide if entering a Pico-based robot was practical.&#xA;Initially I just bit-banged the interface and did get &lt;em&gt;some&lt;/em&gt; results without&#xA;too much effort, but things have escalated a fair amount since then:&lt;/p&gt;</description>
			</item>
			<item>
				<title>M0o&#43;&#39;s Chassis</title>
				<link>https://blog.usedbytes.com/2022/01/m0o-s-chassis/</link>
				<pubDate>Sun, 23 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2022/01/m0o-s-chassis/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://blog.usedbytes.com/tags/m0o&amp;#43;/&#34;&gt;M0o+&lt;/a&gt; is my Raspberry Pi Pico-based robot entry for&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/&#34; target=&#34;_blank&#34;&gt;Pi Wars at Home 2022&lt;/a&gt;.&#xA;This post details what I&amp;rsquo;ve settled on for the basic chassis of the robot.&lt;/p&gt;&#xA;&lt;h1 id=&#34;rebound&#34;&gt;Rebound &lt;a class=&#34;document__back-to-top&#34; href=&#34;#main-content&#34; aria-label=&#34;Back to top&#34;&gt;(top)&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;As I wrote in my &lt;a href=&#34;https://blog.usedbytes.com/2021/11/m0o-pi-wars-at-home-2022/&#34;&gt;initial post&lt;/a&gt;&#xA;for the project, I had originally hoped to re-purpose an ancient RC car chassis to be the basis of my robot.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&#34;document-image&#34;&gt;&#xA;    &lt;a href=&#34;https://blog.usedbytes.com/2022/01/m0o-s-chassis/images/rebound.jpg&#34;&gt;&#xA;      &lt;img src=&#34;https://blog.usedbytes.com/2022/01/m0o-s-chassis/images/rebound.jpg&#34; alt=&#34;Rebound RC car&#34; width=&#34;900&#34; height=&#34;675&#34;&gt;&#xA;    &lt;/a&gt;&#xA;  &lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sadly, it became apparent that all of the things which made it&#xA;so much fun as an RC car when I was a child, made it almost entirely unsuitable&#xA;for Pi Wars.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ESP32 WiFi/Bluetooth Bridge</title>
				<link>https://blog.usedbytes.com/2021/12/esp32-wifi/bluetooth-bridge/</link>
				<pubDate>Sun, 26 Dec 2021 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2021/12/esp32-wifi/bluetooth-bridge/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://blog.usedbytes.com/tags/m0o&amp;#43;/&#34;&gt;M0o+&lt;/a&gt; is my Raspberry Pi Pico-based robot entry for&#xA;&lt;a href=&#34;https://piwars.org/2022-competition/&#34; target=&#34;_blank&#34;&gt;Pi Wars at Home 2022&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A Pi Wars robot needs to be remote-controllable, and network connectivity is&#xA;extremely useful for telemetry, debugging etc.&#xA;As the Pico doesn&amp;rsquo;t natively have any kind of wireless connectivity, I&amp;rsquo;m using&#xA;an &lt;a href=&#34;https://www.espressif.com/en/products/socs/esp32&#34; target=&#34;_blank&#34;&gt;ESP32&lt;/a&gt; to provide that functionality.&#xA;It connects to a bluetooth gamepad, relaying controller input to the Pico, and&#xA;acts as a WiFi access point to provide network connectivity.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Pico serial bootloader</title>
				<link>https://blog.usedbytes.com/2021/12/pico-serial-bootloader/</link>
				<pubDate>Wed, 01 Dec 2021 00:00:00 +0000</pubDate>
				<guid>https://blog.usedbytes.com/2021/12/pico-serial-bootloader/</guid>
				<description>&lt;p&gt;My Pi Wars 2022 entry, &lt;a href=&#34;https://blog.usedbytes.com/2021/11/m0o-pi-wars-at-home-2022/&#34;&gt;M0o+&lt;/a&gt;,&#xA;is powered by a&#xA;&lt;a href=&#34;https://www.raspberrypi.com/products/raspberry-pi-pico/&#34; target=&#34;_blank&#34;&gt;Raspberry Pi Pico&lt;/a&gt;,&#xA;which itself is powered by the &lt;a href=&#34;https://www.raspberrypi.com/products/rp2040/&#34; target=&#34;_blank&#34;&gt;RP2040&lt;/a&gt; chip.&lt;/p&gt;&#xA;&lt;p&gt;The RP2040 has a built-in boot ROM with a USB bootloader, which allows the chip&#xA;to show up as a USB flash drive for uploading code.&#xA;This is usually a very&#xA;convenient interface, making it extremely quick and simple to upload code to&#xA;the device.&lt;/p&gt;&#xA;&lt;p&gt;However, in a Pi Wars robot, I don&amp;rsquo;t want to have to bring the Pico back to my&#xA;computer and plug it in to iterate on the code -&#xA;I see it as essential to be able to download new code to the robot wirelessly&#xA;without needing to touch it.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
