eupolicy.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
This Mastodon server is a friendly and respectful discussion space for people working in areas related to EU policy. When you request to create an account, please tell us something about you.

Server stats:

192
active users

#circuitpython

1 post1 participant0 posts today
Paul Cutler<p>Missed the live episode of The Bootloader last Friday and don't have time to watch a video? Take the show on the go with today's new episode - a replay of our live <a href="https://hachyderm.io/tags/CircuitPythonDay2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPythonDay2025</span></a> episode. Tod and I each share a few of our favorite things from the <a href="https://hachyderm.io/tags/CircuitPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPython</span></a> community over the last year. <a href="https://www.thebootloader.net/blog/2025/08/22/circuitpython-day-2025-special-edition/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">thebootloader.net/blog/2025/08</span><span class="invisible">/22/circuitpython-day-2025-special-edition/</span></a></p>
Mike Coats 🏴󠁧󠁢󠁳󠁣󠁴󠁿🇪🇺🌍♻️<p>My latest blog post: Installing CircuitPython on a Freenove ESP32-S3-WROOM CAM Board </p><p><a href="https://mikecoats.com/circuitpython-on-freenove-esp32/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mikecoats.com/circuitpython-on</span><span class="invisible">-freenove-esp32/</span></a></p><p>In celebration of CircuitPython Day 2025, here's how I installed CircuitPython on one of my favourite, but unsupported, boards, the Freenove ESP32-S3-WROOM CAM Board.</p><p><a href="https://mikecoats.social/tags/circuitPythonDay2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>circuitPythonDay2025</span></a> <a href="https://mikecoats.social/tags/circuitPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>circuitPython</span></a> <a href="https://mikecoats.social/tags/embedded" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>embedded</span></a> <a href="https://mikecoats.social/tags/esp32" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>esp32</span></a> <a href="https://mikecoats.social/tags/espressif" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>espressif</span></a> <a href="https://mikecoats.social/tags/freenove" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>freenove</span></a> <a href="https://mikecoats.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a></p>
Tod Kurt (todbot)<p>Very excited that Paul &amp; I as <span class="h-card" translate="no"><a href="https://www.circuitpythonshow.com/@thebootloader" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>thebootloader</span></a></span> get to be a part of <a href="https://mastodon.social/tags/CircuitPythonDay2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPythonDay2025</span></a> tomorrow! We’ll be showing some fun projects w/ the Fruit Jam tiny computer, showing cool <a href="https://mastodon.social/tags/CircuitPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPython</span></a> demos, and talking about techniques to develop CirPy projects faster. Tomorrow Friday @ 1p PT / 4p ET! <a href="https://mastodon.social/@blitzcitydiy/115015652023096785" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/@blitzcitydiy/</span><span class="invisible">115015652023096785</span></a></p>
Liz [BlitzCityDIY]<p>this friday is <a href="https://mastodon.social/tags/CircuitPythonDay2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPythonDay2025</span></a> - we've got a lot of fun videos and livestreams planned at <span class="h-card" translate="no"><a href="https://mastodon.cloud/@adafruit" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>adafruit</span></a></span> that will be airing all day. check out this blog post for the schedule: <a href="https://blog.adafruit.com/2025/08/11/circuitpython-day-is-august-15-2025-2/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.adafruit.com/2025/08/11/c</span><span class="invisible">ircuitpython-day-is-august-15-2025-2/</span></a> <a href="https://mastodon.social/tags/circuitpython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>circuitpython</span></a></p>
gallaugher<p>New lesson: How to use an ili9341 TFT display with a Raspberry Pi Pico &amp; <a href="https://mastodon.world/tags/CircuitPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPython</span></a> Configuration code, demo code, and more:. Bought a bunch of these displays to use for Fall's class. Enjoy! <a href="https://youtu.be/2UDoitOSZXU" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/2UDoitOSZXU</span><span class="invisible"></span></a></p>
Simple DIY Electronic Music Projects<p><strong>Pico Touch Board&nbsp;Audio</strong></p><p>I wanted to go back to my <a href="https://diyelectromusic.com/2025/03/02/pico-touch-board-pcb-design/" rel="nofollow noopener" target="_blank">Pico Touch Board PCB&nbsp;Design</a> and see if there was a way to make it more stand-alone. The original design was to make it a MIDI controller, but that isn’t the only option.</p><p><a href="https://makertube.net/w/tADSyrPrUdR1mx7yKRXZTC" rel="nofollow noopener" target="_blank">https://makertube.net/w/tADSyrPrUdR1mx7yKRXZTC</a></p><p><em><strong>Warning!</strong> I strongly recommend using old or second hand equipment for your experiments.&nbsp; I am not responsible for any damage to expensive instruments!</em></p><p>These are the key Arduino tutorials for the main concepts used in this project:</p><ul><li><a href="https://diyelectromusic.com/2025/03/02/pico-touch-board-pcb-design/" rel="nofollow noopener" target="_blank">Pico Touch Board PCB&nbsp;Design</a></li><li><a href="https://diyelectromusic.com/2021/07/11/arduino-pwm-output-filter-circuit/" rel="nofollow noopener" target="_blank">Arduino PWM Output Filter&nbsp;Circuit</a></li></ul><p>If you are new to microcontrollers, see the&nbsp;<a href="https://diyelectromusic.wordpress.com/getting-started/" rel="nofollow noopener" target="_blank">Getting Started</a> pages.</p><p><strong>Parts list</strong></p><ul><li><a href="https://diyelectromusic.com/2025/03/02/pico-touch-board-pcb-build-guide/" rel="nofollow noopener" target="_blank">Pico Touch Board PCB</a> – built</li><li>Resistors: 1x 220Ω, 1x 1K</li><li>Capacitor: 1x 100nF ceramic, 1x 22uF electrolytic</li><li>Breadboard and jumper wires</li></ul><p><strong>The Circuit</strong></p><p>Most of the GPIO are linked out to the touch pads, but the three analog inputs are still available. They are added on to the header on the right hand side of the board at the top, so we can use one of these as an audio output.</p><p>Initially, I thought of connecting it to an 8Ω speaker. If I was using an Arduino then I’d use a 220Ω resistor in series to limit the current to less than 20mA. But as I’m using a Pico, the maximum current has to be a lot less. I seem to recall it is a little complicated, and there are some options, but I have a figure of around 4mA that I tend to work to. It is also running at 3.3V, which means that it would need an in series resistor of 3.3 / 0.004 = 825Ω. This would work, but the speaker will be really quiet!</p><p>So I ditched that idea (there is a software reason too, but I’ll talk about that in a moment) and went straight to a PWM output with a low-pass filter to try to give me some vaguely useful as a line-out signal.</p><p>I’ve not done the calculations, but instead went a bit “hand-wavy”, combing a 1K and 220Ω resistor to drop the voltage, along with a 100nF capacitor. I’ve also added a 22uF capacitor to remove the DC bias.</p><p>That seems to give me something useful, but as you can see from the trace below of a square wave PWM output, there is a lot of room for improvement!</p><p><strong>The Code</strong></p><p>I wanted to stick with Circuitpython, so my initial thought was to use simpleio.tone() to generate a tone based on a frequency from an IO pin. However, this has the problem that the code is blocking whilst the tone is playing which isn’t very useful.</p><p>Instead I went straight to synthio. It turns out that using synthio was actually a lot easier than the “simple” simpleio…</p><p>Here is the basic code to generate an ASR-shaped square wave on a PWM audio output on GPIO 28 based on the touch pads as input.</p><pre>import board<br>import touchio<br>import synthio<br>import audiopwmio<br>from adafruit_debouncer import Debouncer, Button<br><br>audio = audiopwmio.PWMAudioOut(board.GP28)<br>synth = synthio.Synthesizer(sample_rate=22050)<br>audio.play(synth)<br>synth.envelope = synthio.Envelope(attack_time=0.1, release_time=0.6, sustain_level=1.0)<br><br>touchpins = [<br> board.GP2, board.GP3, board.GP4, board.GP5,<br> board.GP6, board.GP7, board.GP8, board.GP9,<br> board.GP10, board.GP11, board.GP12, board.GP13,<br> board.GP14, board.GP15, board.GP16, board.GP17,<br> board.GP18, board.GP19, board.GP20, board.GP21, board.GP22<br>]<br><br>THRESHOLD = 1000<br>touchpads = []<br>for pin in touchpins:<br> t = touchio.TouchIn(pin)<br> t.threshold = t.raw_value + THRESHOLD<br> touchpads.append(Button(t, value_when_pressed=True))<br><br>while True:<br> for i in range (len(touchpads)):<br> t = touchpads[i]<br> t.update()<br> <br> if t.rose:<br> synth.press(60+i)<br><br> if t.fell:<br> synth.release(60+i)</pre><p><strong>Battery Power</strong></p><p>One last thing I wanted to explore was if it was possible to power the touchboard with batteries. I left in a number of power options, so for this one I’m using the 5V/GND pin header. I’ve included a couple of capacitors for smoothing, and need to add the 1N5817 diode as shown below.</p><p>This requires the following additional components:</p><ul><li>1x 1N5817 Schottky diode.</li><li>1x 100nF ceramic capacitor.</li><li>1x 47uF electrolytic capacitor.</li><li>Jumper wires.</li><li>3 or 4 battery box.</li></ul><p>The 5V/GND header pins connect to the Raspberry Pi Pico’s VSYS pin via the Schottky diode. The 1N5817 has a typical voltage drop of 0.45V, so combined with the Raspberry Pi’s accepted input voltage of 1.8V to 5.5V this means that ideally two or three AA batteries (at 1.5V each) would work. Four 1.2V rechargeables might be an option too.</p><p>It might be possible to get away with four 1.5V AAs, but that would give an input voltage of just over 5.5V, so I think that is probably pushing things too far. It might be a good use for some spent AAs though that are no longer reading a full 1.5V…</p><p>One of the downsides of battery power is that the touch works best when your fingers are at the same GND potential as the board. It works best if the GND pin of the (unpopulated) barrel jack is touched when using the board.</p><p><strong>Closing Thoughts</strong></p><p>With hindsight it would have been useful to have included a simple PWM output stage on the original board, but it is relatively straight forward to add one.</p><p>It might even be worth me making an add-on board that will connect to the header pins of the power and analog pins containing the simple passive filter components.</p><p>What is pretty impressive though, is how easy it is to use synthio with Circuitpython.</p><p>Kevin</p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/circuitpython/" target="_blank">#circuitpython</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/pwm/" target="_blank">#pwm</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/raspberry-pi-pico/" target="_blank">#raspberryPiPico</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/synthio/" target="_blank">#synthio</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/touch/" target="_blank">#touch</a></p>
Andy Warburton ❌❌❌<p>Finally calling this done! Say hello to the HellSplit a hand-wired, asymmetric 40% split <a href="https://mastodon.social/tags/ortholinear" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ortholinear</span></a> keyboard with vertical column stagger and two rotary encoders. Powered by a pair of Raspberry Pi Pico's <a href="https://mastodon.social/tags/RP2040" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RP2040</span></a> and <a href="https://mastodon.social/tags/KMK" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>KMK</span></a> firmware</p><p><a href="https://mastodon.social/tags/mechanicalkeyboards" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mechanicalkeyboards</span></a> <a href="https://mastodon.social/tags/splitkeyboard" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>splitkeyboard</span></a> <a href="https://mastodon.social/tags/ergo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ergo</span></a> <a href="https://mastodon.social/tags/otho" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>otho</span></a> <a href="https://mastodon.social/tags/mechkb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mechkb</span></a> <a href="https://mastodon.social/tags/splitkb" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>splitkb</span></a> <a href="https://mastodon.social/tags/pipico" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pipico</span></a> <a href="https://mastodon.social/tags/raspberypipico" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>raspberypipico</span></a> <a href="https://mastodon.social/tags/40percent" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>40percent</span></a> <a href="https://mastodon.social/tags/handwired" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>handwired</span></a> <a href="https://mastodon.social/tags/circuitpython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>circuitpython</span></a> <span class="h-card" translate="no"><a href="https://fosstodon.org/@circuitpython" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>circuitpython</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@RaspberryPi" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>RaspberryPi</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@rpimag" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>rpimag</span></a></span></p>
Tod Kurt (todbot)<p>Someone asked how play multiple simultaneous CD-quality WAVs from an SD card to I2S DAC on ESP32 in CircuitPython. Turns out: possible! Can get a bit glitchy if doing USB stuff tho <a href="https://www.youtube.com/watch?v=97OA6L9PLCg" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">youtube.com/watch?v=97OA6L9PLCg</span><span class="invisible"></span></a><br>code: <a href="https://github.com/todbot/circuitpython-tricks/blob/main/larger-tricks/wavmix_s2mini_i2s_sd.py" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/todbot/circuitpytho</span><span class="invisible">n-tricks/blob/main/larger-tricks/wavmix_s2mini_i2s_sd.py</span></a><br><a href="https://mastodon.social/tags/CircuitPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPython</span></a> <a href="https://mastodon.social/tags/i2s" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>i2s</span></a> <a href="https://mastodon.social/tags/esp32" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>esp32</span></a></p>
Tod Kurt (todbot)<p>I wrote a little tool to show what "board.*" defines for a <a href="https://mastodon.social/tags/CircuitPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CircuitPython</span></a> build. I got tired for always trawling through ports/*/boards for it. It's called "cirpy-showpins" and its output looks like the below. I used <a href="https://mastodon.social/tags/Perl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Perl</span></a> originally but here's it in Python: <a href="https://gist.github.com/todbot/e91853b9d5e021405bb9a85081a39163" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gist.github.com/todbot/e91853b</span><span class="invisible">9d5e021405bb9a85081a39163</span></a></p>

For the last month or so I've been working on seeing how far I can push CircuitPython into emulating a TB-303 bass synth. With the new audiofilters library, you can "stack" filters to make two two-pole filters seem like a 4-pole filter, getting close to that squelchy sound we need. My efforts so far:
youtube.com/watch?v=1AflpXbEIno
#circuitpython #tb303 #synthdiy #raspberrypipico

I should be socializing with our host here in Aarhus but instead I've been doing some #circuitpython crimes. What if we could run synthio on desktop computers? It… sorta works? but only if you live code your synthio at the repl. and pitches seem wrong. and it clicks when changing notes.

github.com/adafruit/circuitpyt

aud.py: gist.github.com/jepler/6785f1d

$ cd ports/unix
$ make VARIANT=sound
$ ./build-sound/micropython
>>> import aud
>>> i = 72
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
>>> aud.s.release_all_then_press(i := i + 1)
GitHubComparing adafruit:main...jepler:unix-sound-sdl · adafruit/circuitpythonCircuitPython - a Python implementation for teaching coding with microcontrollers - Comparing adafruit:main...jepler:unix-sound-sdl · adafruit/circuitpython

My Raspberry Pi Pico 2-based Dub siren now has a simple synth engine in addition to a sample engine, so its sounds now range from classic siren sounds to air horns and vocal snippets.

In this short video I show off the synth engine: 🎹🔈🎶

v.basspistol.org/w/qmjJ3TY8Q8m

thx again 2 @todbot

And if you haven't seen it yet check out this video for yesterday's exploration of the sample engine: 📯🔈🎶

v.basspistol.org/w/pS4PrN9Wjo5