diff --git a/_posts/2025-03-26-March-2025-Meetup.md b/_posts/2025-03-26-March-2025-Meetup.md new file mode 100644 index 0000000000000..48598e14f550a --- /dev/null +++ b/_posts/2025-03-26-March-2025-Meetup.md @@ -0,0 +1,184 @@ +--- +layout: post +title: March 2025 Meetup +--- + +*Hank* shows off his latest doohickey. *Matt* delivers the news roundup. + +## News Round-up + +### Big ticket items + +#### New OpenMV Kickstarter: Two new cameras! + +![OpenMV Kickstarter](../images/2025-03/openmv_kickstarter_650.webp) + +OpenMV has announced a new [Kickstarter for the OpenMV N6 and +AE3](https://www.kickstarter.com/projects/openmv/openmv-n6-and-ae3-low-power-python-programmable-ai-cameras)! +These are both exciting upgrades to the previous generation of OpenMV cams, +using the new +[STM32N6](https://www.st.com/en/microcontrollers-microprocessors/stm32n6-series.html) +and [Alif Ensemble E3](https://alifsemi.com/ensemble-e3-series/), both are +powerful micros and include support for HW accelerated ML - very useful for +image processing! + +There is a lot to talk about with these cameras and co-founder Kwabena Agyeman +has been in many interviews - see the [March OpenMV +newsletter](https://mailchi.mp/e3b7185b4604/7f6kh54q7k-10343192?e=91a7329bf2) +for a list of his appearances, including this interview with Damien: + + + +*Update*: The Kickstarter was fully funded (AU$80K goal) in a couple of days. + +**AU$~130** and **AU$~190** (AE and N6 respectively) + +--- + +#### SparkFun <3 Python & MicroPython + +![SparkFun and MicroPython](../images/2025-03/sparkfun_micropython.jpg) + +SparkFun [recently annouced](https://news.sparkfun.com/13407) two new IoT RedBoards and a bunch of other hardware. More notably - for us at least! - is that they also announced a significant expansion of their software support...[47 new Python libraries that support Python and MicroPython](https://github.com/topics/sparkfun-python)! + +The libraries look to be quite high-quality and are all mip-installable. Great support from SparkFun! + +It's also worth noting that there have been some recent PRs for SparkFun boards... + +## Matt's New Hardware + +None this month (!). + + +## Hardware News + +### STM32U3 series + +![STM32U3](../images/2025-03/stm32u3.jpg) + +ST [announced](https://newsroom.st.com/media-center/press-item.html/p4678.html) +the new +[STM32U3](https://www.st.com/en/microcontrollers-microprocessors/stm32u3-series.html) +range of microcontrollers. Super low-power (10μA/MHz, twice the efficiency of +the U5) but also powerful - a 96MHz Cortex-M33 core with 256KB RAM and up to 1MB +flash. Throw in a couple of I3C interfaces low-power comparators, ULP timers and +up to 82 GPIO and these are amazingly *meaty* for the power they consume. + +### Seeed Studio XIAO 6-Channel Wifi DC Relay + +![Seeed Studio 6-Channel Wifi Relax](../images/2025-03/seeed_6xrelay.png) + +Seeed Studio released a [6-channel +Relay](https://www.seeedstudio.com/6-Channel-Wi-Fi-5V-DC-Relay-p-6373.html?goal=0_4b071a49e3-d3d210d176-49049373) +powered by an ESP32-C6 XIAO. Handy piece of kit! + +**US$20** + +### Silicon Labs announces tiny BG29 microcontroller + +![Silicon Labs BG29](../images/2025-03/silabsbg29.png) + +For "Smart Teeth"! + +[Silicon Labs +reveal](https://www.hackster.io/news/silicon-labs-unveils-the-tiny-bg29-bluetooth-low-energy-microcontrollers-for-smart-teeth-and-more-ad5a9b640c37) +their **very** small (2.6x2.8mm) BLE-capable Cortex-M33 BG29. And it packs a +punch, 77MHz, 256KB RAM, 1MB flash. They seem to be aiming it at medical +applications but it looks generally useful to me! + +No pricing yet. + +--- + +## Other news + +### You Should Build a Robot (MicroPython and MicroProcessors) + +[Sage Elliott](https://x.com/sagecodes) presented a compelling argument as to +why you should build your own robot at PyCascades in Portland. With MicroPython, +naturally! + + + +### Pin IO performance - for Retro Computing goodness + +![XSK Cartridge Reader (before)](../images/2025-03/retro_cartridge_dumper1.jpg) + + +[XSK](https://fosstodon.org/@xsk@treehouse.systems) started investigating Pin IO performance, trying to figure out how to optimise code in MicroPython for bitbanging. Turns out he was trying to create a reader for SNES cartridge ROMs - so IO perf was important! I pointed him toward Damien's [Writing fast and efficient MicroPython](https://www.youtube.com/watch?v=hHec4qL00x0) and threw in a couple of other suggestions and off XSK went, delving into using mem32, thumb assembly and a few other methods. + +Long story short, the time to read a 4MB cartridge was reduced from >2 *hours* to under 10 *minutes*. And it's [likely that it could be improved further](https://fosstodon.org/@xsk@treehouse.systems/114172059737285778). + +Fast transfers using Dupont wires and breadboards rarely end well - and so signal integrity also needed to be resolved: + +![XSK Cartridge Reader (after)](../images/2025-03/retro_cartridge_dumper2.jpg) + +Really interesting project! + +### Important LVGL bindings MR merged + +![LVGL Bindings](../images/2025-03/mp_lvgl.png) + +The long-standing [!341 +MR](https://github.com/lvgl/lv_binding_micropython/pull/341) in the LVGL +Bindings repository was merged recently! Although deep in the weeds, this MR +lays the foundation for an easier integration of LVGL and MicroPython by +allowing the bindings to co-exist more smoothly as a standard C user module. + +It's still challenging to build MicroPython with LVGL support but this is a huge +step in the right direction to simplifying the process. Stay tuned! + +### Pocket Spectrometer Update + +![Pocket Spectrometer](../images/2024-12/pocket_spectrometer.jpg) + +Chinna Devarapu updated - v2 - his excellent [Pocket +Spectrometer](https://bsky.app/profile/chinnadevarapu.bsky.social/post/3ljy7a3es2c2t). + +The update makes it *much* easier to assemble the device with refined 3D prints +and better connections between the parts. + +### Adding a battery to my Tulip + +![Tulip Batter](../images/2025-03/tulip_battery.jpg) + +[Andy](https://fosstodon.org/@ely_peddler@hachyderm.io) has a neat write-up on +how he [added a battery to his +Tulip](https://elypeddler.wordpress.com/2025/03/11/adding-a-battery-to-my-tulip/). + +An easy hardware mod - and the software already accommodates the feature! + +### Carlos Escobar Brings MicroPython to the MSX Family + +![MicroPython on the MSX](../images/2025-03/msx.png) + +Carlos Escobar [replaced the Z80 of the retro Japanese computer MSX with an +RP2040](https://www.hackster.io/news/carlos-escobar-brings-micropython-to-the-msx-family-by-swapping-the-z80-for-a-raspberry-pi-pico-118f8f1a968b). +It's a lovely - and technically *very* interesting! - update to the ye olde +computer. + +--- + +## Final Thoughts + +### Animation vs. Coding + + + +### DeepSeek hallucinates about Peter Hinch + +![Peter Hinch Hallucination](../images/2025-03/peter_h.png) + +In a [Github +Discussion](https://github.com/peterhinch/micropython-samples/issues/46), +MichaelMuckKremtz notes that his recent interaction with the LLM DeepSeek +informed him all about a stepper motor driver that long-time MicroPython +contributor Peter Hinch wrote. Which doesn't exist and never happened! + +### Intellisense Knows What We Need + +![Intellisense Knows What We Need](../images/2025-03/intellisense.webp) + +### Thanks folks! + +![MidJourney fun](../images/2025-03/snakes_taking_photos.png) diff --git a/images/2025-03/intellisense.webp b/images/2025-03/intellisense.webp new file mode 100644 index 0000000000000..b473ef307c342 Binary files /dev/null and b/images/2025-03/intellisense.webp differ diff --git a/images/2025-03/mp_lvgl.png b/images/2025-03/mp_lvgl.png new file mode 100644 index 0000000000000..61f09ca5d4f07 Binary files /dev/null and b/images/2025-03/mp_lvgl.png differ diff --git a/images/2025-03/msx.png b/images/2025-03/msx.png new file mode 100644 index 0000000000000..8093731da7fc9 Binary files /dev/null and b/images/2025-03/msx.png differ diff --git a/images/2025-03/openmv_kickstarter_650.webp b/images/2025-03/openmv_kickstarter_650.webp new file mode 100644 index 0000000000000..3ab603ce927d6 Binary files /dev/null and b/images/2025-03/openmv_kickstarter_650.webp differ diff --git a/images/2025-03/peter_h.png b/images/2025-03/peter_h.png new file mode 100644 index 0000000000000..97958936e54a8 Binary files /dev/null and b/images/2025-03/peter_h.png differ diff --git a/images/2025-03/retro_cartridge_dumper1.jpg b/images/2025-03/retro_cartridge_dumper1.jpg new file mode 100644 index 0000000000000..c1b8b2eae87c8 Binary files /dev/null and b/images/2025-03/retro_cartridge_dumper1.jpg differ diff --git a/images/2025-03/retro_cartridge_dumper2.jpg b/images/2025-03/retro_cartridge_dumper2.jpg new file mode 100644 index 0000000000000..df88eae00ea1c Binary files /dev/null and b/images/2025-03/retro_cartridge_dumper2.jpg differ diff --git a/images/2025-03/seeed_6xrelay.png b/images/2025-03/seeed_6xrelay.png new file mode 100644 index 0000000000000..1b36f93bcdd40 Binary files /dev/null and b/images/2025-03/seeed_6xrelay.png differ diff --git a/images/2025-03/silabsbg29.png b/images/2025-03/silabsbg29.png new file mode 100644 index 0000000000000..b691b70fb90a8 Binary files /dev/null and b/images/2025-03/silabsbg29.png differ diff --git a/images/2025-03/snakes_taking_photos.png b/images/2025-03/snakes_taking_photos.png new file mode 100644 index 0000000000000..aab6a34af2332 Binary files /dev/null and b/images/2025-03/snakes_taking_photos.png differ diff --git a/images/2025-03/sparkfun_micropython.jpg b/images/2025-03/sparkfun_micropython.jpg new file mode 100644 index 0000000000000..abcda30f5ba7c Binary files /dev/null and b/images/2025-03/sparkfun_micropython.jpg differ diff --git a/images/2025-03/stm32u3.jpg b/images/2025-03/stm32u3.jpg new file mode 100644 index 0000000000000..00d9ba2f26440 Binary files /dev/null and b/images/2025-03/stm32u3.jpg differ diff --git a/images/2025-03/tulip_battery.jpg b/images/2025-03/tulip_battery.jpg new file mode 100644 index 0000000000000..14b83abb6d3f0 Binary files /dev/null and b/images/2025-03/tulip_battery.jpg differ