diff --git a/README.md b/README.md index 45c202063a374..211a47e7282e2 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,9 @@ In a few minutes you'll be set up with a minimal, responsive blog like the one b ## Quick Start +> Note! To view locally: `docker run -it --rm -v "$PWD":/usr/src/app -p +> "4000:4000" starefossen/github-pages` + ### Step 1) Fork Jekyll Now to your User Repository Fork this repo, then rename the repository to yourgithubusername.github.io. diff --git a/_config.yml b/_config.yml index d4916414195c9..828f362159913 100644 --- a/_config.yml +++ b/_config.yml @@ -3,30 +3,33 @@ # # Name of your site (displayed in the header) -name: Your Name +name: Melbourne MicroPython Meetup # Short bio or description (displayed in the header) -description: Web Developer from Somewhere +description: A monthly meetup for MicroPython Enthusiasts # URL of your avatar or profile pic (you could use your GitHub profile pic) -avatar: https://raw.githubusercontent.com/barryclark/jekyll-now/master/images/jekyll-logo.png +avatar: https://raw.githubusercontent.com/MelbourneMicroPythonMeetup/MelbourneMicroPythonMeetup.github.io/master/images/micropythonlogo.png # # Flags below are optional # +# Allows publishing posts with a future date +future: true + # Includes an icon in the footer for each username you enter footer-links: dribbble: email: facebook: flickr: - github: barryclark/jekyll-now + github: MelbourneMicroPythonMeetup/MelbourneMicroPythonMeetup.github.io instagram: linkedin: pinterest: - rss: # just type anything here for a working RSS icon - twitter: jekyllrb + rss: feed.xml + twitter: stackoverflow: # your stackoverflow profile, e.g. "users/50476/bart-kiers" youtube: # channel/ or user/ googleplus: # anything in your profile username that comes after plus.google.com/ @@ -37,11 +40,11 @@ footer-links: disqus: # Enter your Google Analytics web tracking code (e.g. UA-2110908-2) to activate tracking -google_analytics: +google_analytics: UA-122093632-1 # Your website URL (e.g. http://barryclark.github.io or http://www.barryclark.co) # Used for Sitemap.xml and your RSS feed -url: +url: http://MelbourneMicroPythonMeetup.github.io # If you're hosting your site at a Project repository on GitHub pages # (http://yourusername.github.io/repository-name) diff --git a/_posts/2014-3-3-Hello-World.md b/_posts/2014-3-3-Hello-World.md deleted file mode 100644 index d4665b6d18e9e..0000000000000 --- a/_posts/2014-3-3-Hello-World.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: post -title: You're up and running! ---- - -Next you can update your site name, avatar and other options using the _config.yml file in the root of your repository (shown below). - -![_config.yml]({{ site.baseurl }}/images/config.png) - -The easiest way to make your first post is to edit this one. Go into /_posts/ and update the Hello World markdown file. For more instructions head over to the [Jekyll Now repository](https://github.com/barryclark/jekyll-now) on GitHub. \ No newline at end of file diff --git a/_posts/2018-10-24-October-2018-Meetup.md b/_posts/2018-10-24-October-2018-Meetup.md new file mode 100644 index 0000000000000..1e2ca37478366 --- /dev/null +++ b/_posts/2018-10-24-October-2018-Meetup.md @@ -0,0 +1,40 @@ +--- +layout: post +title: October 2018 meetup +--- + +Matt presented the usual news roundup. + +## News: Matt Trentini +* The [OHS Badge](https://oshwabadge2018.github.io/) is an interesting, MicroPython-driven badge with E-ink developed for the [OHS conference](https://2018.oshwa.org/) attendees + * Now available on [Tindie](https://www.tindie.com/products/pdp7/open-hardware-summit-2018-badge/) +* The [Blyst Nano](https://www.crowdsupply.com/i-syst/blyst-nano), a tiny NRF52 board, is seeking funding on Crowd Supply + * There is an NRF52 port of MicroPython, shouldn't take much tweaking to run on this module +* The [ESP32-CAM](https://www.seeedstudio.com/ESP32-CAM-Development-Board-with-camer-p-3153.html), a small ESP32-powered 2MP camera module is now available + * Should run standard MicroPython though there's currently no known camera driver that would work... +* The [Air602](https://www.seeedstudio.com/Air602-WiFi-Module-p-3139.html) is a Cortex-M3 micro with wifi support crammed into a _tiny_ castellated module + * No MicroPython port yet and could be difficult as there is a lack of documentation + * Especially remarkable for the low price (<$2) +* Espressif announced their support for [Alexa on ESP32](https://www.espressif.com/en/news/Alexa%20on%20ESP32) + * Makes it easier to create Alexa skills for ESP32. Currently just C-API support and only on Lyra boards. +* Bluetooth update: Matt has tried to pull together all the individual parties working on MicroPython Bluetooth API's but it's _difficult_... +* Make: Electronics 2018 Humble Book Bundle was a good-value set of books for budding electronics enthusiasts - but it's expired now! Sorry if you missed out. +* M5Stack [M5Stick](https://www.aliexpress.com/store/product/M5Stack-Official-New-M5Stick-Mini-Development-Kit-ESP32-1-3-OLED-80mAh-Battery-Inside-Buzzer-IR/3226069_32947692973.html?spm=a2g1x.12024536.productList_5885011.pic_0) first-batch announced + * ESP32 with small OLED, battery and optional accelerometer. Small, neat and cheap. +* [TinyPICO](http://tinypico.com/) update: Rev 4 just assembled + * Improved WiFi (3D antenna) and APA102 on-board now. Experimenting with adding PSRAM. Small, _very_ capable PICO ESP32 dev board! +* [MicroPython documentation](https://docs.micropython.org) update + * Big improvement: Damien reorganised the documentation so it's no longer port-centric + * Now the documentation is generic-first with links to port-specific docs + * Should encourage more generic implementations + * Matt is personally keen to begin the ESP32 documentation effort... +* UI libraries + * We have the [Loboris port](https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo) and Peter Hinch's [micropython-nano-gui](https://github.com/peterhinch/micropython-nano-gui) but there's room for improvement here + * Matt is considering working on a MicroPython GUI library - particularly to support the 320x240 display of the M5Stack + * If you'd like to help out please get in touch! +* Python (not Micro) update + * 3.7.1 and 3.6.7 were released + + + + diff --git a/_posts/2018-11-28-November-2018-Meetup.md b/_posts/2018-11-28-November-2018-Meetup.md new file mode 100644 index 0000000000000..50a4fe6716638 --- /dev/null +++ b/_posts/2018-11-28-November-2018-Meetup.md @@ -0,0 +1,86 @@ +--- +layout: post +title: November 2018 meetup +--- + +**Matt** presented the usual news roundup. +**Lachlan** and **Brian** discussed the _Parallax Propeller 2_, a powerful microcontroller with some unique characteristics particularly well suited to concurrent solutions. +It doesn't - yet - run MicroPython but it could be a good fit for a port. We were fortunate enough to see a demo on one of the first 10 'glob top' chips. +**Damien** explained how to use the `_thread` module, recently overhauled on the ESP32 port. + +## News: Matt Trentini +* Congrats to Damien + * Recently a father for the second time! +* [Time to Say Goodbye to Arduino and Go On to Micropython/Adafruit Circuitpython?](https://www.youtube.com/watch?v=m1miwCJtxeM&t=3s) + * Very popular video by Andreas Spiess that compared Arduino and MicroPython + * Matt and Damien to supply some content for a follow-up video +* [Python will be the official programming language for education in France](https://twitter.com/nnja/status/1062621193696612352?lang=en) +* Miscellaneous + * [CircuitPython 4.0.0 alpha 3](https://forums.adafruit.com/viewtopic.php?f=60&t=142379) + * Decent [tutorials with the M5Stack](http://forum.m5stack.com/topic/402/lesson-19-led-bar-mic-lightmusic) + * [Eight MicroPython Lessons](https://itywik.org/2018/10/30/eight-micropython-python-experiments-for-the-esp32/) +* OHS Badge + * Fantastic badge created for the [2018 Open Hardware Summit](https://2018.oshwa.org/). MicroPython, eInk, ESP32, accelerometer, capacitive touch buttons - hacking encouraged! + * [Hackaday.io](https://hackaday.io/project/112222-2018-open-hardware-summit-badge), [Official docs](https://oshwabadge2018.github.io/) + * HUGE thanks to Drew Fustini ([@pdp7](https://twitter.com/pdp7)) for sending me a board, much appreciated Drew! + * ~US$50 on [Tindie](https://www.tindie.com/products/pdp7/open-hardware-summit-2018-badge/) + * [Beetle ESP32](https://www.dfrobot.com/product-1798.html) + * A small, affordable (~US$15) ESP32 board capable of running MicroPython + * [Adafruit Trellis M4](https://www.adafruit.com/product/4020) + * Powerful SAMD51, 192KB RAM, 512KB+8MB flash, accelerometer, great audio support and 4x8 elastomer buttons lit with neopixels + * Runs CircuitPython + * ~US$60 +* [Blyst Nano](https://www.crowdsupply.com/i-syst/blyst-nano) + * A _tiny_ Nordic NRF52832 module; Cortex M4F, BT and 30 GPIO + * ~US$20 +* [wESP32](https://www.crowdsupply.com/silicognition/wesp32) + * ESP32 with Ethernet + POE + * ~US$65 +* [Sensything](https://www.crowdsupply.com/protocentral/sensything) + * Data acquisition board + * ESP32, TI 24bit ADC, QWIIC connectors + * ~US$60 +* [Fomu](https://www.crowdsupply.com/sutajio-kosagi/fomu) + * An FPGA inside your USB port + * Capable of running MicroPython +* [PyLife and PyGo](https://www.kickstarter.com/projects/pycom/pylife-and-pygo-the-most-connected-device-in-the-w) + * Looks to be based on FiPy? Non-cellular and cellular options. + * ESP32, wireless charging, OLED, GPS, touchscreen, accelerometer + * ~US$80 +* [Meadow](https://www.kickstarter.com/projects/meadow/meadow-full-stack-net-standard-iot-platform) + * MicroPython competitor! .NET development on an embedded device. + * 216MHz STM32F7, 16MB RAM, 32MB Flash, ESP32 for wifi + * Feather form-factor + * ~US$70 +* [MAKERphone](https://www.kickstarter.com/projects/albertgajsak/makerphone-an-educational-diy-mobile-phone) + * An amazing DIY cellular phone + * ~US$100 +* [Sipeed MAIX](https://www.indiegogo.com/projects/sipeed-maix-the-world-first-risc-v-64-ai-module#/) + * Affordable - and very feature-rich - **RISC-V** microcontroller + * 400MHz, 8MB RAM, KPU, audio processor, ESP8285 for wifi + * Breakout boards, cameras, all sorts of interesting hardware + * ~US$5 +* Interesting projects + * [Bike helmet signalling](https://twitter.com/Unix_Guru/status/1066050372593164290) + * [SQLite in ESP-IDF](https://github.com/siara-cc/esp-idf) + * [ISS Overhead Check](https://github.com/mrprompt/ISS-Overhead-Check) + * [Flashing MicroPython on Kano Pixel Kit](https://www.instructables.com/id/Flashing-MicroPython-on-Kano-Pixel-Kit/) + * [Snakes on a bookshelf](https://stonecharioteer.gitlab.io/blog/snakes_on_a_bookshelf.html) + * [1024 LED Matrix WiFi Message Board](https://www.hackster.io/ericBcreator/1024-led-matrix-wifi-message-board-with-menu-web-interface-1b2666) +* Other News + * Boochow continues to forge on with his [MicroPython port on bare metal Raspberry Pi](https://github.com/boochow/micropython-raspberrypi) + * [TinyPICO](http://tinypico.com/) development continues + * _Tiny_ board (18x32mm), ESP32 PICO D4, 4MB PSRAM, LiPo charging, 14 GPIO, onboard RGB LED + + + + + + +## Lachlan and Brian on the Parallax Propeller 2 + + + +## Damien George on Threads in MicroPython + + diff --git a/_posts/2018-3-28-March-2018-Meetup.md b/_posts/2018-3-28-March-2018-Meetup.md new file mode 100644 index 0000000000000..e68992f424a10 --- /dev/null +++ b/_posts/2018-3-28-March-2018-Meetup.md @@ -0,0 +1,16 @@ +--- +layout: post +title: March 2018 meetup +--- + +At this meeting Damien discussed a collection of tools that are commonly used to transfer files to a MicroPython board. In no particular order: + +* [rshell](https://github.com/dhylands/rshell) +* [mpfshell](https://github.com/wendlers/mpfshell) +* [WebREPL](https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi) +* [ampy](https://github.com/adafruit/ampy) +* [PyBoard](https://github.com/micropython/micropython/blob/master/tools/pyboard.py) + +Matt gave a brief overview of various hardware, ports and forks in the MicroPython ecosystem. Slides below: + + diff --git a/_posts/2018-5-23-May-2018-Meetup.md b/_posts/2018-5-23-May-2018-Meetup.md new file mode 100644 index 0000000000000..538d063f6be3d --- /dev/null +++ b/_posts/2018-5-23-May-2018-Meetup.md @@ -0,0 +1,12 @@ +--- +layout: post +title: May 2018 meetup +--- + +The May meetup saw some new faces - welcome! + +Damien explained what features were just released in [MicroPython 1.9.4](https://github.com/micropython/micropython/releases/tag/v1.9.4). Spoiler alert: there is a lot of new stuff! + +Matt gave a presentation on his experiments with using the Ultra Low Power coprocessor on the ESP32. It shows a lot of promise in reducting power consumption on this popular micro. Slides below: + + diff --git a/_posts/2018-7-25-July-2018-Meetup.md b/_posts/2018-7-25-July-2018-Meetup.md new file mode 100644 index 0000000000000..f7bf4a033634c --- /dev/null +++ b/_posts/2018-7-25-July-2018-Meetup.md @@ -0,0 +1,31 @@ +--- +layout: post +title: July 2018 meetup +--- + +Guido's big announcement kicked off the meetup with plenty of other topics to wade through. Matt walked through his uPTV project that puts MicroPython to good use. + +## General Topics +* [Guido's announcement](https://mail.python.org/pipermail/python-committers/2018-July/005664.html) that he's stepping down from BDFL duties +* [CircuitPython 3.0.0 release](https://github.com/adafruit/circuitpython/releases/tag/3.0.0) +* Damien, Matt and Nick's upcoming [MPUG](https://wiki.python.org/moin/MelbournePUG) presentation - A Taste of MicroPython +* PyCon AU 2018, where Damien and Matt will be presenting. +* The new [Melbourne MicroPython Meetup Blog](https://melbournemicropythonmeetup.github.io/) was revealed! +* Damien has been publishing [MicroPython Newsletters](https://forum.micropython.org/viewforum.php?f=19&sid=979e398e3b1a13567e753d55f21a0d25) every week or two +* Bluetooth on MicroPython is moving +* [PEP 572](https://www.python.org/dev/peps/pep-0572/)- Assignment Expressions + +## Gaming Devices +* [ODROID-GO](https://www.hardkernel.com/main/products/prdt_info.php?g_code=G152875062626) +* [PocketSprite](https://pocketsprite.com/) +* Adafruit's [tease about their gaming device](https://blog.adafruit.com/2018/05/25/we-are-making-a-circuitpython-based-gaming-platform-adafruit/) + +## Misc +* M5Stack Core and Fire were shared +* Wemos boards + + + + + + diff --git a/_posts/2018-7-9-June-2018-Meetup.md b/_posts/2018-7-9-June-2018-Meetup.md new file mode 100644 index 0000000000000..8f29c0cc5f477 --- /dev/null +++ b/_posts/2018-7-9-June-2018-Meetup.md @@ -0,0 +1,10 @@ +--- +layout: post +title: June 2018 meetup +--- + +On a cold Wednesday in June, Matt shared some MicroPython news and Damien gave a live coding demo on how to wrap a C module so that it can be used from MicroPython. Slides and video below. + + + + diff --git a/_posts/2018-8-29-August-2018-Meetup.md b/_posts/2018-8-29-August-2018-Meetup.md new file mode 100644 index 0000000000000..c45d3edf8892c --- /dev/null +++ b/_posts/2018-8-29-August-2018-Meetup.md @@ -0,0 +1,47 @@ +--- +layout: post +title: August 2018 meetup +--- + +A looong meetup! Matt presented news, a [PyCon AU](https://2018.pycon-au.org/) retrospective. Seon (the [Unexpected Maker](https://unexpectedmaker.com/)) popped in and talked about his Reflow Master amongst other projects. Nick talked about [FuPy](http://fupy.github.io/). Oliver presented about the [wonders of 3D printing](https://docs.google.com/presentation/d/1gJ5BRpnjbcieiIRSvwRsWJeCu8ooFZ09l7NLJGP0GOg), particularly for electronics projects cases. Peter wrapped up with an informative discussion on LoRaWAN. + +## News +* Reported on how [A Taste of MicroPython](https://www.youtube.com/watch?v=eIo5OLSGESo) went at MPUG (in short, well!) +* [PEP 505](https://www.python.org/dev/peps/pep-0505/): None-aware operators + +## HW News +* [Reflow Master](https://www.tindie.com/products/seonr/reflow-master/#specs) +* [M5Stack Camera Module](https://www.aliexpress.com/item/M5Stack-Official-ESP32-WROVER-with-PSRAM-Camera-Module-OV2640-Type-C-Grove-Port-Mini-Camera-Development/32909972455.html) +* [M5STack Bala](https://www.aliexpress.com/item/M5Satck-New-BALA-Car-ESP32-Development-Mini-Electric-Self-balancing-Car-2DC-Motor-with-Encoder-PSRAM/32904033658.html?spm=2114.10010108.1000013.4.15591970TykCoQ&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.90158.0&scm_id=1007.13339.90158.0&scm-url=1007.13339.90158.0&pvid=9da2deb0-4199-417f-b165-b1a0de418ade), self-balancing 'car' +* Small [TTGO ESP32 PICO D4 module](https://www.aliexpress.com/item/TTGO-Micro-32-Wifi-wireless-Bluetooth-Module-ESP32-PICO-D4-IPEX/32870840371.html) +* [SPIDriver](http://spidriver.com/) is shipping + +## PyCon AU Retrospective +### MicroPython talks +* Damien George: [Writing Fast and Efficient MicroPython](https://www.youtube.com/watch?v=hHec4qL00x0&t=7s) +* Matt Trentini: [Asyncio in (Micro)Python](https://www.youtube.com/watch?v=tIgu7q38bUw&t=351s) +* Stacey Morse: [Lighting Macro Photographs with CircuitPython](https://www.youtube.com/watch?v=tIgu7q38bUw&t=351s) +* Brian Daniliko: [Demystifying LoRaWAN with Python](https://www.youtube.com/watch?v=L-fh7PSpPMc) + +#### Lightning talks +* Tim ‘Mithro’ Ansell: [FuPy: FPGAs with MicroPython](https://www.youtube.com/watch?v=BmWLhVMWC9I&t=7m53s) +* Nick Moore: [Rocket Surgery](https://www.youtube.com/watch?v=BmWLhVMWC9I&t=38m28s) +* Andrew Leech: [How to do embedded Device Development better with MicroPython and Jupyter, it’s ready for professional use soooo good pretty please I have lights and live demos so it’ll be a good laugh](https://www.youtube.com/watch?v=rNkbmu4e3MA&t=50m41s) + +See the slides or video, below, for more detail! + + + + + +## 3D printing electronics enclosures +Oliver Robson + + + + + +## LoRaWAN, an introduction +Peter Stone + + diff --git a/_posts/2018-8-6-A-Taste-of-MicroPython.md b/_posts/2018-8-6-A-Taste-of-MicroPython.md new file mode 100644 index 0000000000000..bfb1f128b5ac1 --- /dev/null +++ b/_posts/2018-8-6-A-Taste-of-MicroPython.md @@ -0,0 +1,18 @@ +--- +layout: post +title: A Taste of MicroPython +--- +Damien George, Matt Trentini and Nick Moore presented _A Taste of MicroPython_ at [MPUG](https://wiki.python.org/moin/MelbournePUG) on the 6 August 2018. + +Seemed to be well received by the Melbourne Pythonistas! Plenty of interest and questions as well as much poking and prodding of hardware after the talk. + +Thanks to Ed Schofield and the MPUG crew for being lovely hosts. + +## Overview +Python can be used for a vast range of tasks like web development, data science and machine learning. With MicroPython, embedded development can now be added to the domains in which Python excels. + +Come along and listen to the creator of MicroPython - and two converts! - explain why the language was created and how it manages to run on resource-constrained microcontrollers. Demonstrations will showcase effective applications for the language and explain why MicroPython is compelling in the embedded space. + +Note: There will be time, during or after pizza, to ask questions and tinker with some hardware. Bring a laptop if you'd like to play with a microcontroller! + + diff --git a/_posts/2018-9-26-September-2018-Meetup.md b/_posts/2018-9-26-September-2018-Meetup.md new file mode 100644 index 0000000000000..229786937681b --- /dev/null +++ b/_posts/2018-9-26-September-2018-Meetup.md @@ -0,0 +1,28 @@ +--- +layout: post +title: September 2018 meetup +--- + +Matt gave the usual news roundup. Damien dropped some MicroPython testing knowledge on us. Andrew brought together two favourites: Jupyter and MicroPython. Peter rounded out the presentations with a LoRaWAN demo running over the CCHS gatgeway. + +## News: Matt Trentini +* [OpenMV Cam H7 on Kickstarter](https://www.kickstarter.com/projects/1798207217/openmv-cam-h7-machine-vision-w-micropython) +* MicroPython is [running on the TinyFPGA BX](https://twitter.com/cr1901/status/1043145532779253760) courtesy of the [FuPy Project](https://fupy.github.io/) +* Adafruit is [selling The Things LoRa Gateway](https://www.adafruit.com/product/3943) (US$350) +* [Adafruit CircuitPython 4.0.0 alpha 1 released](https://blog.adafruit.com/2018/09/21/adafruit-circuitpython-4-0-0-alpha-1-released/) +* Note: Mainline MicroPython [supports PSRAM on the ESP32 port](http://micropython.org/download#esp32) +* Hackaday Competition: [Return of the Square Inch Project](https://hackaday.io/contest/160135-the-return-of-the-square-inch-project) +* [TinyPICO announced](http://tinypico.com/)! New ESP32 dev board designed by Melbourne MicroPython Meetup members, Seon and Matt + + + + + +## Testing in MicroPython: Damien George + + +## Jupyter and MicroPython: Andrew Leech + + +## LoRaWAN Demo: Peter Stone + diff --git a/_posts/2019-1-23-January-2019-Meetup.md b/_posts/2019-1-23-January-2019-Meetup.md new file mode 100644 index 0000000000000..0180a53f1c214 --- /dev/null +++ b/_posts/2019-1-23-January-2019-Meetup.md @@ -0,0 +1,144 @@ +--- +layout: post +title: January 2019 meetup +--- + +**Matt** presented the news roundup and **Damien** explained some highlights of the (any day now!) v1.10 release of MicroPython. +We then had presentations from a few members about their projects; **Rafal** talked about _Raven_ his MicroPython-powered R/C handset, **Sean** discussed his WiLED project and **Seon** covered the TinyPICO Tester. + +Apologies to Sean for the lack of a video; my phone ran out of batteries! We'll get Sean to do a follow-up when the project is complete. + +## News: Matt Trentini and Damien George +* There's a new eBook: [MicroPython Programming with the ESP32 and ESP8266](https://randomnerdtutorials.com/micropython-programming-with-esp32-and-esp8266/) + * US$18 + * The same folks - Rui and Sara Santos - also have useful [MicroPython tutorials online](https://randomnerdtutorials.com/getting-started-micropython-esp32-esp8266/) +* [Sony Sprysense](https://developer.sony.com/develop/spresense/) is now available + * No MicroPython port yet + * Interesting specs: CXD5602 Processor, ARM M4F **6 core** 156MHz, 8MB flash, built-in GPS, serious audio support, dedicated camera connector + * Available from [Seeed for US$65](https://www.seeedstudio.com/Spresense-Main-Board-CXD5602-Microcomputer-for-IoT-Application-p-2846.html?utm_source=mailchimp&utm_medium=edm&utm_campaign=bazaar_0117&mc_cid=475999a578&mc_eid=e98e506a83) +* [LoRa with MicroPython on the ESP8266 and ESP32](https://medium.com/gowombat/iot-lora-with-micropython-on-the-esp8266-and-esp32-59d1a4b507ca) + * Really good write-up + * Identified a promising LoRa library, [uPyLora](https://github.com/lemariva/uPyLora) +* Sipeed MAIX RISC-V Module + * Shiping has begun (haven't received mine yet - soon!) + * Already there's a good tutorial on running [MicroPython on the Sipeed MAIX](https://robotzero.one/sipeed-maix-micropython/), including face detection! +* [SenseTemp](https://www.crowdsupply.com/capable-robot-components/sensetemp) + * A feather shield with 4 _accurate_ temperature sensors + * CircuitPython _and_ MicroPython support + * Also available: SenseTemp TEC which adds a peltier device to _control_ temperature as well + * ~US$75 +* [Espressif ESP-EYE](https://www.espressif.com/en/products/hardware/esp-eye/overview) + * ESP32-based camera module + * 8MB RAM, 4MB flash, 2MP Camera, Microphone, Face recognition using [ESP-WHO](https://github.com/espressif/esp-who) + * Not yet released publically, will keep you posted +* [SparkFun LumiDrive LED Driver](https://www.sparkfun.com/products/14779) + * Atmel SAMD21-powered device to control a strand of APA102's + * Sparkfun's foray into Python on embedded devices (CircuitPython) + * ~US$20 +* Dotstar/APA102 Micropython library + * [micropython-dotstar](https://github.com/mattytrentini/micropython-dotstar) + * Pure MicroPython library + * Bill in the [MicroPython Forum](https://forum.micropython.org/viewtopic.php?t=5810) reports that he can update 3000 APA102's in about a second +* Adafruit pixelbuf + * For improved performance, Adafruit are looking to create the `pixelbuf` library that will handle more of the Neopixel/Dotstar update code in C + * See [#884](https://github.com/adafruit/circuitpython/issues/884) for details +* [Adafruit nRF52840 Feather](https://www.adafruit.com/product/4062) + * A new CircuitPython-enabled Feather board based on the Nordic nRF52480 + * M4F 64MHz, 1MB flash, 256 flash, 21 GPIO, 6x 12bit ADC, 12 PWM + * The big feature: BLE, supported by CircuitPython 4 +* [Adafruit CircuitPython 4.0.0 beta 0](https://github.com/adafruit/circuitpython/releases/tag/4.0.0-beta.0) + * Released! +* [nRF52480 Micro Dev Kit USB Dongle](https://github.com/makerdiary/nrf52840-mdk-usb-dongle) + * Neat nRF52840 board that plugs into USB to program + * ~US$13 +* [M5Stack](https://www.aliexpress.com/store/3226069) are releasing peripherals rapidly! + * Particularly grove-based peripherals. Fingerprint sensor, PIR, Joystick, colour sensor etc +* [SuperB](https://www.crowdsupply.com/macchina/superb) + * Bee-compatible ESP32 board + * Small, US$23 +* [Deep sleep wake-on-touch with ESP32 and MicroPython](http://bushta.net/esp32-deepsleep/) + * Great write-up from Greg; need to feed into the official docs +* [The Giant Board](https://groboards.com/giant-board/) + * Run Linux on a board in the Feather form-factor! + * Microchip SAMA5D2 ARM Cortex-A5 Processor 500MHz, 128MB DDR2 RAM +* [D1 Mini Breakout](https://www.tindie.com/products/brianlough/d1-mini-breakout/) + * Great breakout board (screw terminals and a prototyping area!) for the D1 Mini ESP8266 + * ~US$10 +* [Fomu](https://www.crowdsupply.com/sutajio-kosagi/fomu) + * Has arrived! + * FPGA in the Tomu form-factor (inside a USB port!) + * Lattice ICE40UP5K, runs MicroPython + * ~US$39 +* [I2CDriver](https://www.crowdsupply.com/excamera/i2cdriver) + * From the creator of the [SPIDriver](https://www.crowdsupply.com/excamera/spidriver), this is a similar device to help develop with I2C peripherals + * Great visualization features + * US$29 +* State machine library + * [pysm](https://github.com/pgularski/pysm) was released and MicroPython support was added + * `upip` installable + * Thanks Piotr Gularski! +* [Adafruit Grand Central M4 Express](https://www.adafruit.com/product/4064) + * Arduino Mega form factor - huuuge! + * MicroChip ATSAMD51 Cortex M4 120MHz + * 1MB + 8MB flash, 256KB RAM, 70 GPIO (!) + * Great audio support (onboard DSP) + * US$37.50 +* TFT32 + * [Martin Harizanov](https://harizanov.com/) has been working on IoT devices - and with the ESP32 in particular - for some time + * The [TFT32](https://harizanov.com/wiki/wiki-home/tft32/) is a robust, well-supported ESP32 system with ILI9341 display, touchscreen an ISM radio and more + * Martin isn't using MicroPython but the board could easily be loaded with a standard ESP32 MicroPython binary + * ~US$45 +* Mike Teachman's MicroPython argument snippets + * A super useful series of snippets by Mike showing how to create MicroPython modules in C + * _Many_ different function definitions showing how to get various parameter combinations in and out of a module + * Indispensible if you're wanting to create a MicroPython C module! +* MicroPython v1.10 + * [Out now!](https://github.com/micropython/micropython/tree/v1.10) + * Damien walked through some of the major changes in the 1.10 release + * Nordic NRF ports, ESP32 documentation, *many* bugfixes and improvements + + + + + +## Rafal Wadowski: Raven + +Rafal has been working on a new controller for his quadcopter. The project, dubbed _Raven_ came about because Raf wanted to see if it was possible to make a small, robust R/C controller. Most current models don't survive well when 'thrown into a bag' and it would be better if they were more portable. + +With Raven, gone are the accurate analog joysticks, replaced with circular touchpads and some smart software to make up for the lack of accuracy. An M5Stack sits in the middle of the controller communicating with the standard R/C transmitter using the RMT module of the ESP32 to handle the tight timing constraints of the one-wire protocol. + +A neat 3D printed controller and a custom PCB to connect all the electronics round out the package. MicroPython orchestrates everything. + +Raf continues to refine the software and the controller is responding better in the simulator every day - he's even flown his quadcopter outdoors! + +Take a look at this ambitious project! + + + +## Sean Lanigan with his WiLED project + +Sean's girlfriend bought an Ikea lamp. It was...fine. Decent. Nothing wrong with it. + +But it didn't have a dimmer. Nor could it be controlled remotely. How hard could it be to add those features? + +Before he knew it, Sean had designed and manufactured a custom circuit board, found a new superbright LED cluster, constructed a 3D enclousre to house the electronics and attach to the existing stand and laser cut a beautiful bamboo front panel. + +Oh yeah, he also learnt how to use `asyncio` in MicroPython to add the desired features. It's available online at the [WiLED-Project](https://gitlab.com/WiLED-Project). + +Thanks for the talk Sean, sorry about the lack of video! + +## Seon Rozenblum and the TinyPICO Tester + +Seon "Unexpected Maker" Rozenblum discusses the TinyPICO Tester; a device designed to test the TinyPICO, post-assembly. + +The TinyPICO is a lovely *tiny* ESP32 development board. Designed around a Raspberry Pi, the TinyPICO Tester uses fully automated tests +to ensure that all major functions of the TinyPICO board operate as expected. Pressing a button starts the test suite and red/green LEDs +indicate whether the tests were successful. A small display presents progress information to the user as the tests execute and the goal +is that the whole process takes no more than 30 seconds. + +The Tester will be essential to manage quality when assembly of the TinyPICO is outsourced. + +The software stack that the Tester uses is completely implemented with Python and MicroPython. + + + diff --git a/_posts/2019-10-23-October-2019-Meetup.md b/_posts/2019-10-23-October-2019-Meetup.md new file mode 100644 index 0000000000000..916b63e0c3aad --- /dev/null +++ b/_posts/2019-10-23-October-2019-Meetup.md @@ -0,0 +1,97 @@ +--- +layout: post +title: October 2019 meetup +--- + +**Matt** Trentini delivered the [news roundup](#News-roundup) and **Damien** George talked about a [mixed bag](#mixed-bag) of topics including the Code of Conduct, BLE, Manifest files and Boards for the ESP32. + +## News roundup + + + + + + +### PyLadies Workshop +* Delivered a MicroPython Starter Workshop to the PyLadies + * Was a *fantastic* experience! +* First time we’ve been through our [MicroPython Workshop](https://micropython-workshop.readthedocs.io/) material + * [Github](https://github.com/mattytrentini/micropython_workshop), [Introductory Slides](https://docs.google.com/presentation/d/1kBm8YsX7sYx8pFmNHL0b7HM2EFQUV3dxOUeKSYTgmHE) +* Intent is that this can be used by any beginner + * With documentation that is clear +* Hardware ‘kit’ needs to be cheap ($25) + * TTGO ESP32, RGB LED Shield + * More shields available to purchase + * Shields for simplicity + +### Pycom GOINVENT +* Pycom are in the middle of a global tour to promote their products + * The Melbourne session was Monday, entry included a FiPy +* My take-home… + * Some really nice hardware (all sorts of RF interfaces!) + * Demos were underwhelming + * VS Code plugin was problematic + * Some interesting ideas: pybytes in particular + * Their license is a deal-breaker for me + +### Adafruit New Products +* [Feather STM32F405 Express](https://www.adafruit.com/product/4382) + * Runs MicroPython, CircuitPython soon + * Limor submitted the PR to support the board + * Out of stock... +* nRF52840 Itsy Bitsy + * “Coming Soon”, nearly done + * Should be an excellent small BLE-capable dev board + +### Lessons learned from building a CircuitPython board +* Thea Flowers has a nice blog post discussing [lessons learned](https://blog.thea.codes/lessons-learned-from-building-a-circuitpython-board/) +* Valuable read if you’re wanting to make your own hardware + * Particularly for Micro/CircuitPython + +### MicroWebSrv2 +* Hot off the press (today)! +* [MicroWebSrv2](https://github.com/jczic/MicroWebSrv2) + * A new version of Jean-Christophe Bos’ ([jczic](https://github.com/jczic)) Web Server for MicroPython +* Features + * Asynchronous architecture, SSL/TLS, web routes, web sockets module, template system, good documentation + +### Seeed Studio: RISC-V +* Doubling down on RISC-V +* Sipeed Longan Nano + * RISC-V GD32VF103: 128KB flash, 32KB RAM + * 160x80 IPS display + * US$4.90 +* Wio Lite with ESP8266 + * Feather form factor, wifi + * US$6.90 +* Also stocking Sipeed K210-based boards + +### mp-RA8875 +* MicroPython driver for the RA8875 + * Allows TFT displays of 800x480 + * Also: Resistive touch + * Port of a CircuitPython library + +### MicroPython Taking photos with an ESP32 +Mauro Riva: [Taking photos with an ESP32](https://lemariva.com/blog/2019/09/micropython-how-about-taking-photo-esp32) + * Uses the ESP32-CAM, I2S and an OV2640 driver + * Really detailed! +More on Mauro’s “LeMaRiva” site + * [MicroPython: VSCode IntelliSense, Autocompletion & Linting capabilities](https://lemariva.com/blog/2019/08/micropython-vsc-ide-intellisense) + * [MAiX Dock & MicroPython: Hands-On with low power AI at the edge](https://lemariva.com/blog/2019/04/maixpy-low-power-ai-edge) + * [Review: Meet the M5Stack FIRE](https://lemariva.com/blog/2019/03/review-meet-the-m5stack-fire) + * [MicroPython: Home Automation using Blynk connected to a WiPy 3.0 / 2.0](https://lemariva.com/blog/2019/02/micropython-home-automation-using-blynk-connected-to-a-wipy-3-0-2-0) + * [MicroPython: Programming an ESP using Jupyter Notebook](https://lemariva.com/blog/2019/01/micropython-programming-an-esp-using-jupyter-notebook) + +### MicroPython C Module Documentation +* [Micropython-usermod](https://micropython-usermod.readthedocs.io/) on Read the Docs + * By Zoltán Vörös - thanks! + * An excellent resource if you want to build a C module for MicroPython! + * Covers: argument parsing, classes, iterables, error handling + + + +## CoC, BLE, Manifest FIles and Boards for ESP32 +Damien talked about a mixed bag of topics including the Code of Conduct, BLE, Manifest files and Boards for the ESP32. + + diff --git a/_posts/2019-11-27-November-2019-Meetup.md b/_posts/2019-11-27-November-2019-Meetup.md new file mode 100644 index 0000000000000..88fcb83e20f84 --- /dev/null +++ b/_posts/2019-11-27-November-2019-Meetup.md @@ -0,0 +1,99 @@ +--- +layout: post +title: November 2019 meetup +--- + +**Matt** Trentini covered the latest MicroPython [news](#News-roundup), **Peter** van der Berg explained how he's used MicroPython to power his latest [art project](#art) and **Damien** George gives us the [low-down on LittleFS](#littlefs) - it's coming to MicroPython! + +## News roundup + + + + + + +### Meadow +* Kickstarter, delivered! +* Tech + * STM32F777, 32MB RAM, 32MB Flash (+2MB) + * ESP32 coprocessor for WiFi/BLE + * Battery charging + * Feather form factor +* Designed to run .NET +* Now runs MicroPython! +* US$50 + +### PineTime +* Pine64 caused a stir with PineTime +* US$25 watch seems popular! +* I suggested MicroPython should be ported to it... +* Could use some help! +* Nordic NRF52832, 64KB RAM, 512KB Flash + * That part is in good shape +* Peripherals + * ST7789 240x240 IPS display + * Power management + * SPI Flash 8MB + * Touchpad CST816S + * Accelerometer BMA421 + * Heart rate sensor HRS3300 + +### Black Pill +* First there was the Blue Pill + * STM32F103: ARM M3 72MHz, 20KB RAM, 64KB Flash + * Very popular in the Arduino community - cheap! US$2 + * A little underpowered for MicroPython +* Enter, the Black Pill + * STM32F411: M4 100MHz, 128KB RAM, 512KB Flash + * Still cheap, US$4 + * Optional external flash (up to 16MB) + * Board definitions under development + +### Wemos +* W600 + * Cheap board with Wifi + * M3, 300KB RAM, 1MB Flash + * ESP8266 competitor + * AU$3.12 +* 2.4” TFT + * 320x240 display with resistive touchscreen + * Fits the D1 mini form factor + * AU$8.70 + +### PyLadies 'homework' +* Bouncing ball! + +### OpenMV H7 +* Big update + * Update to MicroPython 1.11 + * Tensorflow support + * Built-in person detection +* Also tentatively announced a new board + * STM32H743, 32MB RAM, 32MB flash, 5MP cam + +### CircuitPython 5.0.0 beta +* Big update coming from Adafruit + * Display.io improvements (greyscale OLDE, e-paper) + * BLE + * STM32F4 + * Sony Sprense + * PWM audio + +### Pull requests + +* ESP32 RMT +* LittleFS is in mainline +* Rewrite of Asyncio +* BLE documentation has improved + + +## Natural Sequence or Fabricated: MicroPython-powered art +Peter discussed his latest art installation for the City of Whittlesea's [SOS Annual Art Exhibition](https://www.whittlesea.vic.gov.au/arts-events-recreation/things-to-see-and-do/events/sos-annual-art-exhibition/) + + + + +## LittleFS integration for MicroPython +Damien explains and demonstrates recent additions to MicroPython to provide LittleFS integration. LittleFS is a lightweight, highly robust filesystem designed for embedded use. + + diff --git a/_posts/2019-2-27-February-2019-Meetup.md b/_posts/2019-2-27-February-2019-Meetup.md new file mode 100644 index 0000000000000..04786da6cbb03 --- /dev/null +++ b/_posts/2019-2-27-February-2019-Meetup.md @@ -0,0 +1,256 @@ +--- +layout: post +title: February 2019 meetup +--- + +**Matt** Trentini presented the [news roundup](#News-roundup), **Damien** George presented his latest work-in-progress feature: [native modules in MicroPython](#Native-Modules-in-MicroPython). **Peter** van der Burg discussed [two of his projects](#two-projects): his Home Status Monitor and an accurate power meter. + +## News roundup + + + + + +### Matt's New Hardware +What arrived in Matt's letterbox this month? + +#### Sipeed MAIX + +* One of the first affordable RISC-V solutions + * And it’s a cracker: 2x 400MHz, plenty of RAM and flash, AI module, camera + * See last month for details +* [MaixPy](https://github.com/sipeed/MaixPy) + * MicroPython port for this chipset +- Excellent [build instructions](https://robotzero.one/sipeed-maix-micropython/) from the Robot Zero One blog +- [MickMake published a video](https://www.youtube.com/watch?v=YdshSwDrKgw) that gives a good introduction to the hardware +- MaixPy [v0.1 released last week](https://bbs.sipeed.com/t/topic/486?r=slt-eml-bck-a2e0&utm_source=sailthru&utm_medium=email&utm_campaign=bck-02172019update&utm_term=) with GPIO, UART, SPI, PWM, Timer, LCD, Camera, MiscoSD (FAT32), Flash (SPIFFS), ESP8285 for wifi. Image convolution acceleration, basic OpenMV support (QRCodes, bar codes, find blobs) +- MaixPy v0.2 coming with AVI player, recorder, AI model loader, I2S play, record, FFT, AES, SHA256 +- Boris (of LoBo fame) has also released a [K210 port](https://loboris.eu/forum/forumdisplay.php?fid=17) integrating some of his ESP32 port features + +#### wESP32 + +- Discussed in previous meetups +- ESP32 + POE Ethernet +- Separate programmer +- Header to breakout GPIO +- Have created a good [web site](https://wesp32.com/) with excellent information +- **MicroPython is the default software stack!** +- Thanks [Patrick](https://twitter.com/xorbit1)! + +#### M5Stack Peripherals + +- Needed just two...but they’re so cheap and cool! + - Joystick + - Fingerprint sensor + - Color Sensor + - IR temp sensor + - Time of flight laser rangefinder + - RGB LED hex pad and strip + - Proto boards, I2C hubs, connectors... + +### FOSDEM 2019: PyBoard D + +The PyBoard D made an appearance at FOSDEM! + +### ESP32 + +* Potential features + * I2S Implementation by Mike Teachman + * [Forum](https://forum.micropython.org/viewtopic.php?f=18&t=5900&p=33757), github - [micropython-esp32-i2s-examples](https://github.com/miketeachman/micropython-esp32-i2s-examples), [PR 4471](https://github.com/micropython/micropython/pull/4471) + * WPS implementation - [PR4464](https://github.com/micropython/micropython/pull/4464) + - How WPS works + - Press a button on a router to allow it to respond to a single scan + - Put device in scan + - Wifi details are sent to the (one) scanning device + - Connection is established + - Router stops + * RMT + * Matt has started an implementation + * Pulse counting + * [Requested](https://forum.micropython.org/viewtopic.php?f=18&t=5997), not for the first time + * Anyone interested in implementing it? Good first module! + * ESP NOW + * [PR4115](https://github.com/micropython/micropython/pull/4115) + * Seems to have stalled but it’s so close! + * BLE +* Mike Rankin released a new ESP32-PICO-D4 board powered by a coin cell + * ESP32-PICO-D4, battery charger, accelerometer, 0.96" 96x16 OLED + * [Open hardware designs available](https://github.com/mike-rankin/ESP32_CoinCell) + * [A coin cell powers this tiny ESP32 dev board](https://hackaday.com/2019/02/22/a-coin-cell-powers-this-tiny-esp32-dev-board/) + * US$35 on [Tindie](https://www.tindie.com/products/miker/esp32-coincell/) +* TTGO continues to churn out devices + * [T-Camera Plus](https://www.aliexpress.com/store/product/TTGO-T-Camera-Plus-ESP32-DOWDQ6-8MB-SPRAM-Camera-Module-OV2640-1-3-Inch-Display/2090076_32971057846.html?spm=2114.12010608.0.0.241a5634QRqTU1) + * 2MP camera, 8MB SPIRAM, 1.3" 240x240 display, microphone, BME280, battery charge + * Normal or fisheye lens + * AU$35 + * Another model with a PIR sensor... + +### Adafruit + +* Scott Shawcroft ([@tannewt](https://twitter.com/tannewt)) recorded a [CircuitPython Deep Dive](https://www.youtube.com/watch?v=baa5ILZTRkQ) + * Covers memory use in CircuitPython (and MicroPython) + * Buckle-up, it's over 3 hours! + * Really nice use of Graphviz to visualise memory +* [PyPortal](https://www.adafruit.com/product/4116) + * First batch released yesterday + * Sold out rapidly! + * SAMD51, ESP32 for wifi, 3.2" 320x240 display, resistive touch + * Speaker, light sensor, temp sensor, microSD, 8MB flash + * US$55 + +### LoRa/NW-IoT + +* Ronoth, small group of devs doing LoRa work + * First shot of the [S76S STM32/LoRa dev board](https://twitter.com/ronoth_iot/status/1087786588241707008) + * Documentation [coming too](https://twitter.com/lolsborn/status/1094328412355715072) + * Working with the dev to see if MicroPython is possible + * 192KB flash/20KB RAM is *tight* + * LoStik is available too (USB LoRa device) +* [SnapOnAir Mini](http://www.snaponair.com/index.php/snaponair-mini/) + * Latest in a line of LoRa 'Walkie Talkie' text communicators by [pwav robot](https://twitter.com/pwavrobot) + * RFM95, 0.96" OLED, currently Arduino-based + * 25 Euro (~A$40) + * Note: Requires ESP32 dev board and a few passives +* DMtech DEV01 + * ESP32 WROVER with NB-IoT modem (Quectel BC66) + * Still in development, currently gauging commercial interest + * Announced on [forum](https://forum.micropython.org/viewtopic.php?f=18&t=5778&sid=2c7f4f3d745a8f387a59949fb63ca2d9) +* [The Things Network announced new Hardware](https://blog.hackster.io/new-gateway-and-sensor-node-hardware-from-the-things-network-e181f0c5c820) + * Outdoor Gateway (US$399) + * Weather-proof + * 3G/4G backhaul, onboard GPS + * Indoor Gateway (US$69) + * 8-channel, wifi for backhaul + * Generic Node (US$25) + * Microchip SAM R34 + * Cortex M0+, 6x6mm, 256KB flash, 40KB RAM + * Integrated LoRa + +### General + +* [ucryptoauthlib](https://github.com/dmazzella/ucryptoauthlib) + + * Pure MicroPython + * Lightweight driver for Microchip Crypto Authentication + * Supports [ATECC508A](https://www.microchip.com/wwwproducts/en/ATECC508A) and [ATECC608A](https://www.microchip.com/wwwproducts/en/ATECC608A) + * ECDH support (Elliptic Curve Diffie-Hellman) +* [Async IO in Python](https://realpython.com/async-io-python/) + * In depth article about [Asyncio in Python](https://realpython.com/async-io-python/) + * By the [Real Python](https://realpython.com/) folks who have a ton of great content + * - In general, they have excellent Python articles + * Although written for Python it provides a solid basis for MicroPython + * And much of it is directly usable +* More W600 Cortex M3+ wifi boards announced + * The [Air602](https://www.seeedstudio.com/Air602-WiFi-Module-p-3139.html) (powered by the W600) was covered in previous meetups + * - Cheap, certified ARM Cortex M3 + Wifi + * Module announced, plus two dev boards + * [Seeed Studio announcement](https://www.seeedstudio.com/w600.html), [Hackster.io follow-up](https://blog.hackster.io/three-new-seeedstudio-w600-based-wireless-boards-347c8ec21d47) + * Arduino and **MicroPython support** announced for later this year +* [MicroPython on Sonoff](https://medium.com/cloud4rpi/getting-micropython-on-a-sonoff-smart-switch-1df6c071720a) + * There have been a few guides but this is an excellent addition +* Ivy5661: Potential new target for MicroPython? + * [Forum post](https://forum.micropython.org/viewtopic.php?f=12&t=5972&p=34348) + * ARM Cortex M4 @ 416MHz, 802.11**ac**, Bluetooth **5**, 963KB RAM (400KB available) + * Linaro 96boards format - expansion socket with UART, I2C, SPI, I2S, GPIO + * But **limited documentation** + * Seeed Studio are [selling the Ivy5661 for US$35](https://www.seeedstudio.com/Ivy5661-Wi-Fi-and-Bluetooth-IoT-Solution-SoC-SPRD-UWP5661-Cortex-M4-p-2867.html) +* [Calliope](https://calliope.cc) + * Board designed for education ('improved micro:bit') + * NRF51822 (Cortex M0, 6KB RAM, 256KB flash) + * Speakers & Mic, motor controller, USB, compass, motion, acceleration, temperature and brightness sensor, LED array + * Most examples use [Open Roberta](https://lab.open-roberta.org/), a block-based programming language + * But a [MicroPython port](https://github.com/calliope-mini/calliope-mini-micropython) is also supported +* [trigBoard - Ultra Low Power ESP8266 IoT Platform](https://www.tindie.com/products/kdcircuits/trigboard-ultra-low-power-esp8266-iot-platform/) + * Triggers on a GPIO change, pushes a notification over wifi + * 1uA quiescent + * [Documentation](https://www.kevindarrah.com/wiki/index.php?title=TrigBoard) + * US$20 +* [micropython-iot](https://github.com/peterhinch/micropython-iot) + * New [MicroPython library](https://github.com/peterhinch/micropython-iot) by [Peter Hinch](https://github.com/peterhinch) and Kevin Köck + * Full-duplex communication link between wifi boards and a server + * Temporary wifi or server outages are tolerated without message loss + * Tested with ESP8266 and Pyboard D +* Electronut released [Papyr](https://docs.electronut.in/papyr/) an nRF52840 board with e-paper + * Raytac MDBT50 module + * 1.54” 200x200 e-paper + * Runs on a coin cell + * Application to ‘draw’ on epaper from mobile app + * ~US\$40 (US\$62 with case and programmer) +* [Mu Editor now supports MicroPython](https://github.com/mu-editor/mu/pull/676) + - On at least the ESP32/ESP8266 +* Display library news + * [HyperDisplay announced](https://www.sparkfun.com/news/2875?utm_content=85459512&utm_medium=social&utm_source=twitter&hss_channel=tw-17877351) by Sparkfun + * C-library providing graphics primitives, basic window management, buffering, some drivers + * [GuiLite](https://github.com/idea4good/GuiLite) + * Small, lightweight embedded GUI, 5K LOC + * [M5ez](https://github.com/ropg/M5ez) + * Arduino library targeting the M5Stack system + * Designed around M5Stack hardware, including an ingenious three-button keyboard + * [M5Flow](http://flow.m5stack.com/) + * Visually design an interface for the M5Stack + * Officially supported + * Blockly currently supported but MicroPython looks close + * Nice to get started + * Adafruit's display.io + * (Feature next month) + * **LittlevGL** + * With [MicroPython bindings](https://blog.littlevgl.com/2019-02-20/micropython-bindings) + +### Conference news + +- Deshipu’s [Computer Games with MicroPython](https://fosdem.org/2019/schedule/event/python_games_with_micropython/) (FOSDEM) +- Jessica Green’s [Python on bare metal](https://speakerdeck.com/sleepypioneer/python-on-bare-metal) (PythonPizzaConf) +- Nina Zaharenko’s [Light up your Life with Python and LED’s!](https://youtu.be/MTdYyCKcI8Q?t=804) ([slides](https://speakerdeck.com/nnja/nina-zakharenko-light-up-your-life-with-python-and-leds-pycascades-2019))(PyCascades) + +### Interesting Projects + +* OutoftheBOTS' 5x5x5 Rubik's cube solver + * 7x steppers, 3D printed gears and grippers, custom ESP32 WROVER-based board + * Recently optimisations dropped the solving time from >14 mins to <5 + * [Forum](https://forum.micropython.org/viewtopic.php?t=5873), [Latest video](https://www.youtube.com/watch?v=sD4bG8hPYLQ&t=41s) +* [CastVolumeKnob](https://hackaday.io/project/163525-castvolumeknob) + * Wireless volume knob to control a Chromecast device + * Visual feedback with a NeoPixel ring + * Neat 3D print + * ESP8266, MicroPython, ATTiny85 to keep power down in sleep +* [ESP32 WiPhone](https://hackaday.io/project/159811-esp32-wiphone) + * Still in development + * Calls using wifi/SIP + * Even designing molds themselves and documenting how to do so +* [Custom firmware for cheap fitness trackers](https://hackaday.com/2019/02/20/custom-firmware-for-cheap-fitness-trackers/) + * Aaron Christophel gives you all the tools to repurpose that $30 nRF52 fitness tracker + * 512KB flash, 64KB RAM, 0.96" IPS SPI display, motion sensor, pulse sensor, battery charger, touch integrated + * MicroPython will happily run on this device... + +### Wrap up + +[ARM Cortex-M0 is 10 years old](https://twitter.com/DominicPajak/status/1099377967120240642) (that model doesn't run MicroPython...yet!) + + + +## Native Modules in MicroPython +Damien George presented his work-in-progress solution to loading native code from MicroPython modules. Currently all native code has to be compiled in to the MicroPython firmware binary which can make it harder to integrate high-performance code. This solution will allow modules containing native code and/or MicroPython code (and Viper, Thumb and XTensa code...) to be compiled into mpy files that can be loaded at *runtime*. + +Potentially this is a *huge* feature that would mean modules can be built and packaged with native and Python components! Even MicroPython itself could possibly be trimmed down since modules can now be efficiently packaged outside of the firmware binary. + +Very exciting to us MicroPythonistas! + +Although it's difficult to make out the contents of the screen, hopefully the details are less important than following along for the general gist of the feature. We'll try to record the screen directly in the future. + +Take a look at [PR 4535](https://github.com/micropython/micropython/pull/4535) for details. + + + + +## Two Projects by Peter +Peter van der Burg presented two of his MicroPython-powered projects: 1) a Home Status Monitor and 2) a Power Meter. + +It was a really interesting talk covering MicroPython on the ESP8266, querying data from the real world, heaters in fridges, electronic design with sensitive comparators and how family life can be streamlined with some pragmatic solutions! + + + + + + + + diff --git a/_posts/2019-4-24-April-2019-Meetup.md b/_posts/2019-4-24-April-2019-Meetup.md new file mode 100644 index 0000000000000..190f4f68083c4 --- /dev/null +++ b/_posts/2019-4-24-April-2019-Meetup.md @@ -0,0 +1,113 @@ +--- +layout: post +title: April 2019 meetup +--- + +**Matt** Trentini presented the [news roundup](#News-roundup), **Damien** George, to celebrate MicroPython's 6th birthday, presented a fun talk about the [Early Days of MicroPython](#Early-Days-Of-MicroPython). **Peter** Boin covered [uPyTester](#uPyTester) a library he's created to perform Hardware-in-the-Loop testing. + + +## News roundup + + + + + +### PyBoard D +* Small, powerful, low-power microcontroller +* STM32 F7 series: 216MHz +* Currently 3 variants + - 512KB-2MB flash, 256KB-512KB RAM + - One has high speed USB +* WiFi/Bluetooth 4.1 +* Plenty of GPIO/peripherals +* Breadboard/castellation/headers + +### Season of Docs +* MicroPython has applied to Google for their first [Season of Docs](https://developers.google.com/season-of-docs/) +* It’s an effort to improve documentation for Open Source projects +* Read our [proposal](https://docs.google.com/document/d/1Yvca_dFPn_-BwWdsI4lUT4p-rjn5CvhrVgupiLC60_A) +* Some of the ideas + - Restructure common/port specific + - Improve documentation for existing ports + - Getting Started guide + - Developer documentation + +### MicroPython video tutorials +* [#1 - Let’s get started](https://www.youtube.com/watch?v=5W3WvXAmDJc&t=1s) +* [#2 - Hit the Ground Running](https://www.youtube.com/watch?v=DFp_T-H3eRc&t=1s) +* [#3 - Some Fundamentals](https://www.youtube.com/watch?v=Rd9V6qEIfv4&t=17s) + +### Lego <3's MicroPython +* [Program in Python with EV3](https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3?fbclid=IwAR3-1rwHexXYCnA-yzwQAY8mTNBndmc51p3BTvWcL7lUXk6dNOCzaQfMuJU) + - EV3 is an ARM9 Linux computer, runs MicroPython Unix port +* But the next model, [part of SPIKE](https://blog.adafruit.com/2019/04/15/python-snakes-its-way-to-lego-spike-prime-lego_group-lego_education-micropython-legoconfidence/), will run bare metal + - 100MHz processor + - Due in the August timeframe + +### PyCon AU 2019 +* August 2-6 @ ICC Sydney +* [Call for Proposals](https://2019.pycon-au.org/speak/) now open + - Opened April 3, **closes May 5** + - Mentors available + - 30 min talks + - This year: 70 min [Deep Dive Talks](https://2019.pycon-au.org/news/deep-dive-talks/) are possible +* Specialist tracks + - Education, Django, Security and Privacy and Science and Data + +### Bite-sized +* OpenMV Cam H7 [is shipping](https://openmv.io/blogs/news/openmv-cam-h7-shipping-update) +* Humble Bundle [Electronics + 3D printing](https://www.humblebundle.com/books/electronics-3d-printing-make-books) + - 5 books for <$2, 12 for $12, 18 for $21, 24 for $25 +* [Electronut Papyr](https://docs.electronut.in/papyr/) now has [official CircuitPython support](https://twitter.com/electronutLabs/status/1118197834040233984) + - Need a MicroPython demo! +* [Very Simple MicroPython Web Clock](https://www.hackster.io/alankrantas/very-simple-micropython-esp8266-esp-12-web-clock-3c5c6f) +* [SHA 2017 Badge e-ink Gameboy](https://trmm.net/Gamebadge) +* [MQTT-Enabled Scrolling Text](https://www.hackster.io/andreas-motzek/mqtt-enabled-scrolling-text-with-esp8266-and-micropython-086238) +* [New ESP32 chip coming](https://twitter.com/EspressifSystem/status/1108044835766689792) + - Rumours: Cheaper, single core, USB, no Bluetooth, more GPIO +* [Bluetooth implementation progressing](https://github.com/micropython/micropython/pull/4589) +* [LoDev S76S available on Crowd Supply](https://www.crowdsupply.com/ronoth/lodev) + - STM32L0 + SemTech 1276 + - Hoping for MicroPython (Tight: 129KB/20KB) +* [Miguel Grinberg: Introducing My MicroPython Tutorial](https://blog.miguelgrinberg.com/post/introducing-my-micropython-tutorial) +* Ray Ozzie has [started using Python on uC's](https://twitter.com/rozzie/status/1106531501317992448) + - Enjoys it but is frustrated with the different APIs +* ESP32 Coincell boards + - [Mike Rankin's Coin Cell board](https://twitter.com/mikerankin) + - [Alex Albino's Femtobeacon](https://twitter.com/femtoduino) + +### TinyPICO update +* Matte black +* Shields! + - Play Board + - Proto shield + - RTC shield + - Audio shield + - Grove I2C shield + - IO expander shield? +* Launching soon™ on Crowd Supply + +### Happy Birthday MicroPython +* 'Born' 29th April 2013 +* Six years old next week + + +## Early Days Of MicroPython +Happy Birthday MicroPython! + +April 29, 2019 is the sixth 'birthday' of MicroPython. At the April Melbourne Meetup, Damien George, creator of MicroPython, delves into his archives and shows the earliest code and notes about the goals of the language. The material pre-dates the first git commit! + +Listen in as Damien reveals how and why the language began and evolved. It's a nice way to celebrate MicroPython's sixth birthday! + + + + +## uPyTester +Peter Boin talks about uPyTester, his MicroPython library to perform Hardware In The Loop testing. + +Check out the [uPyTester documentation](https://fragmuffin.github.io/upytester/doc/) and [uPyTester Github repository](https://github.com/fragmuffin/upytester). + + + + + diff --git a/_posts/2019-5-22-May-2019-Meetup.md b/_posts/2019-5-22-May-2019-Meetup.md new file mode 100644 index 0000000000000..8cbd99c015571 --- /dev/null +++ b/_posts/2019-5-22-May-2019-Meetup.md @@ -0,0 +1,122 @@ +--- +layout: post +title: May 2019 meetup +--- + +**Matt** delivered the [news roundup](#News-roundup), **Lachlan** and **Brian** give an amazing demonstration of the [Propeller 2 microcontroller](#Propeller2). + +## News roundup + + + + + +### Hardware to tinker with tonight +* Blyst Nano +* OpenMV Cam H7 +* Self-balancing Bala +* Fomu +* Papyr +* PyBoard D +* I2CDriver (and SPIDriver) + +### Season of Docs +* MicroPython has applied to Google for their first [Season of Docs](https://developers.google.com/season-of-docs/) +* **Unfortunately the application wasn’t successful :(** +* Read our [proposal](https://docs.google.com/document/d/1Yvca_dFPn_-BwWdsI4lUT4p-rjn5CvhrVgupiLC60_A) +* Good news: We now have some clear direction where to take the documentation + +### MicroPython video tutorials +* [#1 - Let’s get started](https://www.youtube.com/watch?v=5W3WvXAmDJc&t=1s) +* [#2 - Hit the Ground Running](https://www.youtube.com/watch?v=DFp_T-H3eRc&t=1s) +* [#3 - Some Fundamentals](https://www.youtube.com/watch?v=Rd9V6qEIfv4&t=17s) +* [#4 - PWM, ADC, Timers and Interrupts](https://www.youtube.com/watch?v=Mku1Bq78nXw) +* [#5 - JSON & Network Modules + Practical Example](https://www.youtube.com/watch?v=Kqnw9jvceSg) + +### PyCon AU 2019 +* August 2-6 @ ICC Sydney +* Talks to be announced 2 June +* There have been at least a few MicroPython talks submitted...fingers crossed! + +### PyCon 2019 +* Nina Zakharenko: [Light up your life - with Python and LEDs](https://www.youtube.com/watch?v=35mXD40SvXM) +* Scott Shawcroft: [History of CircuitPython](http://pyfound.blogspot.com/2019/05/scott-shawcroft-history-of-circuitpython.html) +* Many [other talks](https://us.pycon.org/2019/schedule/talks/) of course + +### MicroPython on SAMD +* Microchip SAMD make a popular range of microcontrollers + - Adafruit make many boards using these + - SAMD21 - low power ARM Cortex M0 + - SAMD51 - ARM Cortex M4 +* Damien has taken the first steps toward a port + - MicroPython on Trinket M0 and ItsyBitsy M4 + - TinyUSB port underway + +### New ESP32-S2 +* [Announcement](https://www.espressif.com/en/news/espressif-announces-%E2%80%A8esp32-s2-secure-wi-fi-mcu) and [Hackaday](https://hackaday.com/2019/05/21/new-part-day-espressif-announces-esp32-s2-with-usb/) +* New core - better FP - but only one +* More GPIO (42), more cap touch (14) +* **No Bluetooth** +* Less RAM (320KB) +* **USB support** +* LCD and Camera support +* Security features (AES, RSA) +* Aiming to be **cheaper** + +### CircuitPython 4.0.0 +* Huge release, congrats to the CircuitPython folks! +* Big ticket items + - Nordic nRF52840 + - Displayio + - USB MIDI + - Multiple language support + +### PicoJPEG +* ‘Shazz’ saw [Damien’s talk](https://melbournemicropythonmeetup.github.io/June-2018-Meetup/) on wrapping a C module that used Nano JPEG + - Which ultimately didn’t work since Nano JPEG used a lot of memory +* [PicoJPEG](https://github.com/richgel999/picojpeg) is a small library designed to work on microcontrollers +* Shazz published a repo that has a new module wrapping PicoJPEG! + +### 32blit +* Pimoroni folks +* STM32H750 400MHz, 1MB SRAM +* 32MB Flash +* 320x240 display, speaker, buttons, joystick, accelerometer, battery +* AU$120 (beta) AU$175 + +### Adafruit PyGamer +* [Adafruit PyGamer](https://www.adafruit.com/product/4242) +* SAMD51@120MHz +* 8MB Flash +* 160x128 display +* Accelerometer, light sensor +* US$40 + +### Nordic Dev Board +* 256KB RAM, 1MB Flash +* USB +* Bluetooth +* US$10 + +### US$14 ESP32 VGA/mouse/keyboard... +* [HackerNews](https://news.ycombinator.com/item?id=19943059) +* TTGO driving prices right down +* Weird collection of hardware +* VGA, PS2 connectors +* 4MB QSPI flash/8MB PSRAM +* Games - demos available + +### LedCade +* Currently atmega328 +* But could squeeze anything in there! + + + +## Propeller 2 Microcontroller +Take a look as Lachlan and Brian explain what a [Parallax Propeller 2 microcontroller](https://www.parallax.com/product/propeller-2) *is* and demonstrate what it can *do*. + +The unique capabilities of this chipset are discussed in detail - users of the Propeller 1 are going to love this deep dive! + +MicroPython would really help to unlock the power of this chipset... + + diff --git a/_posts/2019-6-26-June-2019-Meetup.md b/_posts/2019-6-26-June-2019-Meetup.md new file mode 100644 index 0000000000000..c4bcb796db75b --- /dev/null +++ b/_posts/2019-6-26-June-2019-Meetup.md @@ -0,0 +1,97 @@ +--- +layout: post +title: June 2019 meetup +--- + +**Matt** presented a [news roundup](#News-roundup) and **Seon** Rozenblum discussed some of the trials and tribulations of manufacturing [TinyPICO](http://tinypico.com/) (unrecorded). + +## News roundup + + + + + +### MicroPython on SAMD + +* Damien has raised PR #4863 +* A first-cut at MicroPython on SAMD + - The micro family used in many Adafruit boards + - Not a lot of features, yet + - REPL over USB serial + - SAMD 21 and 51 (M0 and M4) + +### Obsidian ESP32 +* [Thomas McKahan](https://twitter.com/TonyMac_32) has started a campaign for his Obsidian ESP32 + - ESP32 in a Raspberry Pi form factor + - WROOM-B: 16MB Flash, 8MB RAM + - Use RPi ‘Hats’ +* Available on [Crowd Supply](https://www.crowdsupply.com/thomas-mckahan/obsidian-esp32) + - $US35 + SH + +### micropython-stubber +* Jos Velinden released [micropython-stubber](https://github.com/Josverl/micropython-stubber) +* A set of tools, libraries and configuration to improve VS Code + - For MicroPython use + - Stubs out MicroPython specific libraries, tidies up pylint, provides intellisense + +### hackaBLE +* [hackaBLE](https://www.tindie.com/products/ElectronutLabs/hackable-tiny-nrf52832-ble-development-board/) is a small nRF52832 dev board + - Breadboard or castellate + - Requires a programming probe + - Can run Micro or Circuit Python +* From Electronut Labs + - Who used similar tech for [Papyr](https://docs.electronut.in/papyr/) +* Available on Tindie for US$17 + +### Fomu in the wild +* Starting to see Fomu’s in the wild... +* ...like this one running MicroPython on a RISC-V softcore! +* What’s a Fomu? + - A Lattice FPGA running in a Tomu form factor + - What’s Tomu? + - A microcontroller that fits inside a USB port + +### Giant Board +* The [Giant Board](https://www.crowdsupply.com/groboards/giant-board) is a Linux-capable FeatherWing + - SAMA5D2 Cortex-A5 500MHz + - 128MB RAM, micro SD +* Pick one up from Crowd Supply for US$50-80 + +### TTGO watch +* TTGO have released an [ESP32-powered watch](https://www.aliexpress.com/item/33038999162.html?gps-id=pcStoreJustForYou&scm=1007.23125.122752.0&scm_id=1007.23125.122752.0&scm-url=1007.23125.122752.0&pvid=f1c13ef6-a1ca-40b5-99d9-6b3f91044668&spm=a2g1y.12024536.smartJustForYou_119456509.0) +* Decent specs + - 16MB flash, 8MB PSRAM + - Accelerometer, RTC clock + - 240x240 touchscreen + - Micro SD, battery and charge circuit +* US$40 + +### ESP32 MicroPython Webcam +* Tsaarni: [MicroPython with OV2640 support](https://github.com/tsaarni/esp32-micropython-webcam) + - C module for camera support + - MicroPython to manage the images +* <40 lines of MicroPython + - Web server with camera + +### FemtoBeacon ESP32-D2WD +* The FemtoBeacon is a tiny ESP32 based board + - Can’t overstate how small it is! +* 2MB Flash, 500KB RAM +* A PICO-D4 version is coming too... +* Available on [Tindie](https://www.tindie.com/products/femtoduino/femtobeacon-esp32-d2wd-wifibluetooth-coin/), US$30 + +### PyCon AU 2019 +* There are a few MicroPython talks coming up in PyCon AU! +* Me: “[Extending MicroPython: Using C for Good!](https://2019.pycon-au.org/talks/extending-micropython-using-c-for-good)” + - A Deep Dive (70 min) - scary! +* Michal Galka: “[MicroPython Gotchas](https://2019.pycon-au.org/talks/micropython-gotchas)” +* Jack Reichelt: “[What makes Micro:bits different?](https://2019.pycon-au.org/talks/what-makes-microbits-different)” +* Anthony Joseph: “[Using python-programmed microcontrollers to build comedy props](https://2019.pycon-au.org/talks/using-python-programmed-microcontrollers-to-build-comedy-props)” + +### Roadmap for Next Release +* [Roadmap for next release (v1.11->v2.0?)](https://github.com/micropython/micropython/issues/4821) +* What’s next for MicroPython? + +### TinyPICO +* Successful campain! +* Seon to give a quick overview... diff --git a/_posts/2019-7-24-July-2019-Meetup.md b/_posts/2019-7-24-July-2019-Meetup.md new file mode 100644 index 0000000000000..406c05502247d --- /dev/null +++ b/_posts/2019-7-24-July-2019-Meetup.md @@ -0,0 +1,77 @@ +--- +layout: post +title: July 2019 meetup +--- + +**Matt** Trentini provided the [news roundup](#News-roundup), **Oliver** Robson gave a demo of his [MicroPython C Stub Generator](#StubGenerator) and **Damien** George talked about the MicroPython [Performance Test Suite](#PerfTestSuite). + +## News roundup + + + + + +### M5Stack M5stick-V +* M5Stack released the M5stick-V +* Amazing hardware + - Kendryte K210 RISC-V processor + - Dual-core 64bit 400MHz + - Machine learning support + - 8MB RAM, 16MB flash + - 135x240 1.14” IPS display + - OV7740 camera - 640x480 30fps + - MicroSD, buttons, speaker, mic, 6-axis IMU, 200mAh +* Partnered with Sipeed for MaixPy +* **US$26.50** + +### ESP32-S2, Espressif IPO +* New ESP32-S2 hits the streets + - Specs discussed in May Meetup +* Seon has posted two videos + - [First Look!](https://www.youtube.com/watch?v=9ISrim7kQSY) + - [Some of your questions answered](https://www.youtube.com/watch?v=yz06LobIS-g&t=3s) + +### MicroPython on the W600 +* W600: ARM Cortex M3 + Wifi + - Discussed in the [October 2018 Meetup](https://melbournemicropythonmeetup.github.io/October-2018-Meetup/) + - 80MHz, 1MB flash, 288KB RAM, $3 +* [Ultratechie](https://twitter.com/ultratechie) has written a guide + - [Getting Started with MicroPython on the W600](http://www.ultratechie.com/projects/w600-micropython/) + +### Random Nerd Tutorials +* Rui and Sara Santos are building a good series of well-written tutorials at [Random Nerd Tutorials](https://randomnerdtutorials.com/) + - Including >20 on [using MicroPython](https://randomnerdtutorials.com/category/0-esp32-micropython/) +* Latest is [MicroPython: BME280 with ESP32 and ESP8266](https://randomnerdtutorials.com/micropython-bme280-esp32-esp8266/) + +### Femu +* First there was the [Tomu](https://tomu.im/), then the [Fomu](https://www.crowdsupply.com/sutajio-kosagi/fomu), the [Somu](https://www.crowdsupply.com/solokeys/somu) is coming… +* And now the [Femu](https://twitter.com/femtoduino/status/1153576129875214336)? + +### Gif2LED +* David Haines has built a Gif2LED system on MicroPython + - Released a [video](https://www.youtube.com/watch?v=WdHc40g36GM&feature=youtu.be) and [code](https://github.com/dhainesdev/GIF-to-LED-Matrix) +* Web server is built on [MicroWebSrv](https://github.com/jczic/MicroWebSrv/blob/master/LICENSE.md) + - By Jean-Christophe Bos +* Handles animated gifs! + +### Logo on M5Stack +* Hackster.io: [Execute Logo on M5Stack ESP32 Basic with MicroPython](https://www.hackster.io/andreas-motzek/execute-logo-on-m5stack-esp32-basic-with-micropython-3713fd) +* Send Logo commands via MQTT +* `{ ":logo": "pendown; right 18; forward 50; repeat 5 [right 144; forward 50; left 72; forward 50]" }` + +### MicroPython: Send data to Google Sheets +* [MicroPython on ESP32: sending data to Google Sheets](https://blog.gypsyengineer.com/en/diy-electronics/micropython-on-esp32-sending-data-to-google-sheets.html) +* Use Google Sheets as a remote DB + + + +## MicroPython C Stub Generator +Oliver gave a demo on his [MicroPython C Stub Generator](https://mpy-c-gen.oliverrobson.tech/). It's a web-based tool that allows you to specify definitions for functions that you'd like to expose from a MicroPython C Module. The tool generates all the important boilerplate that defines the entry points, method registration and parameter conversions required when bridging that C<->MicroPython gap. Super useful if you need to drop in to C but expose a nice interface to MicroPython! + + + + +## MicroPython Performance Test Suite +Damien devliered a talk based on the recently added Performance Test Suite. Measure the performance of any MicroPython hardware! + + diff --git a/_posts/2019-8-28-August-2019-Meetup.md b/_posts/2019-8-28-August-2019-Meetup.md new file mode 100644 index 0000000000000..7b0579939f494 --- /dev/null +++ b/_posts/2019-8-28-August-2019-Meetup.md @@ -0,0 +1,78 @@ +--- +layout: post +title: August 2019 meetup +--- + +**Matt** Trentini covered the latest [news](#News-roundup), **Damien** schooled us on [Native Modules (part II)](#native-modules) and interstate guess **Jim** Mussared talked the recent developments on [BLE on MicroPython](#ble-micropython). + +## News roundup + + + + + +### New Hardware... +* [M5stickV](https://m5stack.com/products/stickv) + - Kendryte K210, dual-core 400MHz, 8MB RAM, 16MB flash, camera, display, audio +* [Ronoth LoDev](https://www.crowdsupply.com/ronoth/lodev) + - S76S SiP (STM32L073 - 20KB RAM, 192KB flash, SX1276 LoRa radio) + +### Teensy 4.0 +* New Teensy 4.0 Blows Away Benchmarks +* Cortex M7 @**600MHz** 1MB RAM, 2MB flash + - NXP iMXRT1062 +* 2xUSB @480MHz, 3xSPI, 3xI2C, 7xSerial +* 40x digital pins, 14 analog (2xADC) +* Small +* A MicroPython (OpenMV) port available +* **US$20** + +### Orange Crab +* Greg Davill’s [latest project](https://blog.hackster.io/say-hello-to-the-orangecrab-16835001f36a)... +* Feather form-factor +* Lattice ECP5 FPGA +* 1GB DDR3 RAM, 16MB flash +* Expecting to port Fomu MicroPython +* “Half of the parts are just 0201 decoupling caps” +* [Twitter thread](https://twitter.com/GregDavill/status/1151459422280884225) + + +### Stage +* [Stage, a Tile and Sprite Engine](https://www.hackster.io/deshipu/stage-a-tile-and-sprite-engine-e9e655?utm_campaign=new_projects&utm_content=0&utm_medium=email&utm_source=hackster&utm_term=project_name) has been released by [Deshipu](https://twitter.com/deshipu) +* Runs on M5Stack, or against ST7735 displays +* C for fast blitting but mostly MicroPython +* More details [in the forum](https://forum.micropython.org/viewtopic.php?f=15&t=6771) + +### PyLadies workshop +* PyLadies MicroPython on October 21 +* Taking the opportunity to improve the beginner experience +* Want to put together a beginner kit + - Could be used at the meetup + - Folks could optionally purchase them +* Base it around the Wemos ESP8266 with shields + - No breadboarding! + - Affordable + +### Slack and Unexpected Maker Discord Server +* More than 200 users now on Slack ([auto invite](https://slack-micropython.herokuapp.com/)) +* Unexpected Maker has a [Discord Server](https://discordapp.com/invite/vGgduY7) + +### ASCII 0_1 Stream +* First [tutorial](https://www.hackster.io/jpilarski360/ascii-0-1-stream-98a1a1?utm_campaign=new_projects&utm_content=1&utm_medium=email&utm_source=hackster&utm_term=project_name) I’ve seen for M5stickV +* Short MicroPython example + - Converts video to ASCII + + + +## Native Modules in MicroPython (part 2) +Back in February Damien gave a talk on [Native Modules in MicroPython](https://melbournemicropythonmeetup.github.io/February-2019-Meetup/#Native-Modules-in-MicroPython). The feature has come a long way and it was time for an update! + +Damien walks through the details around creating a native module and deploying it - for _multiple platforms_... + + + + + +Jim has been working hard to bring BLE to life in MicroPython. Recently he's submitted [PR5051](https://github.com/micropython/micropython/pull/5051) that lays the foundation for BLE on all MicroPython ports. Listen to Jim as he discusses the design decisions that led to the current implementation. + + diff --git a/_posts/2019-9-25-September-2019-Meetup.md b/_posts/2019-9-25-September-2019-Meetup.md new file mode 100644 index 0000000000000..1cd9170a84c9b --- /dev/null +++ b/_posts/2019-9-25-September-2019-Meetup.md @@ -0,0 +1,92 @@ +--- +layout: post +title: September 2019 meetup +--- + +**Matt** Trentini discussed the latest and greatest MicroPython [news](#News-roundup) and **Andrew** Leech showed us how he's set up a [Gitlab CI system](#ci) to build *every* MicroPython port in less than ten minutes. + +## News roundup + + + + + +### Sad day +* Left my box of hardware on the train +* ~80 microcontrollers are touring Melbourne on our train network + +### CCHS News +* CCHS BBQ Oct 6th +* AI cars outreach day Dec 28th + +### Building an IoT Server with Flask and Python +* [Tutorial](https://pythonforundergradengineers.com/flask-iot-server-motivation.html) from Peter Kazarinoff + * Details how to measure temperature and send it to a server in the cloud +* End-to-end + * Cloud server, running flask/SQLite + * ESP8266 with temp sensor + +### PineTime watch +* [Pine64](https://www.pine64.org/) make interesting hardware, particularly SBC’s + * Good track-record of working with developers +* Recently announced a watch is coming + * Currently nRF52832 but considering nRF52840 + * Seem to be aiming to interest developers + * Aiming for **US$25** + +### MicroPython Binding +* Amirgorn: [Pure Micropython Display Driver](https://blog.littlevgl.com/2019-08-05/micropython-pure-display-driver#micropython-api-to-any-c-library) + * Wrote a pure MicroPython library for the ILI9341 + * Also used pure C driver in LittlevGL + * Then, built a hybrid! Started a driver in Python, used his Binding tool to parse C and create a MicroPython C module + * Technique can be used with any C library +* Also, Hackaday: [MicroPython and C Play together better](https://hackaday.com/2019/08/31/micropython-and-c-play-together-better/) + +### Apothewell +* [Prototype for a pill dispenser](https://apothewell.com/the-first-big-moment/) by Daniel Sharp + * Has a son that is reliant on medications +* Began with some [help from Miguel Grinberg](https://apothewell.com/things-got-rolling-with-a-wheel-and-miguel/) + * Remember: a little help can go a long way! + +### Blip +* Electronut Labs released [Blip on Crowd Supply](https://www.crowdsupply.com/electronut-labs/blip) + * nRF52840: 256KB RAM, 1MB flash - and BLE + * Zephyr, Arduino, CircuitPython… + * Sensors: Accelerometer, light, humidity/temp, debugger + * Optional shields: ePaper and Gaming + * **US$55** + US$8 shipping + +### Microsoft: Python for Beginners + +* [Python for Beginners](https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6) video series by Microsoft + * Set of 44 (!) videos, free, on YouTube + * Looks like good quality, quite in-depth + +### Sparkfun Artemis port +* Michael Welling on [Twitter](https://twitter.com/QwertyEmbedded/status/1174822225028894720): + * “I have a start on a Micropython port for the Artemis if you are interested” +* Released on [Github](https://github.com/mwelling/micropython/tree/artemis/ports/artemis) overnight… + * Remember to [configure the toolchain](https://twitter.com/QwertyEmbedded/status/1176630083533979648) +* Specs + * Cortex M4F, 96MHz, BLE, 48 GPIO, 31 PWM, FCC certified + * Modules: **US$8.95** + * Boards: US$15-25 + +### CCCamp2019 Badge +* Dual core M4F, 96MHz, 512KB, 1+8MB Flash +* ECG, accelerometer/gyro, temp/humidity, RGB LEDs, display +* MicroPython +* Excellent documentation +* [Hackaday article](https://hackaday.com/2019/08/29/hands-on-cccamp2019-badge-is-a-sensor-playground-not-to-be-mistaken-for-a-watch/) +* Cannot yet be bought for love nor money + +### Quotes +* “I do think MicroPython is the future for embedded electronics” +* “...I think Python has already managed to vanquish its challengers” + + + +## Gitlab Continuous Integration for MicroPython +Andrew demonstrated his [Gitlab Continuous Integration system](https://gitlab.com/alelec/micropython_ci/pipelines/latest) that builds *every* port of MicroPython in under ten minutes. Impressive! + + diff --git a/_posts/2020-01-22-January-2020-Meetup.md b/_posts/2020-01-22-January-2020-Meetup.md new file mode 100644 index 0000000000000..280087bf97c7a --- /dev/null +++ b/_posts/2020-01-22-January-2020-Meetup.md @@ -0,0 +1,20 @@ +--- +layout: post +title: January 2020 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Jim** gives a super deep dive on the MicroPython Garbage Collector. + +## January News Roundup + +**Matt** presents the latest MicroPython News Roundup. + + + + + +## The MicroPython Garbage Collector + +**Jim** gives a deep dive on the MicroPython Garbage Collector. Buckle up, there's a ton of interesting information in this one! + + diff --git a/_posts/2020-05-02-March-April-News-Roundup.md b/_posts/2020-05-02-March-April-News-Roundup.md new file mode 100644 index 0000000000000..0046223644552 --- /dev/null +++ b/_posts/2020-05-02-March-April-News-Roundup.md @@ -0,0 +1,13 @@ +--- +layout: post +title: March-April News Roundup +--- + +COVID-19 has interrupted the MicroPython Meetups! Rude. In lieu of a proper meetup, *Matt* decided to record a news roundup. + +## March-April News Roundup +*Matt* Trentini discusses the latest MicroPython news. + + + + diff --git a/_posts/2020-05-27-May-News-Roundup.md b/_posts/2020-05-27-May-News-Roundup.md new file mode 100644 index 0000000000000..c60b57d4c6a9d --- /dev/null +++ b/_posts/2020-05-27-May-News-Roundup.md @@ -0,0 +1,11 @@ +--- +layout: post +title: May News Roundup +--- + +*Matt* gave a news update including MicroPython's successful application to Google's Season of Docs, a brief summary of ARM devices, a look at the new ESP32-powered TTGO watch...and more! (No video) + +## May News Roundup +*Matt* Trentini discusses the latest MicroPython news. + + diff --git a/_posts/2020-07-08-July-News-Roundup.md b/_posts/2020-07-08-July-News-Roundup.md new file mode 100644 index 0000000000000..4ba67b69000f0 --- /dev/null +++ b/_posts/2020-07-08-July-News-Roundup.md @@ -0,0 +1,12 @@ +--- +layout: post +title: July News Roundup +--- + +Check out *Matt*'s slides that cover the lovefest between LEGO and MicroPython, M5Stack's latest releases, sponsorship of the MicroPython project and more. + + +## July News Roundup +*Matt* Trentini discusses the latest MicroPython news. + + diff --git a/_posts/2021-01-27-January-2021-Meetup.md b/_posts/2021-01-27-January-2021-Meetup.md new file mode 100644 index 0000000000000..9578b601f06f8 --- /dev/null +++ b/_posts/2021-01-27-January-2021-Meetup.md @@ -0,0 +1,20 @@ +--- +layout: post +title: January 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** discusses the exciting new Raspberry Pi Pico and the MicroPython port for the new micro! + +## January News Roundup + +**Matt** presents the latest MicroPython News Roundup. + + + + + +## Raspberry Pi Pico MicroPython Port + +**Damien** discusses the exciting new Raspberry Pi Pico and the MicroPython port for the new micro! + + diff --git a/_posts/2021-02-24-February-2021-Meetup.md b/_posts/2021-02-24-February-2021-Meetup.md new file mode 100644 index 0000000000000..189379eeb619a --- /dev/null +++ b/_posts/2021-02-24-February-2021-Meetup.md @@ -0,0 +1,28 @@ +--- +layout: post +title: February 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** shares some of the recent developments (since v1.14) in MicroPython. + +## February News Roundup + +**Matt** presents the latest MicroPython News Roundup. + + + + + +## Recent MicroPython Developments + +**Damien** shares some of the recent developments (since v1.14) in MicroPython, including: + +* Hard and Soft I2C/SPI devices +* CMake support for ESP32 (joining the RP2040 and Zephyr ports) +* Non-volative storage support for ESP32 +* ThreadSafeFlag to help combine the asyncio and interrupt models +* Various Bluetooth improvements, including the new aioble module + +...and more! + + diff --git a/_posts/2021-03-31-March-2021-Meetup.md b/_posts/2021-03-31-March-2021-Meetup.md new file mode 100644 index 0000000000000..8dc9d22bf7d82 --- /dev/null +++ b/_posts/2021-03-31-March-2021-Meetup.md @@ -0,0 +1,31 @@ +--- +layout: post +title: March 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** shares some of the recent MicroPython developments. **Nick** discusses the current state of WebUSB. **Seon** gave a demo of SAM, his latest voice-controlled project! + +## March News Roundup + +**Matt** presents the latest MicroPython News Roundup. + + + + +## Recent MicroPython Developments + +**Damien** shares some of the recent MicroPython developments. + + + +## MicroPython and WebUSB + +**Nick** discusses the current state of WebUSB. + + + +## SAM, a voice-controlled BLE project by Unexpected Maker + +**Seon** gave a demo of SAM, his latest voice-controlled project! + +Check out SAM IRL - It's alive! over at the Unexpected Maker YouTube Channel for an updated demo. diff --git a/_posts/2021-04-28-April-2021-Meetup.md b/_posts/2021-04-28-April-2021-Meetup.md new file mode 100644 index 0000000000000..c89f99e0b58f0 --- /dev/null +++ b/_posts/2021-04-28-April-2021-Meetup.md @@ -0,0 +1,20 @@ +--- +layout: post +title: April 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup and gives a brief WebSerial demo. **Damien** discusses the latest MicroPython release, v1.15. +Also a big thanks to **Lachlan** and **Oliver** for sorting out the video with the new hardware - including using an ATEM mini for mixing video feeds and fancy Rode wireless lapel mics for much better audio recordings! + +## April News Roundup and WebSerial demo + +**Matt** presents the latest MicroPython News Roundup and gives a brief WebSerial demo. + + + + +## MicroPython Release v1.15 + +**Damien** discusses Release v1.15. + + diff --git a/_posts/2021-05-26-May-2021-Meetup.md b/_posts/2021-05-26-May-2021-Meetup.md new file mode 100644 index 0000000000000..dcac0245f1c0a --- /dev/null +++ b/_posts/2021-05-26-May-2021-Meetup.md @@ -0,0 +1,20 @@ +--- +layout: post +title: May 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** discusses the awesome `mpremote` tool that helps interact with a MicroPython device from a PC. + +## [May News Roundup](#maynews) + +**Matt** presents the latest MicroPython News Roundup. + + + + + +## [mpremote](#mpremote) + +**Damien** discusses the fantastic mpremote tool. + + diff --git a/_posts/2021-06-23-June-2021-Meetup.md b/_posts/2021-06-23-June-2021-Meetup.md new file mode 100644 index 0000000000000..fb1a9cb1dd64b --- /dev/null +++ b/_posts/2021-06-23-June-2021-Meetup.md @@ -0,0 +1,25 @@ +--- +layout: post +title: June 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** discusses the latest MicroPython release, v1.16. **Matt** briefly covers some handy unit test techniques. + +## [June News Roundup](#junenews) + +**Matt** presents the latest MicroPython News Roundup. + + + +## [MicroPython Release v1.16](#116) + +**Damien** discusses Release v1.16. + + + +## [Unit tests in MicroPython](#unittests) + +**Matt** discusses some handy unit test techniques in MicroPython, including mocking. + + + diff --git a/_posts/2021-08-25-August-2021-Meetup.md b/_posts/2021-08-25-August-2021-Meetup.md new file mode 100644 index 0000000000000..ddc91001d4918 --- /dev/null +++ b/_posts/2021-08-25-August-2021-Meetup.md @@ -0,0 +1,31 @@ +--- +layout: post +title: August 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** discusses the latest MicroPython release, v1.17. **Jim** covers two features coming in v1.17. The subsequent group chat was also recorded, for the diehards! + +## [August News Roundup](#augustnews) + +**Matt** presents the latest MicroPython News Roundup. + + + + +## [MicroPython Release v1.17](#117) + +**Damien** discusses Release v1.17. + + + +## [Two features in v1.17](#two) + +**Jim** talks about two upcoming features in v1.17: fstrings and NeoPixel improvements. + + + +## [Group chat](#chat) + +For the diehards, listen as the gang yammers on about all things MicroPython. + + diff --git a/_posts/2021-09-22-September-2021-Meetup.md b/_posts/2021-09-22-September-2021-Meetup.md new file mode 100644 index 0000000000000..522da1ae0d004 --- /dev/null +++ b/_posts/2021-09-22-September-2021-Meetup.md @@ -0,0 +1,25 @@ +--- +layout: post +title: September 2021 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** goes in-depth on upcoming MicroPython cache optimisation improvements. The subsequent group chat was also recorded, for the diehards! + +## [September News Roundup](#news) + +**Matt** presents the latest MicroPython News Roundup. + + + + +## [MicroPython cache optimisations](#cache) + +**Damien** goes in-depth on upcoming MicroPython cache optimisation improvements. + + + +## [Group chat](#chat) + +For the diehards, listen as the gang yammers on about all things MicroPython. + + diff --git a/_posts/2022-06-22-June-2022-Meetup.md b/_posts/2022-06-22-June-2022-Meetup.md new file mode 100644 index 0000000000000..63f20a20c7a9f --- /dev/null +++ b/_posts/2022-06-22-June-2022-Meetup.md @@ -0,0 +1,32 @@ +--- +layout: post +title: June 2022 Meetup +--- + +**Matt** presents the latest MicroPython News Roundup. **Damien** discusses MicroPython v1.19(.1), **Andrew** reveals that PDB support _may be here_ - and there is some additional content for the regulars. + +## [June 2022 News Roundup](#news) + +**Matt** presents the latest MicroPython News Roundup. + + + + +## [MicroPython v1.19(.1)](#v119) + +**Damien** discusses the highlights of the latest MicroPython release, v1.19. + + + +## [A Debugger for MicroPython?](#pdb4mp) + +**Andrew** reveals his latest side-project...is a debugger for MicroPython possible? + + + +## [For the diehard MicroPythonistas](#diehards) + +For the diehards, we also shared some projects and discussed the pros and cons of in-person meetups: + + + diff --git a/_posts/2022-07-27-July-2022-Meetup.md b/_posts/2022-07-27-July-2022-Meetup.md new file mode 100644 index 0000000000000..84f3847afa374 --- /dev/null +++ b/_posts/2022-07-27-July-2022-Meetup.md @@ -0,0 +1,42 @@ +--- +layout: post +title: July 2022 Meetup +--- + +**Matt** delivers the latest MicroPython News Roundup. **Damien** announces support for the Raspberry Pi Pico W, **Andy** covers EuroPython 2022...and there is an 'in the weeds' discussion on BLE. + +## [July 2022 News Roundup](#news) + +**Matt Trentini** presents the latest MicroPython News Roundup. + + + + +## [Raspberry Pi Pico W](#picow) + +**Damien George** introduces the Raspberry Pi Pico W, the latest supported microcontroller for MicroPython. + + + +## [EuroPython 2022](#euro2022) + +**Andy Piper** gives an overview of EuroPython 2022, including his talk "Try Something Different: Explore MicroPython!". + + + + +### Try Something Different: Explore MicroPython! + +Andy's actual talk, from EuroPython 2022. + +(Video not yet published, will embed it as soon as it's available!) + + + + +## [For the diehard MicroPythonistas](#diehards) + +For the diehards, we also discussed some nitty-gritty BLE details: + + + diff --git a/_posts/2024-02-28-February-2024-Meetup.md b/_posts/2024-02-28-February-2024-Meetup.md new file mode 100644 index 0000000000000..a762487501e3d --- /dev/null +++ b/_posts/2024-02-28-February-2024-Meetup.md @@ -0,0 +1,192 @@ +--- +layout: post +title: February 2024 Meetup +--- + +To give Matt a bit of a break, **Sean** presented this month's news round-up + +## News Round-up + +### MicroPython v1.22.2 Patch release for rp2 DMA, UART and BLE; esp32 BLE; renesas-ra I2C +A few minor changes, [from the release notes](https://github.com/micropython/micropython/releases/tag/v1.22.2): + +> * py/compile: fix potential Py-stack overflow in try-finally with return +> * extmod/asyncio: support gather of tasks that finish early +> * extmod/modssl\_mbedtls: fix cipher iteration in SSLContext.get\_ciphers +> * extmod/btstack: reset pending\_value\_handle before calling write-done cb +> * extmod/btstack: reset pending\_value\_handle before calling read-done cb +> * esp32/mpnimbleport: release the GIL while doing NimBLE port deinit +> * esp32: increase NimBLE task stack size and overflow detection headroom +> * mimxrt/modmachine: fix deepsleep wakeup pin ifdef +> * renesas-ra/ra: fix SysTick clock source +> * renesas-ra/boards/ARDUINO\_PORTENTA\_C33: fix the RTC clock source +> * renesas-ra/ra/ra\_i2c: fix 1 byte and 2 bytes read issue +> * rp2/rp2\_dma: fix fetching 'write' buffers for writing not reading +> * rp2/machine\_uart: fix event wait in uart.flush() and uart.read() +> * rp2: change machine.I2S and rp2.DMA to use shared DMA IRQ handlers + +### Arduino Alvik + +Arduino have announced [a cute pocket-sized little robot, called Alvik](https://www.arduino.cc/education/arduino-alvik/) + +![Arduino Alvik](../images/2024-02-28_meetup_alvik.jpg) + +* Comes loaded with MicroPython out of the box +* Built-in [Arduino Nano ESP32, using an ESP32-S3](https://www.espressif.com/en/news/Alvik_ESP32-S3) +* Comes with numerous sensors: + * line-following + * Time-of-Flight (distance) + * 6-axis accelerometer and gyroscope + * proximity + * colour + +### Using a Raspberry Pi Pico to Enhance a Vintage Radio Shack Microcomputer Kit + +Can a vintage microcontroller from 1985 run MicroPython? Of course not! Especially not one with a 4-bit architecture and 512 _bits_ of RAM. But, [this All About Circuits project using the Radio Shack Science Fair Microcomputer Trainer coupled to a Raspberry Pi Pico](https://www.allaboutcircuits.com/projects/using-a-raspberry-pi-pico-to-enhance-a-vintage-radio-shack-microcomputer-kit/) serves as a great introduction to how simple computers work. + +![2024-02-28_meetup_radioshack.jpg](../images/2024-02-28_meetup_radioshack.jpg) + +* Interesting intoduction to the Texas Instruments TMS1100, a very simple system-on-chip microcontroller (and claimed to be the first such chip) + +### MPRemote Visual Studio Code Extension + +> The goal of the MPRemote extension for Visual Studio Code is to give easy point and click access to many of the functions of the MicroPython project's MPRemote command-line tool. Rather than typing commands in a separate window, you simply navigate to them using the VS Code user interface. + +![2024-02-28_meetup_mpremote-vscode.png](../images/2024-02-28_meetup_mpremote-vscode.png) + +* Thanks to Dave, [DavesCodeMusings on GitHub](https://github.com/DavesCodeMusings) +* Have a look at [the GitHub repo](https://github.com/DavesCodeMusings/mpremote-vscode) or [detailed wiki page](https://github.com/DavesCodeMusings/mpremote-vscode/wiki) for more info + +### Driving a LEGO car with an Xbox controller + +Laurens Valk [has showed off driving a remote control car](https://fosstodon.org/@laurensvalk/111951571623325379) using LEGO Pybricks system attached to an Xbox controller + +![2024-02-28_meetup_lego-xbox-pybricks.jpg](../images/2024-02-28_meetup_lego-xbox-pybricks.jpg) + +* We're going to try and get this running in the session today! We'll take photos if we get it working… +* Check out [this video](https://www.youtube.com/watch?v=fxInp9cutNg) +* [Pybricks](https://pybricks.com/) is MicroPython and block coding for LEGO hubs + +### micropython-hexdump + +Our own Matt Trentini has made a MicroPython library that implements `hexdump` + +``` + >>> from os import urandom + >>> from hexdump import hd, xxd + >>> data = urandom(100) + >>> hd(data) + 00000000 4d 9a 16 3d 4c 87 c4 31 9e 95 36 e3 f8 49 4b 4b |M..=L..1..6..IKK| + 00000010 98 12 6b b6 a6 a3 fd 1b 91 a5 21 95 73 ac 35 6f |..k.......!.s.5o| + 00000020 dc b4 4d 0b 43 fb bb 36 d6 17 52 4d 40 b4 04 ed |..M.C..6..RM@...| + 00000030 2b 7c 8b 30 84 a3 96 9a 71 e4 e5 69 d1 62 b7 06 |+|.0....q..i.b..| + 00000040 fd 89 3a f7 b3 06 04 39 f9 70 62 33 d2 56 35 e2 |..:....9.pb3.V5.| + 00000050 fc 7e 16 46 5f 35 1d 62 63 d4 5c 18 f3 de 6d 3c |.~.F_5.bc.\...m<| + 00000060 a1 1f fa ed |....| + 00000061 + >>> xxd(data) + 00000000: 4d 9a 16 3d 4c 87 c4 31 9e 95 36 e3 f8 49 4b 4b M..=L..1..6..IKK + 00000010: 98 12 6b b6 a6 a3 fd 1b 91 a5 21 95 73 ac 35 6f ..k.......!.s.5o + 00000020: dc b4 4d 0b 43 fb bb 36 d6 17 52 4d 40 b4 04 ed ..M.C..6..RM@... + 00000030: 2b 7c 8b 30 84 a3 96 9a 71 e4 e5 69 d1 62 b7 06 +|.0....q..i.b.. + 00000040: fd 89 3a f7 b3 06 04 39 f9 70 62 33 d2 56 35 e2 ..:....9.pb3.V5. + 00000050: fc 7e 16 46 5f 35 1d 62 63 d4 5c 18 f3 de 6d 3c .~.F_5.bc.\...m< + 00000060: a1 1f fa ed .... + +``` + +* Can be installed with `mip` +* [Check it out on GitHub](https://github.com/mattytrentini/micropython-hexdump/) + +### Crickets in (a northern hemisphere) February + +Stewart C. Russell (scruss) has a new project guide on [using some Raspberry Pi Picos to make sounds like crickets](https://scruss.com/blog/2024/02/19/crickets-in-february/) do, including adapting the chirp rate depending on the temperature + +![2024-02-28_meetup_crickets.jpg](../images/2024-02-28_meetup_crickets.jpg) + +* Makes more sense when you know he lives in Canada! (it's cold there in February...) +* Good as an introductory lesson on doing a simple algorithm in MicroPython and interfacing that to some hardware + +### Make Your Pet Hexapod + +Who _doesn't_ want a 3D printed walking mechanical insect?? + +![2024-02-28_meetup_makeyourpet.png](../images/2024-02-28_meetup_makeyourpet.png) + +* [YouTube video series](https://www.youtube.com/makeyourpet) on making a robotic insect with a Pimoroni Servo2040, from Make Your Pet +* [Lots of information available](https://github.com/MakeYourPet/hexapod), although doesn't seem like it's a full end-to-end guide – more of a starting point to customise your own creation + +### Notifications to water your pot plants + +WizNet have [published a quick project demo](https://maker.wiznet.io/viktor/projects/how-to-monitor-your-plant-with-w5100s-evb-pico/?page=3&serob=mv&serterm=all) using one of their Ethernet boards to get Telegram messages when your pot plants need to be watered + +![2024-02-28_meetup_watering.png](../images/2024-02-28_meetup_watering.png) + +* Uses the W5100S-EVB-Pico +* And an undisclosed moisture sensor + +### Build-A-Thon Nigeria + +Nigerian government organised [an educational event](https://www.pulse.ng/news/local/build-a-thon-federal-government-concludes-student-centric-tech-program/1qk2j1s) in conjunction with the Raspberry Pi Foundation + +![2024-02-28_meetup_buildathon.jpg](../images/2024-02-28_meetup_buildathon.jpg) + +* 4-days program +* Over 500 senior secondary school students +* Introduction to embedded systems and maker culture using Raspberry Pi Pico and MicroPython + +### Bus Pirate 5! + +Hackaday [have written up a very detailed hand-on review](https://hackaday.com/2024/02/12/hands-on-bus-pirate-5/) of [the new Bus Pirate 5](https://buspirate.com/bus-pirate-5-rev-10-now-available/) + +![2024-02-28_meetup_bus-pirate-5.jpg](../images/2024-02-28_meetup_bus-pirate-5.jpg) + +* Latest version of the Bus Pirate, a very handy protocol analyser and multi-tool +* Serial text-based interface, no special software needed (just a serial terminal) +* Has a display to show I/O configuration +* 1.2 V to 5.5 V I/O tolerance +* Programmable power supply, with current limiting +* Open source firmware, still in its infancy, but is [under active development](https://github.com/DangerousPrototypes/BusPirate5-firmware) +* I want one! Seems like it's US$38, [from their website](https://buspirate.com/get/) + +### Electrosmith Daisy Seed + +The [Daisy](https://electro-smith.com/products/daisy-seed) is an embedded system geared towards making music + +![2024-02-28_meetup_daisy-seed.jpg](../images/2024-02-28_meetup_daisy-seed.jpg) + +* Stereo audio I/O – 96kHz / 24-bit audio hardware +* ARM Cortex-M7 MCU, running at 480MHz +* 64MB of SDRAM for up to 10 minute long audio buffers, 8MB external flash +* No specific MicroPython support, but the MCU is supported so shouldn't be that hard to make a new port +* US$22, [from the Electrosmith website](https://electro-smith.com/products/daisy-seed?variant=45175761076516) + +### Waveshare RP2040-BLE + +Combines a Raspberry Pi RP2040 microcontroller with an unnamed Bluetooth 5.1 dual-mode chip + +![2024-02-28_meetup_waveshare-rp2040ble.jpg](../images/2024-02-28_meetup_waveshare-rp2040ble.jpg) + +* Raspberry Pi RP2040 +* Bluetooth 5.1 dual-mode function (BLE and classic) +* Controlled by serial AT commands +* Has [a wiki page with some examples](https://www.waveshare.com/wiki/RP2040-BLE) +* Very inexpensive, like most Waveshare parts, US$6.50 [from their online shop](https://www.waveshare.com/rp2040-ble.htm) + +### Waveshare ESP32-H2-DEV-KIT-N4 + +RISC-V 32-bit single-core processor with a clock speed of up to 96MHz + +![2024-02-28_meetup_ESP32-H2-DEV-KIT-N4.jpg](../images/2024-02-28_meetup_ESP32-H2-DEV-KIT-N4.jpg) + +* ESP32-H2-MINI-1 module +* 320 KB SRAM, 128 KB ROM, 4 KB LP memory, 4MB Flash memory +* Radios for Bluetooth, Zigbee, Thread +* Lots of information [on the wiki page](https://www.waveshare.com/wiki/ESP32-H2-DEV-KIT-N4) +* Only US$5.99 [from their online shop](https://www.waveshare.com/esp32-h2-dev-kit-n4.htm) + +### Closing Thought + + From [@markb139](https://twitter.com/markb139) [on X](https://twitter.com/markb139/status/1753061279797788681): + + > At one point I was debugging a C extension to micropython in one vscode and debugging python code in another. It was at that point I realised what an amazing set of low cost tools we have access to diff --git a/_posts/2024-04-24-April-2024-Meetup.md b/_posts/2024-04-24-April-2024-Meetup.md new file mode 100644 index 0000000000000..2c9bd2468aa9e --- /dev/null +++ b/_posts/2024-04-24-April-2024-Meetup.md @@ -0,0 +1,287 @@ +--- +layout: post +title: April 2024 Meetup +--- + +*Matt* has a bumper News Round-up! + +## News Round-up + +--- + +### Headlines + +#### MicroPython v1.23 Release + +![MPLogo](../images/2024-04/mplogo.png) + +It's taking a little longer than expected, but the v1.23 release is shaping up +to be a big one! Check out the [release-1.23.0 +milestone](https://github.com/micropython/micropython/milestone/6) for the +current status. + +Still to resolve: IPv6, PyScript issues and USB Device support. + +#### CircuitPython 9.0 + +![CircuitPython9](../images/2024-04/cp9.jpg) + +Congrats to our CircuitPython 'cousins' who have ust released version 9.0! Some +very cool additions, including USB Host, synthio updates, as well as merging in +MicroPython 1.21. (Ed: 9.0.4 is the latest bugfix release at the time of +writing) + +#### Espressif acquires majority stake in M5Stack + +![Espressif and M5Stack](../images/2024-04/espressif-m5stack.jpg) + +In a [press +release](https://www.espressif.com/en/news/Espressif_Acquires_M5Stack), +Espressif announced they were investing in a majority share of M5Stack. And +M5Stack maintain that '[nothing +changes](https://twitter.com/M5Stack/status/1782337405242294337)' in how they +operate. + +#### Renesas buys Altium + +![Renesas Altium](../images/2024-04/renesas_altium.png) + +Japanese chip manufacturer Renesas plans to acquire PCB deisgn software Altium +for A$9.1 billion (!). + +[eeNews: Renesas to buy PCB design software firm Altium for US$5.9 +billion](https://www.eenewseurope.com/en/renesas-to-buy-pcb-design-software-firm-altium-for-us5-9-billion) + +#### Arduino Days + +![ArduinoDays](../images/2024-04/arduino_days.jpg) + +[Arduino Days](https://days.arduino.cc/) was a three-day event talking about all +things Arduino - which, these days, includes a lot of MicroPython stuff. + +Everything was live streamed and is available on YouTube. + +--- + +### Matt's New hardware + +#### M5Stack care package + +![M5StackCarePackage](../images/2024-04/m5stack_carepackage.png) + +- [M5Stack Dial](https://shop.m5stack.com/products/m5stack-dial-esp32-s3-smart-rotary-knob-w-1-28-round-touch-screen) +- [M5Stack Din Meter](https://shop.m5stack.com/products/m5stack-din-meter-w-m5stamps3) +- [M5Stack Cardputer Kit](https://shop.m5stack.com/products/m5stack-cardputer-kit-w-m5stamps3) +- [M5Stack NanoC6](https://shop.m5stack.com/products/m5stack-nanoc6-dev-kit) +- +Other peripherals! + +#### STM32U083RC Nucleo + +![STM32NUCLOE-U083RC](../images/2024-04/stm32nucleo-u083rc.png) + +Super low power but with a Cortex-M0 @56MHz, 256KB flash and 40KB RAM it should +be a decent device for MicroPython! + +#### Gurgle Word Clock + +The Gurgle Word Clock is the [first kit by the Gurgle +folks](https://twitter.com/GurgleApps/status/1775204450849673563) and provides +all the parts you need to create a beautiful *Word Clock*, where words are lit +by a NeoPixel panel to display the time. + +![Gurgle Apps Word Clock](../images/2024-04/gurglewordclock.png) + +The [kit can be +purchased](https://gurgleapps.com/reviews/electronics/wifi-controlled-color-word-clock-kit-micropython) +complete or in parts, and the 3D models and MicroPython software are [open +source](https://github.com/gurgleapps/Gurgle-Apps-Word-Clock/). + +It's such a fantastic little project! I think it will be of particular interest +to parents looking to build a relatively simple STEM project with their teen +child...or if you just want an attractive Word Clock! + +--- + +### Hardware News + +#### STM32 Summit + +![STMicro Logo](../images/2024-04/STMicroelectronics_logo.png) + +Lots of news! + +- Beefier STM32**C0**'s. *Cheap*. + - Up to 256KB flash, 36KB RAM +- A new series: **U0**. Super low power, affordable. + - Up to 256KB flash, 40KB RAM +- Beefier **U5**'s. Low power and power*ful*. + - Graphics acceleration (incl vector), 3-4MB RAM +- Beefier **H7**'s. Super powerful. + - Also graphics acceleration, 600MHz +- New **WBA55**. H5 core + radio + - 100MHz, radio good for BLE, Matter, Zigbee +- **MP2**. Two worlds, combined + - 64bit Linux core + Cortex M33 + - Good match for OpenAMP? + +Other big topics: + +- AI at the edge + - Including STM32N6 +- Security + +--- + +#### Embedded Open Source Summit + +![Build Wireless Products Faster with Zephyr and MicroPython](../images/2024-04/zephyrandmicropython.png) + +[Build Wireless Products Faster with Zephyr and +MicroPython](https://eoss24.sched.com/event/1aBFA) - Ryan Erickson + +Video: See the [recorded livestream from +~7:34](https://www.youtube.com/live/nq1dvz3skUc?si=cgz7nq09yQArVz_d&t=27272). + +Really interesting; runs MicroPython as a module in Zephyr, provides Zephyr +filesystem to MicroPython and allows access to C drivers. Slightly different +perspective to the MicroPython Zephyr port, though there is a lot that could be +reused. + +#### Rust vs MicroPython + +![Rust vs MicroPython](../images/2024-04/rustvsmp.png) + +Kevin McAleer dons the fire-proof vest [Code Wars: Rust vs +MicroPython](https://www.youtube.com/watch?v=M9LekkoQyf0) + +#### MicroPython Flipper Zero + +![MicroPython on Flipper Zero](../images/2024-04/mponflipper.png) + +Run MicroPython as an application on the Flipper Zero with +[mp-flipper](https://github.com/ofabel/mp-flipper). (Unless you're in Canada!) + +#### Raspberry Pi Pico W Lessons for Absolute Beginners + +![RPi Pico W Lessons](../images/2024-04/paulmcwhorter.png) + +Paul McWhorter continues to [release lessons on the RPi Pico +W](https://www.youtube.com/playlist?list=PLGs0VKk2DiYz8js1SJog21cDhkBqyAhC5). +His first was over a year ago and he's just published #66 - with another 13 +already scheduled. Many use MicroPython. + +#### MicroPython on the Playdate + +![MicroPython on the Playdate](../images/2024-04/mponplaydate.jpeg) + +[Christian Walther](https://fosstodon.org/@isziaui@mstdn.social) demonstrates +[MicroPython running on the +Playdate](https://fosstodon.org/@isziaui@mstdn.social/112230897686298712)! + +He recently published his repository +[pew-playdate](https://github.com/cwalther/pew-playdate). I'm itching to try it +out! Christian's goal is to be able to get "[Pew +Pew](https://fosstodon.org/@isziaui@mstdn.social)" games running on the +Playdate. + +#### Antirez + +![Antirez](../images/2024-04/antirez_eink.jpg) + +Salvatore Sanfilippo, aka *Antirez*, has been digging into MicroPython. + +- [BME680 driver](https://github.com/antirez/bme680-pure-mp) +- [microfont](https://github.com/antirez/microfont) +- [vl53l0x-nb](https://github.com/antirez/vl53l0x-nb) +- [uc8151_micropython](https://github.com/antirez/uc8151_micropython) + - Badget 2040 eink driver - but fast, anti-flickering and 32 levels of grey + (monochrome device!) + - [Clever e-ink driver does 32 levels of grey, avoids update flicker, and + more](https://hackaday.com/2024/03/23/clever-e-ink-driver-does-32-levels-of-grey-avoids-update-flicker-and-more/) +- [Viper](https://twitter.com/antirez/status/1766588917245968643) + - "Using MicroPython Viper...a 20x speed-up. C-level performance" + - "Viper is a beast" + - "...with Viper I found little or zero uses for C..." +- [Small random ideas thread about embedded + programming...](https://twitter.com/antirez/status/1762774948240625723) + - "In the embedded world MicroPython may be regarded as something just for + hobbists, not suitable for real work. I beg to differ" + - The whole thread is worth a read + +This is just in the last month... + +### Walter + +The [Walter Crowd Supply](https://www.crowdsupply.com/dptechnics/walter) is now +live! + + + +### Your oscilloscope may run MicroPython... + +![DSO](../images/2024-04/dso.png) + +Use MicroPython to script your DSO! + +This is a [Gwinstek MPO-2000 +Oscilloscope](https://www.gwinstek.com/en-global/products/detail) + +--- + +### Projects + +![LevelCrossing](../images/2024-04/PeterPracticusLevelCrossing.jpg) + +Peter Practicus [Level + Crossing](https://twitter.com/PaterPracticus/status/1762862195283484696) + +![M5DialFlights](../images/2024-04/m5dial_flights.png) + +Sebastien's: [Use your M5Dial to display nearby +flights](https://twitter.com/Seb____________/status/1759680487793029220). + +--- + +### Quick Bytes + +![Quick Bytes](../images/2024-04/quick_bytes.png) + +* Edge Impulse: [Announcing Support for the OpenMV Cam + RT1062](https://www.edgeimpulse.com/blog/announcing-support-for-the-openmv-cam-rt1062) +* Random Nerd Tutorials: [Raspberry Pi Pico W: Asynchronous Web Server + (MicroPython)](https://randomnerdtutorials.com/raspberry-pi-pico-w-asynchronous-web-server-micropython/) +* Also by RNT: eBook - [Learn Raspberry Pi Pico/Pico W with + MicroPython](https://rntlab.com/product/learn-raspberry-pi-pico-w-with-micropython-ebook/) + * US$29 (I bought a copy, feel free to take a look) +* Hackaday: [Hacking An Actual WiFi Toothbrush With An + ESP32-C3](https://hackaday.com/2024/03/05/hacking-an-actual-wifi-toothbrush-with-an-esp32-c3/) + * (Rickroll #1!) +* Hackster.io: [How to Build a REST API on Raspberry Pi Pico W & Control + LED](https://www.hackster.io/rajivcodelab/how-to-build-a-rest-api-on-raspberry-pi-pico-w-control-led-91b25b) +* [Installing MicroPython Modbus Library on Raspberry Pi Pico + W](https://www.hackster.io/fusion_automate/installing-micropython-modbus-library-on-raspberry-pi-pico-w-9a0696) +* [Place Calls from A9G Board using Raspberry Pi Pico + W](https://www.hackster.io/fusion_automate/place-calls-from-a9g-board-using-raspberry-pi-pico-w-0edaa6) +* [Flash Micropython Firmware in Seed Studio XIAO + ESP32C3](https://www.hackster.io/fusion_automate/flash-micropython-firmware-in-seed-studio-xiao-esp32c3-80ed84) +* LED Animation library porting + +--- + +### Closing Thoughts + +[Bitluni](https://www.youtube.com/channel/UCp_5PO66faM4dBFbFFBdPSQ/join) built +the worlds most complex (spoiler) Rickroll: + + + +Uri Shaked designed a *SkullFET*; a transistor in the shape of a skull and +crossbone! [Github](https://github.com/wokwi/skullfet) + + + +--- + +### Midjourney fun + +![MidJourney](../images/2024-04/midjourney10.png) \ No newline at end of file diff --git a/_posts/2024-05-22-May-2024-Meetup.md b/_posts/2024-05-22-May-2024-Meetup.md new file mode 100644 index 0000000000000..efe84cc74bc6e --- /dev/null +++ b/_posts/2024-05-22-May-2024-Meetup.md @@ -0,0 +1,474 @@ +--- +layout: post +title: May 2024 Meetup +--- + +*Matt* delivers the News Roundup and *Lachlan* gives a brief Propeller 2 update. + +Update: The [video recording](https://www.youtube.com/watch?v=NCc-Ci0OZng) has been posted on the MicroPython YouTube channel. + +## News Round-up + +--- + +### Headlines + +#### Happy 11th Birthday MicroPython! + +![HappyBirthdayMP](../images/2024-05/happybdaymp.png) + +See the [tweet](https://x.com/micropython/status/1784874073329180975). + +--- + +#### MicroPython v1.23 Release + +![MPLogo](../images/2024-04/mplogo.png) + +Stay tuned, it's close! + +--- + +#### Arduino Alvik + +![Alvik](../images/2024-05/alvik.webp) + +The [Arduino Alvik](https://www.arduino.cc/education/arduino-alvik/) has started +shipping. At US$140 it isn't cheap, but the initial reports seem *really* +positive. Seems *perfect* for STEM education! + +The [arduino-alvik-mpy](https://github.com/arduino/arduino-alvik-mpy) +MicroPython was also released. A `mip`-installable library from Arduino! + +Alex Glow's unboxing videos at hackster.io are always good and the [Alvik +unboxing](https://www.hackster.io/videos/1591) is no exception. + +--- + +#### PyCon + +![PyCon US](../images/2024-05/pyconus.jpg) + +[PyCon US](https://us.pycon.org) is wrapping up, May 15-23 in Pittsburgh, +Pennsylvania. It's a fantastic source to learn more about Python - check out the +[schedule](https://us.pycon.org/2024/schedule/) for sessions you might be +interested in and keep an eye on the [PyCon US 2024 YouTube +Playlist](https://www.youtube.com/playlist?list=PL2Uw4_HvXqvYhjub9bw4uDAmNtprgAvlJ) +as all the presentations are recorded and will eventually be freely available. + +Two sessions of interest for us are: + +- [Introduction to MicroPython: getting started with BBC + micro:bit](https://us.pycon.org/2024/schedule/presentation/4/) by [Juliana + Karoline de Sousa](https://us.pycon.org/2024/speaker/profile/5/) +- [Connecting Old to New with CircuitPython: Retrocomputer input devices on + modern PCs](https://us.pycon.org/2024/schedule/presentation/15/) by [Jeff + Epler](https://us.pycon.org/2024/speaker/profile/18/) + +![Juliana](../images/2024-05/juliana.jpg) +![Jeff](../images/2024-05/jeff.jpg) + +There are also 3x sessions (!) involving PyScript: +- [Making Your Documentation Interactive with + PyScript](https://us.pycon.org/2024/schedule/presentation/92/) by [Jeff + Glass](https://us.pycon.org/2024/speaker/profile/105/) +- [Interactive Software Documentation, with + PyScript](https://us.pycon.org/2024/schedule/presentation/115/) by [Valerio + Maggio](https://us.pycon.org/2024/speaker/profile/133/) +- [Build in-browser 3D experiences with WebGL and + PyScript](https://us.pycon.org/2024/schedule/presentation/139/) by [Łukasz + Langa](https://us.pycon.org/2024/speaker/profile/159/) + +![JeffG](../images/2024-05/jeffg.jpg) +![Valerio](../images/2024-05/valerio.jpg) +![Łukasz](../images/2024-05/lukasz.jpg) + +--- + +#### PyScript + +![PyScript](../images/2024-05/pyscript.svg) + +PyScript is moving *rapidly*! + +![PyScript Screenshot](../images/2024-05/pyscript_screenshot.png) + +[PyScript.net](https://pyscript.net/) contains PyScript documentation...and now +provides an interactive MicroPython REPL in your browser! And there is now +increasing support to interact with the DOM from MicroPython. It's becoming +*very* usable *very* quickly. + + + +Andreas Giammarchi ([Twitter](https://x.com/WebReflection)) provided a short but +*awesome* demo blinking an LED - no big deal except that this is MicroPython *in +the browser*...controlling MicroPython *on a device*! + +Andreas has also released +[micro-repl](https://github.com/WebReflection/micro-repl), a SerialPort based +MicroPython REPL for the browser. + +--- + +#### PySheets + +![PySheets](../images/2024-05/pysheets1.png) + +[PySheets](https://pysheets.app/) is "The Spreadsheet UI for Python". Runs in +the browser and is commercial, built on PyScript. Interestingly, it appears to +use both CPython and MicroPython back-ends - the former for calculation and providing data science capabilities, the latter for managing the UI. + +One of the developers added to the [Hacker News +announcement](https://news.ycombinator.com/item?id=40179566) (look for +'laffra'). + +MicroPython in the browser is - apparently - already here! + +--- + +### Matt's New Hardware + +#### Espressif ESP32-H2 (DevKitM-1) + +![Espressif ESP32-H2](../images/2024-05/esp32h2-devkitm-1.webp) + +96MHz RISC-V, 4MB flash, 320KB RAM, 19 GPIO, BLE/Thread/Zigbee (no wifi). + +--- + +#### Unexpected Maker: Bling! and TinyC6 + +![UM Bling](../images/2024-05/um_bling.png) + +[Bling! at UM Shop](https://unexpectedmaker.com/shop.html#!/BLING/p/596946493/category=0) + +- Stunning! 320x (40x8) RGB LED Matrix. +- ESP32-S3 (dual-core 240MHz), Wifi/BLE +- 8MB Flash, 2MB PSRAM +- Buttons, Battery charger +- I2S Mic & amp, RTC, uSD, STEMMA QT + +(Three versions are available, this is the 'full' Hello BLING.) + +![UM TinyC6](../images/2024-05/um_tinyc6.jpg) + +[TinyC6 at UM Shop](https://unexpectedmaker.com/shop.html#!/TinyC6/p/602208790/category=0) + +- ESP32-C6, 160MHz RISC-V, Wifi/BLE +- 8MB Flash, 512KB SRAM +- Battery charging, RGB LED + +--- + +#### NXP FRDM-MCXN947 dev board + +![FRDM-MCXNXP947](../images/2024-05/frdm-mcxn947.png) + +[FRDM-MCXNXP947 home page](https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-n94-n54-mcus:FRDM-MCXN947) + +Bought to help test PR #[13429](https://github.com/micropython/micropython/pull/13429) + +- 150MHz Dual-core Cortex M33 +- 2MB dual-bank flash, 512KB RAM +- 124 GPIO, DSP accel, Neural accel, CAN, Eth, touch... + +--- + +### Hardware News + +#### RT-Thread/Renesas Vision Board + +![Vision Board](../images/2024-05/vision_board.png) + +[AliExpress shop](https://www.aliexpress.com/item/1005006676753692.html) + +A collaboration between RT-Thread and Renesas (?). + +- Renesas R7FA8D1BH 480MHz Cortex M85 - first board to use this processor? +- Internal: 2MB flash, 1MB SRAM +- External: 8MB flash, 32MB SRAM +- Wifi (Renesas RW007) +- Display support: MIPI and RGB666 +- OpenMV Port already available! + +[sdk-bsp-ra8d1-vision-board](https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board) + +**AUD$53/64 (with cam and LCD)** + +--- + +#### Cytron Maker Uno RP2040 + +![Cytron Maker Uno RP2040](../images/2024-05/maker-uno-rp2040.jpg) + +[Cytron Maker Uno RP2040](https://www.cytron.io/p-maker-uno-rp2040) + +- RP2040: Dual-core Cortex M0 @133MHz +- 264KB RAM, 2MB flash +- Expansion galore: 6x grove, Arduino UNO headers, STEMMA QT, 12 pin header for servos +- LEDs on 16 GPIO + +**US$15** + +[Maker Uno RP2040 review at +CNX](https://www.cnx-software.com/2024/05/12/maker-uno-rp2040-review-arduino-ide-micro-servo-soil-moisture-sensor-ultrasonic-sensor-i2c-oled/) + +--- + +#### Seeed Studio XIAO ESP32-C6 + +![Seeed Studio XIAO ESP32C6](../images/2024-05/seeedxiaoc6.png) + +Seeed Studio announced their [XIAO ESP32-C6](https://us.seeedstudio.com/Seeed-Studio-XIAO-ESP32C6-p-5884.html). + +ESP32-C6 (160MHz RISC-V, WiFi/BLE/Matter, 512KB RAM), XIAO form-factor, 4MB Flash, on-board & external antenna. + +**US$5.20** + +--- + +#### Waveshare + +More to report next month, but Waveshare continue to announce interesting +products... + +![Waveshare 1.69" touch](../images/2024-05/waveshare1.jpg) + +[ESP32-S3 1.69" Touch Development Board, 240×280 With Accelerometer And Gyroscope](https://www.waveshare.com/esp32-s3-touch-lcd-1.69.htm) + +**US$22** + +[CNX review their ESP32-S3 1.69" touch +device](https://www.cnx-software.com/2024/05/17/esp32-s3-1-69-inch-touch-display-features-6-axis-imu-rtc-uart/) + +![Waveshare ESP32-S3 RGB LED Matrix board](../images/2024-05/waveshare2.jpg) + +[ESP32-S3 RGB LED Matrix Boar](https://www.waveshare.com/esp32-s3-matrix.htm) + +**US$9** + +--- + +#### SparkFun Thing Plus - RA6M5 + +![Sparkfun Thing Plus RA6M5](../images/2024-05/sparkfun_thing_plus_ra6m5.jpg) + +Sparkfun annouced the latest addition to their Thing+ range, [Introducing the +RA6M5 Thing+](https://www.sparkfun.com/news/10404). + +Specs: + +- Renesas 200MHz RA6M5 +- 2MB+16MB flash, 512KB RAM, microSD +- BLE (via Renesas DA14531MOD module) +- Feather feetprint, Qeiic connector + +**US$50** + +--- + +#### Olimex ESP32-POE2 + +![Olimex ESP32-POE2](../images/2024-05/olimex-esp32-poe2.jpg) + +An update to their venerable POE board, the [Olimex +ESP32-POE2](https://olimex.wordpress.com/2024/04/25/esp32-poe2-open-source-hardware-poe-iot-board-provides-up-to-25w-power-supply-to-external-circuits/) +has an ESP32 (4MB flash/8MB RAM) at it's heart but the unique feature is on the +power side. This board can supply 24V/0.75A or 12V/1.5A - as well as an +additional 5V/1.5A - to an external circuit. + +Olimex have also open-sourced the hardware, software and documentation under permissive licenses, check out their repository [ESP32-POE2](https://github.com/OLIMEX/ESP32-POE2). + +**€21** [direct from +Olimex](https://www.olimex.com/Products/IoT/ESP32/ESP32-POE2/open-source-hardware) + +--- + +### Software News + +#### MicroPython on the Playdate + +Discussed last month, Christian hasn't stopped working on his MicroPython port +to the Playdate. It now [has access to the +filesystem](https://fosstodon.org/@isziaui@mstdn.social/112447442669116641)! + + + +I followed his straightforward instructions to build the port and now +MicroPython is running on my Playdate too! + +![MicroPython on the Playdate](../images/2024-05/pewpew.jpg) + +To make this a viable development framework for Playdate (and PewPew), more of +the [Playdate C +API](https://sdk.play.date/2.4.2/Inside%20Playdate%20with%20C.html) needs to be +exposed...for example, there are APIs to play sounds, load sprites and interact +with the crank. All of this can be done and Christian has provided the template +to do so! + +--- + +#### mpflash: Your Ultimate MicroPython Flashing Companion + +![mpflash](../images/2024-05/mpflash.jpg) + +See [discussion #14395](https://github.com/orgs/micropython/discussions/14395). + +Regular MicroPython contributor Jos Verlinde +(@[josverl](https://github.com/Josverl)) released his Python application, +[mpflash](https://github.com/Josverl/micropython-stubber/tree/main/src/mpflash). + +It's a command-line utility to assist in deploying MicroPython firmware to +devices. It can list connected boards, detect and download the appropriate image +and flash it to your device. + +![mpflash](../images/2024-05/mpflash_example.png) + +Jos is looking for feedback so please give it a try and let him know how you go. + +--- + +#### microPyEZfonts + +![microPyEZfonts](../images/2024-05/micropyezfonts_example.png) + +See [discussion #14455](https://github.com/orgs/micropython/discussions/14455). + +Owen Carter (@[easytargget](https://github.com/easytarget)) is also looking for +feedback for his recently-released +[microPyEZfonts](https://github.com/easytarget/microPyEZfonts). Building on +Peter Hinch's excellent +[micropython-font-to-py](https://github.com/peterhinch/micropython-font-to-py) +it both complements and adds some improved features including transparency and +many pre-packaged free-to-use fonts. + +If you're want to render fonts on a display, particularly if using framebuf, you +*need* to check out microPyEZfonts! + +--- + +#### uPython WiFi Setup + +![upython-wifi-setup](../images/2024-05/upythonwifisetup_example.png) + +See discussion #[14454](https://github.com/orgs/micropython/discussions/14454). + +Shane Powell (@[shaneapowell](https://github.com/shaneapowell)) released +[upython-wifi-setup](https://github.com/shaneapowell/upython-wifi-setup), a +library to help users connect to your device over wifi. + +It will create a temporary access point the the first time it's used, acting +like a captive portal - but it will also scan and display wifi SSIDs that it +detects. A user can then select one and provide authentication details; the +device will then use this connection from that point on. + +It's easy to integrate to your own projects, is async-compatible and works with +the popular [microdot](https://github.com/miguelgrinberg/microdot/) web +framework. + +--- + +#### ESP32-C6 port + +Andrew started PR +#[11869](https://github.com/micropython/micropython/pull/11869) to add support +for the ESP32-C6. I've been helping, there are now board definitions for +GENERIC_C6, M5Stack NanoC6, UM TinyC6. + +The ESP32-C6 is an interesting micro, affordable but powerful! Please help test +if you have such a compatible device. + +--- + +#### Other board definitions + +I've been trying to backfill MicroPython board definitions for devices I've +purchased... + +- [M5Stack Dial](https://github.com/mattytrentini/micropython/tree/add-m5stack-dial-board) +- [M5Stack DIN Meter](https://github.com/mattytrentini/micropython/tree/add-m5stack-din-meter) +- Seeed Studio XIAO RP2040 (PR #[14402](https://github.com/micropython/micropython/pull/14402/)) + +Again, please test if you can! Reach out if you need help building. + +--- + +### Projects + +#### LD06-LIDAR library + +[Tim McGuffin](https://x.com/NotMedic) created a library - +[LD06-Lidar-micropython](https://github.com/NotMedic/LD06-Lidar-micropython) - +to interface to the LD06, one of the more affordable (US$10?!) LIDAR devices. + +He then [went on to render the +output](https://x.com/NotMedic/status/1789994305530065272) as a quick demo of +what's possible: + + + +--- + +#### Car Base Board + +![Car Base Board](../images/2024-05/robot_car_black_pill.jpg) + +The [Car Base Board](https://www.tindie.com/products/aiy745321/car-base-board/) +is designed to host an STM32 Black Pill and allow easy interfacing to motors and +sensors. + +CNX Review: [Easily build a robot car with the Car Base Board for the STM32F411 +“Black Pill” +board](https://www.cnx-software.com/2024/05/16/build-robot-car-car-base-board-stm32f411-black-pill-board/) + +A whole bunch of demos and MicroPython example code can be found on their +[CarBaseBoard](https://github.com/kwinter745321/CarBaseBoard) repository. + +Pick one the bare base board for **US$14** + +--- + +### Quick Bytes + +![Quick Bytes](../images/2024-04/quick_bytes.png) + +* Kwabena Agyeman (OpenMV) was on [episode + #477](https://embedded.fm/episodes/477) the Embedded.fm podcast +* Mahmood Shilleh: How to Connect BH1750 with the Raspberry Pi Pico/Pico + W ([article](https://www.hackster.io/Shilleh/how-to-connect-bh1750-with-the-raspberry-pi-pico-pico-w-7be5e0), [video](https://www.youtube.com/watch?v=l9MAZu7yvN4)) +* Lorraine McUnderwood: Moon Phase Display with Raspberry Pi Pico + ([article](https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28409/moon-phase-display-with-raspberry-pi-pico----episode-641?CMP=SOM-THREADS-PRG-E14PRESENTS-EP641-IMAGEPOST-COMM), + [video](https://www.youtube.com/watch?v=txeBicJ23eU), + [code](https://github.com/Lorrainbow/moonphases)) +* [Reducing Raspberry Pi Pico W power consumption and a second attempt at using + solar panels](https://stfn.pl/blog/34-pico-power-consumption-solar-panels/) + +--- + +### Final Thoughts + +#### Scroll art from Al +Al Sweigart (author of the popular Python book [Automate the Boring +Stuff](https://automatetheboringstuff.com/)) presented a cool lightning talk at +PyCon US - it's a *scroll art* animation synchronised to Oingo Boingo's +*Forbidden Zone*: + + + +--- + +#### Lego + Rubik's cube + MicroPython = ? + + + +--- + +### Midjourney fun + +![MidJourney](../images/2024-05/matt_trentini_tiny_comical_snakes_playing_with_lego_and_compute_337bd3bb-5fd0-4ea0-bd21-6f1e9ef03f1d.png) diff --git a/_posts/2024-06-26-June-2024-Meetup.md b/_posts/2024-06-26-June-2024-Meetup.md new file mode 100644 index 0000000000000..e12e77f8cda0c --- /dev/null +++ b/_posts/2024-06-26-June-2024-Meetup.md @@ -0,0 +1,413 @@ +--- +layout: post +title: June 2024 Meetup +--- + +*Damien* ports his keyboard to MicroPython(!). *Matt* delivers the News. + +## Links from Damien's talk + +- [Splitkb](https://splitkb.com/) make great keyboards + - Kyria v3 +- [qmk](https://qmk.fm/) keyboard firmware +- [zmk](https://zmk.dev/) keyboard firmware (Zephyr, better BLE support) +- [kmk](https://github.com/KMKfw/kmk_firmware) firmware (CircuitPython) + +## News Round-up + +### Headlines + +#### MicroPython v1.23 Release + +![MPLogo](../images/logos/mplogo.png) + +On the last day of May, [v1.23 was +released](https://github.com/micropython/micropython/releases/tag/v1.23.0)! + +Featuring dynamic USB devices, OpenAMP support, huge improvements to webassembly +and much, *much* more. + +However, development of MicroPython rarely pauses, and the [v1.24 +milestone](https://github.com/micropython/micropython/milestone/7) already +contains some exciting features! + +#### ViperIDE + +![ViperIDE](../images/2024-06/viperide.png) + +Volodymyr Shymanskyy, co-founder of [Blynk](https://blynk.io/), released +[ViperIDE](https://github.com/vshymanskyy/ViperIDE). + +It's a browser-based IDE designed to work with MicroPython. It leverages WebUSB +and WebBluetooth to establish connections to a device and uses the usual +protocols from mpremote for file transfers. It's also got a built-in mip-based +package manager and a live REPL. + +While generally pretty great, it's a *particularly fantastic* tool on Chromebooks +where it's often not possible to install packages. + +[Try it out](https://viper-ide.org/)! + +Les Pounder from [Tom's Hardware also interviewed +Volodymyr](https://www.youtube.com/watch?v=owDVI7z5GAk) about ViperIDE - but +they also covered Blynk and an as-yet-unreleased library to connect MicroPython +devices to Blynk. + +--- + +#### PyCon AU: Call for proposals + +![PyCon AU 2024](../images/2024-06/pyconau2024.png) + +PyCon AU opened up the [call for proposals](https://2024.pycon.org.au/program/) +on the 1st June. It closes Sunday 21 July 2024 (*before* the next meetup!) so +get those proposals submitted! + +As well as the 'main' conference track, there are three specialist tracks this year are: + +* Education +* Scientific Python +* DevOops + +If there's enough interest we may consider running a MicroPython Development +Sprint around the time of the event. Let me know if you're interested! + +#### Teardown 2024 + +![Teardown 2024](../images/2024-06/teardown2024.png) + +[Crowd Supply](https://www.crowdsupply.com/)'s Teardown is an annual conference "about the practice and the art +of hardware...". + +As he shared in a [Discussion +post](https://github.com/orgs/micropython/discussions/15243), Ned Konz ~~is +giving~~ gave a talk of particular interest to us: [Prototype to product with +MicroPython: faster and happier embedded systems +development](https://www.crowdsupply.com/teardown/portland-2024/long-talk/prototype-to-product-with-micropython-faster-and-happier-embedded-systems-development) + +Videos from Teardown aren't yet published but Ned's slides looked great! + +--- + +#### Programming ESP32: Learn MicroPython Coding and Electronics [book] + +![Programming ESP32](../images/2024-06/progesp32book.png) + +[Dr Simon Monk](https://simonmonk.org/) has released [Programming ESP32: Learn +MicroPython Coding and Electronics](https://simonmonk.org/esp32). + +Currently it's available on Amazon but Dr Monk's [blog +announcement](https://www.doctormonk.com/2024/06/new-book-on-esp32-and-micropython.html) +indicates that it'll soon also be released on [MonkMakes](https://monkmakes.com/). + +[Hot tip: The Amazon link on the blog post doesn't allow purchases in Australia, +but Dr Monk was kind enough to source a [different link that we can use Down +Under](https://www.amazon.com.au/Programming-ESP32-MicroPython-Coding-Electronics/dp/1739487451/)!] + +At the same blog post he also discusses his decision to use Thonny and the +specific ESP32 boards used in the book. All the example code used in the book +[is available](https://github.com/simonmonk/prog_esp32). + +--- + +#### Is MicroPython better than Basic? + +In Kevin McAleer's latest video he reprograms some retro games using MicroPython +instead of the original Basic: + +[![Is MicroPython better than Basic?](../images/2024-06/kmacretrocoding.jpg)](https://www.youtube.com/watch?v=82Rb3HbkD_E) + +--- + +### Matt's New Hardware + +Waveshare? Nope. Next month! + +--- + +### Hardware News + +#### LilyGo + +LilyGo have another spate of [new releases](https://www.lilygo.cc/collections/new). + +Here are a couple that are worth checking out, but the [T-QT +C6](https://www.lilygo.cc/products/t-qt-c6) and [T-Camera Plus +S3](https://www.lilygo.cc/products/t-camera-plus-s3) will probably also be of +interest! + +##### T-Glass + +![LilyGo T-Glass](../images/2024-06/lilygo_tglass.png) + +- ESP32-S3 FN4R2 +- 4MB Flash, 2MB PSRAM +- Microphone, RTC, touch button +- 294x126 AMOLED (JD9613) +- 6-axis IMU (BHI260AP) + + + +**US$41** + +##### T-Encoder Pro + +![LilyGo T-Encoder Pro](../images/2024-06/lilygo-t-encoderpro.png) + +- ESP32-S3 R8 +- 16MB Flash, 8MB PSRAM +- Buzzer, 2xQwiic +- 1.2" 390x390 AMOLED (SH8601A-W16-T06) +- Rotary encoder +- Touch display (CHSC5816) + +**US$33** + +--- + +#### M5Stack + +![M5Stack Core S3 SE](../images/2024-06/m5stackcores3se.png) + +[M5Stack CoreS3 SE](https://shop.m5stack.com/products/m5stack-cores3-se-iot-controller-w-o-battery-bottom) released + +* ESP32-S3, 16MB flash, 8MB RAM +* 2" cap touch display +* RTC +* I2S input and amplier, with 1W speaker +* Low power + +Cheaper than the original M5Core S3, the SE drops the camera, prox sensor, IMU +and magnetic compass. And it's half the thickness, dropping the included DinBase +of the original. + +**US$39** + +--- + +### Software News + +#### MicroPython on the Playdate + +![Pew Pew on the Playdate](../images/2024-06/pewpewplaydate.png) + +Quick update: [pew-playdate +v0.1](https://github.com/cwalther/pew-playdate/releases/tag/v0.1) released by +Christian. "First release that actually runs unmodified PewPew games." + +--- + +#### micropython-bleradio + +![BLE Radio](../images/2024-06/bleradiopybricks.png) + +[Laurens Valk announced](https://fosstodon.org/@laurensvalk/112553130854602227) +that he'd released a lightweight library - +[micropython-bleradio](https://github.com/pybricks/micropython-bleradio/) - to +perform simple but low-level BLE comms. Uses only the BLE advertising packet, +takes care to embed data in *very few* bytes. + +--- + +#### MPDisplay + +![MPDisplay](../images/2024-06/mpdisplay_hinch.gif) + +Brad Barnett has been doing some *fantastic* work with his GUI library +[MPDisplay](https://github.com/bdbarnett/mpdisplay). Read - and get involved +with! - [his discussion +post](https://github.com/orgs/micropython/discussions/15261) that introduces +MPDisplay. + +From the post: + +"MPDisplay is a display and event driver that works on CPython, CircuitPython +and MicroPython. It enables you to develop your app's UI on your deskop and the +code immediately transfers to your microcontroller!" + +Brad has been looking to bridge the MicroPython and LVGL worlds but this library +appears to be even more ambitious! + +--- + +#### Tim plays movies..and releases bitgraphics + +Tim Hanewich has been looking at ways [of rendering monochrome +videos](https://x.com/TimHanewich/status/1801400923370963410) efficiently on the +venerable - and very cheap - SSD-1306 OLED displays. + + + + + +![bitgraphics](../images/2024-06/bitgraphics.png) + +Tim has been keeping busy it seems; he's also released +[bitgraphics](https://github.com/TimHanewich/bitgraphics), a MicroPython module +for displaying images, text and other graphics on the SSD-1306. It's a bit like +dialing framebuf up to 11. + +![bitgraphics paw](../images/2024-06/bitgraphics_paw.jpg) + +--- + +#### RISC-V QEMU port and emitter + +![RISC-V Logo](../images/2024-06/riscv.png) + +Alessandro Gatti has been doing some interesting work with RISC-V. + +[Add a RISC-V RV32IMC native code +emitter](https://github.com/micropython/micropython/pull/15231) + +[Add RISC-V 32 bit QEMU +port](https://github.com/micropython/micropython/pull/12853) + +Note that inline RISC-V assembly isn't yet supported...but these PRs lay the +necessary groundwork. + +--- + +#### When a Mongoose met a MicroPython + +![Cesanta Logo](../images/2024-06/cesanta.png) + +An excellent write-up on how to integrate [Cesanta](https://cesanta.com/)'s +popular open-source embedded C MQTT library - [Mongoose](https://mongoose.ws/) - +so you can use it from MicroPython. An excellent real-world example of how to +implement user modules. + +[Part 1](https://www.embeddedrelated.com/showarticle/1649.php) + +[Part 2](https://www.embeddedrelated.com/showarticle/1670.php) + +#### Framebuf for the Console + +![Framebuf for Console](../images/2024-06/frambuf_for_console.png) + +Owen Carter +[announced](https://fosstodon.org/@easytarget@social.makerforums.info/112660490256467490) +a framebuf driver for REPL console use. His [discussion +post](https://github.com/orgs/micropython/discussions/15327) has more details; +it allows you to render output that would normally go to a display to the +console instead. Handy! We've started discussing extending the idea... + +--- + +#### MicroPython for the TC32 + + + +[David Given ports MicroPython to a $3 Aliexpress-bought +watch](https://github.com/orgs/micropython/discussions/15333). I think the first +line sets the scene: "I have a new watch. It's terrible." + +It uses an obscure micro, the Telink TLSR8232. 512KB flash (good!) but 16KB RAM +(ouch, tight!). + +His video also made it [to the front page of Hacker +News](https://news.ycombinator.com/item?id=40769882). [Twitter +announcement](https://x.com/hjalfi/status/1804892354244923882) + +--- + +#### ESP32-C6 port + +![ESP32-C6](../images/2024-06/esp32-c6-overview.png) + +Update: [AndrewL and dmfaria resolved the last known +issue](https://github.com/micropython/micropython/pull/11869#issuecomment-2191349221); +ADC's are fixed for the C6. + +One feature of the C6 that I'd neglected to notice; although it's a relatively +affordable device, Espressif included support for [CAN +(TWAI)](https://docs.espressif.com/projects/esp-idf/en/stable/esp32c6/api-reference/peripherals/twai.html). + +--- + +### Projects + +#### Caravan motor home leveler + +![Caravan motor home leveler](../images/2024-06/caravan.png) + +Luc Volders has been building a caravan/motor-home leveler with a six-part blog +write-up! The neat thing about this project is that you can leave the device in +the caravan and level the vehicle from the outside. + +[Part 2 covers the MicroPython +software](http://lucstechblog.blogspot.com/2024/05/caravanmotor-home-leveler-part-2.html). + + + +--- + +#### Ultimate Open Source Smart Sit-Stand Desk + +![Sit stand desk](../images/2024-06/sitstand.png) + +[Walid has built a smart sit-stand +desk](https://x.com/waliori/status/1796291807908700511) based on a broken, +manual IKEA desk. All the [MicroPython firmware is +available](https://github.com/waliori/RP-pico-sit-stand-firmware) and Walid +would love feedback on it. + +This was a *beautiful* build, Walid has clearly put a lot of time and effort +into it and has put together a stunning video of the construction, from start to +finish: + + + +--- + +#### Balance droid + +![Balance Droid](../images/2024-06/balancedroid.png) + +John Hylands is working on a Balance Droid, if you're interested then follow his +[balanceDroid](https://github.com/JonHylands/balanceDroid) repository and join +in the [MicroPython Discord](https://micropython.org/discord) where he's +discussing implementation details. + +--- + +### Final Thoughts + +#### Meetup alternative? + +![Meetup Bad](../images/2024-06/meetup_bad.png) + +Meetup has disappointed me one too many times! Anyone have any good +alternatives? + +--- + +#### MicroMac + +![Micro Mac](../images/2024-06/umac_workstation2.jpg) + +The MicroMac is an old-school Macintosh for under £5! Built out of one of our +faves, the Raspberry Pi Pico. + +--- + +#### How to train simple AIs to balance a double pendulum + +An *excellent* video from [Pezzza's Work](https://www.youtube.com/@PezzzasWork) +that explains how to train a neural network to balance a double pendulum. + +Although an ideal ML application, before I watched the video I wouldn't have +been *entirely* sure it would be *possible* to balance a double pendulum using +this method; they're inherently very chaotic! Spoiler alert: It is, and now I +can't help but wonder if a 3x (or 10x pendulum? 1000x??) is possible... + +It would be *fascinating* trying to build this with MicroPython and seeing how +the real world would affect performance. + + + +--- + +### Midjourney fun + +![MidJourney](../images/2024-06/midjourney_snake_keyboard.png) diff --git a/_posts/2024-07-24-July-2024-Meetup.md b/_posts/2024-07-24-July-2024-Meetup.md new file mode 100644 index 0000000000000..f49cf93689ee1 --- /dev/null +++ b/_posts/2024-07-24-July-2024-Meetup.md @@ -0,0 +1,197 @@ +--- +layout: post +title: July 2024 Meetup +--- + +*Hans Marki* talks to us about Octoprobe, *Sean* delivers the news + +## News Round-up + +### Headlines + +#### Tulip + +We looked at Tulip a little while ago, ...but it's come a long way! It's got a MIDI interface, ADCs and DACs, 7 inch touchscreen, USB keyboard input support; but most importantly an extensive MicroPython API for doing things like making music and controlling audio equipment, as well as playing games. + +![Tulip running a synth application](../images/2024-07/tulip.jpg) + +Check out [this video from Floyd Steinberg](https://www.matrixsynth.com/2024/07/tulip-musical-computer-based-on.html), where he goes through running a synth application on the Tulip. + +--- + +#### ViperIDE + +![ViperIDE](../images/2024-06/viperide.png) + +We looked at ViperIDE [last month](https://melbournemicropythonmeetup.github.io/June-2024-Meetup/) but the improvements continue! + +One of the more recent noteworthy features is that there is now an [experimental version of ViperIDE](https://viper-ide.org/?vm=1) that simulates a device *inside the browser* using the MicroPython WASM build. The WASM build is then also used to do linting, live in the browser – I've tried it and it works quite well. Very neat! + +In my own brief testing since last month it seems other things like variable suggestions / autocompletion are much improved – although make sure you save regularly as it seems like auto-save doesn't work _(maybe I'll get around to opening a bug report...)_ + +--- + +#### PyCon AU: Call for proposals + +![PyCon AU 2024](../images/2024-06/pyconau2024.png) + +As noted [last month](https://melbournemicropythonmeetup.github.io/June-2024-Meetup/), PyCon AU's [call for proposals](https://2024.pycon.org.au/program/) closed last Sunday, the 21st. Good luck to those of you who submitted a proposal! + +[PyCon AU 2024](https://2024.pycon.org.au/) will be held from the 22nd to the 26th of November at the Melbourne Convention and Exhibition Centre, tickets aren't on sale yet but more details are "coming soon" + +--- + +#### Programming ESP32: Learn MicroPython Coding and Electronics [book] + +![Programming ESP32](../images/2024-06/progesp32book.png) + +(Matt received the book, feel free to take a look! It's a really nice introductory text.) + +--- + +### Matt's New Hardware + +Waveshare? Nope. Next month! + +--- + +### Hardware News + +#### Thumby Color + +It's a Thumby… but with colour! And also it seems like a (very) slight size increase compared to the original, which for my big hands is certainly welcome. + +![Thumby Color](../images/2024-07/thumby_color.gif) + +Apparently there will be a Kickstarter crowdfunding campaign later in the year, stay tuned + +#### Inkplate 6 MOTION + +The latest Inkplate incarnation hit its crowdfunding target this month, [orders can still be placed](https://www.crowdsupply.com/soldered/inkplate-6-motion) if you're interested and you missed it. + +![Inkplate 6 motion](../images/2024-07/inkplate-6-motion.jpg) + +Features a 6-inch e-paper display with an 11 Hz refresh rate – making it suitable for things like animations, keyboard input, graphical UX elements, and scrolling text. Unlike some of the past Inkplate devices however it uses an STM32H743 microcontroller, presumably to help handle the much greater graphical demands, so I'd imagine there might be some work required to get an existing Inkplate application to use this new board. + +#### WIZnet combines their W5500 Ethernet chip with an RP2040 + +WIZnet already sell a Raspberry Pi Pico-compatible board with the W5500 built-in, but now they're close to releasing [an IC which has both in the one package](https://www.hackster.io/news/wiznet-puts-the-raspberry-pi-rp2040-and-its-w5500-ethernet-chip-in-a-blender-pours-out-the-ionic-2ed85ad4015b). + +![W55RP20.png](../images/2024-07/W55RP20.png) + +There's no release date yet, I'm sure we'll feature it here when it does finally come out. + +#### OMGS3 + +Unexpected Maker, a.k.a. Seon, has teased a new board he's making – claiming to be the _"world's smallest fully-featured ESP32-S3 board"_. + +![OMGS3.png](../images/2024-07/OMGS3.png) + +It's so small there's not your "normal" pins, instead it's got solder pads on the underside for integrating compactly into a larger design. [Check out his YouTube video for more info](https://www.youtube.com/watch?v=4-1lS4fGJ20). + +#### LilyGo + +[Lots more new LilyGo stuff!](https://www.lilygo.cc/collections/new) (Sorry, I ran out of time to list them here...) + +* T-Energy S3 +* T-Knob +* T-Halow +* T3 S3 E-paper + +--- + +### Software News + +#### ESP32-C6, ESP32-C2 and ESP32-H2 port + +![ESP32-C6](../images/2024-06/esp32-c6-overview.png) + +The [ESP32-C6 port](https://github.com/micropython/micropython/pull/11869) has been added to the [v1.24 milestone](https://github.com/micropython/micropython/milestone/7). + +[TrekMax](https://github.com/TrekMax) has added a PR for [ESP32-C2 +support](https://github.com/micropython/micropython/pull/15440). If anyone is interested in these devices, please build and test this PR. + +ESP32-H2 support has not yet been added but all three of these device require +similar changes - using the C6 and C2 as guides should make it pretty +straightforward to add the H2. + +#### ESP-File Manager + +A browser-based file manager for ESP32, which runs directly on device + +![esp_file_manager.gif](../images/2024-07/esp_file_manager.gif) + +Very recent project (as in the first commit is last week), but already seems very feature-rich and useful. Check it out [on GitHub]( https://github.com/mispacek/ESP-File_manager), thanks to users _mispacek_ and _milikiller_ (sorry, I wasn't able to find actual names of the people, but thank you whoever you are!) + +#### RP2040 PIO Emulator + +Nathan Young has made some great progress on an [RP2040 PIO emulator, written in Python](https://github.com/NathanY3G/rp2040-pio-emulator). Useful for things like unit tests for PIO programs, stepping through PIO execution, plotting outputs, and debugging PIO code. There's also a repo of examples, including this one below using Jupyter for plotting the square wave output by a simple PIO program. + +![Jupyter notebook for PIO emulation](../images/2024-07/jupyter_pio_emulator.png) + +#### Get Started with MicroPython on Raspberry Pi Pico - 2nd Edition + +Raspberry Pi Press have released an updated version of their [beginners introduction to the Pi Pico and MicroPython](https://store.rpipress.cc/products/get-started-with-micropython-on-raspberry-pi-pico-2nd-edition), now targeting the Pico W. + +![Get Started with MicroPython on Raspberry Pi Pico](../images/2024-07/pi_press_book.png) + +I haven't got a copy of it myself but the grabs I've seen from it look beautifully done, and it seems like it covers a wide breadth of subject material in a good level of detail. Seems ideal for beginners, or in educational settings. + +--- + +### Projects + +#### Look Mum No Pixels: a Mini Vector Display + +![Vector Display](../images/2024-07/vectordisplay.jpg) + +Nick Moore (founder of this meetup!) has started writing up his latest project: +Using MicroPython to control a Vector Display. [Look Mum No Pixels: a Mini Vector Display](https://nick.zoic.org/art/mini-vector-display/) + +#### MicroPython Smartwatch with WASP-OS + +In a similar theme to some of the links [from last month](https://melbournemicropythonmeetup.github.io/June-2024-Meetup/), we've got another MicroPython smartwatch! + +Shawn Tolidano has a neat guide on [getting MicroPython running](https://www.tolidano.com/micropython-smartwatch.html) on a very cheap (as in ≈AU$30) smartwatch, the Colmi P8 (he has links through to TVC Mall to buy one). The MicroPython support comes [via WASP-OS](https://wasp-os.readthedocs.io/en/latest/install.html#colmi-p8), which is _"...is a firmware for smart watches that are based on the nRF52 family of microcontrollers."_ + +![Colmi P8](../images/2024-07/COLMI_P8.png) + +I haven't had a chance to try it, but I'd love to get one to play with and give it a go! + +#### Exploring Microphone Magic with I²S and Micropython + +Hardware company Infineon have published a fairly detailed [blog post on using one of their I²S microphone devices with MicroPython](https://www.hackster.io/Infineon_Team/exploring-microphone-magic-with-i2s-and-micropython-8e9ae9), running on a Cyprus PSoC board (although the Pi Pico / RP2040 should also be possible as well). + +![Infineon I2S](../images/2024-07/i2s.png) + +#### Pixel Art with no code + +Core Electronics have written up an extensive [guide on using the WLED app to drive an ESP8266 or ESP32 connected to an array of addressable LEDs](https://core-electronics.com.au/guides/wireless/glowbit-matrix-control-no-code/) (i.e. the ubiquitous WS2812B). They use their own GlowBit Matrix, but they stress it's just as easy to use any compatible addressable LEDs. + +![WLED app controlling WS2812 LEDs](../images/2024-07/Some_Pixel_Artttt.jpg) + +The WLED app provides a no-code way to show complex patterns or even basic images onto a configurable number of LEDs – obviously results will vary depending on how many LEDs you have! + +--- + +### Quick Bytes + +* **[Getting Started with HTTP GET Requests](https://randomnerdtutorials.com/raspberry-pi-pico-w-http-requests-micropython/)**: a good beginners introduction to GET requests, from Random Nerd Tutorials, using MicroPython on a Pi Pico W +* **[Getting Started with Bluetooth Low Energy](https://randomnerdtutorials.com/micropython-esp32-bluetooth-low-energy-ble/)**: also from Random Nerd Tutorials, using MicroPython on an ESP32, another good beginners introduction +* **[Don't let MicroPython's garbage collector ruin your program](https://www.youtube.com/watch?v=Mk-F-4YAsdQ)**: a deeper look at what garbage collection is and how to avoid some common issues it can cause in MicroPython, from the Making Stuff with Chris DeHut YouTube channel + +--- + +### Final Thoughts + +#### Always consider... + +...that your threat model might be incomplete + +![Threat Model](../images/2024-07/threatmodel.png) + +--- + +### Midjourney fun + +![MidJourney](../images/2024-06/midjourney_snake_keyboard.png) diff --git a/_posts/2024-08-28-August-2024-Meetup.md b/_posts/2024-08-28-August-2024-Meetup.md new file mode 100644 index 0000000000000..65d589c5521c7 --- /dev/null +++ b/_posts/2024-08-28-August-2024-Meetup.md @@ -0,0 +1,633 @@ +--- +layout: post +title: August 2024 Meetup +--- + +*Oliver* demos [mim](https://mim.oliverrobson.tech/), *Matt* gives the news +round-up and previews [mpbuild](https://github.com/mattytrentini/mpbuild) + +## News Round-up + +### Headlines + +#### Raspberry Pi RP2350 + +![Raspberry Pi Pico 2 and RP2350](../images/2024-08/pico2_rp2350.jpg) + +The biggest news of the month is the announcement - at DEF CON 23 - of the +[RP2350](https://www.raspberrypi.com/products/rp2350/), Raspberry Pi's successor +to the wildy popular RP2040. They also announced the Pico 2 although we're going +to have to wait a few months for the Pico 2 W. + +Big ticket items: + +- Dual-core Cortex M33 @ 150MHz + - Early perf measurements [suggest almost 2x faster](http://lucstechblog.blogspot.com/2024/08/first-look-at-raspberry-pi-pico2.html) +- **OR** Dual-core RISC-V [Hazard3](https://github.com/Wren6991/Hazard3) @ 150MHz + - Unexpected surprise! + - Both ARM/RISC-V are available but you *must choose one at boot* +- ARM TrustZone + - Can deploy signed, encrypted firmware +- PSRAM support (up to 16MB, QSPI) +- 520KB SRAM, effectively double +- HSTX + - High-speed transmit buffer + - [A closer look at + HSTX...](https://www.cnx-software.com/2024/08/15/raspberry-pi-rp2350-hstx-high-speed-serial-transmit-interface/) + at CNX gives a good overview +- More GPIO + - 2x packages, QFN-60 and QFN-80 with 30 and 48 GPIO respectively +- Onboard flash + - Currently an option for 2MB, though yet to see any in the wild +- Better technical stuff (Dmitry's [Why you should fall in love with the RP2350](https://dmitry.gr/?r=06.+Thoughts&proj=11.+RP2350) is good for details) + - 3 PIOs (one more), and some improvements to the PIO capabilities + - Floating point support is HW accelerated and includes custom double-precision + - DMA boost +- Improved low power; <10uA claimed +- Very overclockable, 300MHz seems common + +As for the Pico 2 board; it's basically a drop-in for the original (yes, even +with micro-B USB) but replacing the RP2040 for the RP2350 and doubling +(external) flash to 4MB. For an extra (US) dollar. + +All of this is *excellent* news and my entire wish-list for the RP2040 has been +granted! + +There were [>30 +boards](https://www.raspberrypi.com/for-industry/powered-by/product-catalogue/?category=RP2350) +announced at launch with partners that include Pimoroni (8x boards!), Adafruit, +WIZnet, Seeed, Sparkfun and others. + +Damien announced MicroPython support on launch day; [pre-built firmware is +available](https://micropython.org/download/RPI_PICO2/) and the code is in PR +[#15619](https://github.com/micropython/micropython/pull/15619). + +The RP2350 is affordable, available, well-documented and powerful. + +And yes, it [runs Doom](https://github.com/kilograham/rp2040-doom)! + + +--- + +#### CircuitPython Day + +![CircuitPython Day 2024](../images/2024-08/circuitpythonday2024.jpg) + +August 16 was CircuitPython day, a day where our Adafruit 'cousins' celebrate +all things CircuitPython related! + +There are a bunch of videos covering various topics, check out the [Adafruit +blog recap of the +day](https://blog.adafruit.com/2024/08/19/a-circuitpython-day-2024-recap-circuitpythonday2024-python-circuitpython/). + +And congrats to Anne and the team on the *300th* Python on Hardware Newsletter! +The weekly newsletter is an invaluable resource and you can subscribe or browse +the archive at [Adafruit +Daily](https://www.adafruitdaily.com/category/circuitpython/). + +Finally in Adafruit news, I'm closely watching Scott's work on +[CircuitMatter](https://github.com/adafruit/circuitmatter)... + +--- + +#### PyCon AU + +![PyCon AU 2024](../images/2024-06/pyconau2024.png) + +Matt and Damien both had talks accepted! + +Matt's proposal: [MicroPython: The best +bits!](https://docs.google.com/document/d/19YFwEk8YMWUkbF_6RGXZG62cip_CQ4C57zGk2-78ExA/edit?usp=sharing) +is online, any feedback would be welcome. + +--- + +#### PyCon US + +All videos from PyCon US in May are [now +online](https://www.youtube.com/playlist?list=PL2Uw4_HvXqvYhjub9bw4uDAmNtprgAvlJ). + +156 Pythontastic videos for your viewing pleasure! + +--- + +#### Espressif DevCon 24 + +![Espressif DevCon 24](../images/2024-08/espressif_devcon24.png) + +[Espressif DevCon](https://devcon.espressif.com/) is on from September 3-5 this +year. Talks will be from 13:00-18:00 CEST which is 21:00-02:00 AEST (so the end +of the days are going to be rough!). + +There are some interesting talks however, including Create Stunning UIs with +LVGL, Mastering the ESP-IDF Build System, ESP-NOW indoors and RMT encoding +details. + +--- + +#### PySheets, now open-source + +![PySheets](../images/2024-08/pysheets_opensource.png) + +PySheets, previously closed-source, is now available under both the GPLv3 and a +commercial license. + +When I asked creator Chris Laffra about the decision to open source +[PySheets](https://github.com/PySheets/pysheets), this was his response: + +"It was always the plan. With PyScript applications, it is hard to hide the +source anyways, as they are downloaded by the browser. I had written an +obfuscator and a special build to hide the source, but in the end I just gave up +🤓." + +"My goal is to make life for Data Scientists beter. So, I want to grow using +the same model Python, NumFocus, and Jupyter Notebooks used. Closed source is +more for Excel." + +"Of course, I would love to make some money off PySheets, so I am +going for voluntary sponsoring, commercial license, and paid hosting. That +should pay the bills." + +I hope your bills get paid, Chris! + +--- + +#### Proteus VSM for MicroPython + +![Proteus VSM](../images/2024-08/proteus_vsm_micropython.png) + +I haven't used Proteus, but apparently it's Circuit Simulation Software - it +allows you to "...rapid prototype both hardware and firmware designs, in +software". + +Proteus [recently announced](https://www.labcenter.com/buy-vsm/#micropython) +that they also support running MicroPython on their simulated microcontrollers. + +--- + +#### ViperIDE + +![ViperIDE](../images/2024-08/viperide_disassembly.jpg) + +Volodymyr has continued work on [ViperIDE](https://viper-ide.org/) +([github](https://github.com/vshymanskyy/ViperIDE)), most recently adding the +ability to disassemble to bytecode - and also support minification using +[pyminifier](https://github.com/liftoff/pyminifier). + +The implementation of these features is *very* interesting; for example +pyminifier is actually running *in the MicroPython (wasm) instance*! + +Volodymyr is moving *swiftly* with ViperIDE and it's already become my +recommended way to start for beginners. + +--- + +![WASM POC](../images/2024-08/poc_wasm.png) + +**Hot-off-the-press**! Volodymyr announced a successful [POC: Compiling WebAssembly +to MPY dynamic modules](https://github.com/orgs/micropython/discussions/15702). + +If I understand correctly, this is *awesome*; Write software in *any* language +that can compile to WASM, compile that WASM to C and then build it into a native +MicroPython module. Close-to-native performance in a dynamically loadable +MicroPython module. + +--- + +## Matt's New Hardware + +It's been a big month... + +### Waveshare + +Waveshare have been churning out a bunch of interesting devices that run MicroPython very well! + +- [3-button keyboard](https://www.waveshare.com/rp2040-keyboard-3.htm) + - RP2040, 3x RGB LEDs, USB-C, nice housing + - *Perfect* mini-demo for USB-HID + - **US$8-12** +- [ESP32 S3 with CNC Metal + Case](https://www.waveshare.com/product/esp32-s3-touch-lcd-1.28-b.htm) + - ESP32-S3, 2MB PSRAM, 16MB flash + - 240x240 1.28" round (GC9A01) display with touch driver + - 6-axis IMU, battery charge circuit + - **US$27** +- [ESP32-S3 8x8 RGB LED Matrix](https://www.waveshare.com/esp32-s3-matrix.htm) + - ESP32-S3, 2MB PSRAM, 4MB flash + - 8x8 RGB LED Matrix + - 6-axis IMU + - 25mm square + - **US$9** +- [ESP32-C6 Zero](https://www.waveshare.com/esp32-c6-zero.htm) + - Small C6 (RISC-V 160MHz, wifi/ble) board, 4MB flash, castellated + - 18 pins + - **US$5** +- [ESP32-C6 Pico](https://www.waveshare.com/esp32-c6-pico.htm) + - Larger C6 (RISC-V 160MHz, wifi/ble) board, 4MB flash, castellated + - GPIO expander (+7 pins) + - 40 pins + - **US$7** +- [ESP32-S3 Touch LCD](https://www.waveshare.com/esp32-s3-touch-lcd-1.69.htm) (watch) + - S3, 8MB PSRAM, 16MB flash + - 240x280 1.69" (ST7789V2) IPS touch display + - 6-axis IMU + - RTC + - Battery charge circuit + - **US$22** + +### Seeed Studio + +I wanted the new XIAO RP2350, but I picked up a few extras... + +- [XIAO RP2350](https://www.seeedstudio.com/Seeed-XIAO-RP2350-p-5944.html) + - 2MB flash + - **US$5** +- [XIAO ESP32-C6](https://www.seeedstudio.com/Seeed-Studio-XIAO-ESP32C6-p-5884.html) + - Dual-core RISC-V @ 160MHz + - 4MB flash + - Wifi/BLE/matter, oboard and ext antenna supported + - **US$5.20** +- [XIAO ESP32-C3](https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html) + - RISC-V @ 160MHz + - Wifi (no BLE), ext antenna + - 4MB flash + - **US$5** +- [XIAO ESO32-S3](https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html) + - Dual-core LX7 @ 240MHz + - Wifi/BLE, ext antenna + - 8MB PSRAM, 8MB flash + - Hi-density connector (camera available) + - **US$7.50** +- [CAN Bus Breakout for + XIAO](https://www.seeedstudio.com/Seeed-Studio-CAN-Bus-Breakout-Board-for-XIAO-and-QT-Py-p-5702.html) + - MCP2515 CAN controller + - SPI to CAN + - **US$10** +- [6x10 RGB Matrix for + XIAO](https://www.seeedstudio.com/6x10-RGB-MATRIX-for-XIAO-p-5771.html) + - 60 Neopixels in a small (21x18mm) board + - **US$5** + +### Tulip + +![Tulip Creative Computer](../images/2024-08/tulipcc-waves.jpeg) + +[The Tulip Creative Computer](https://tulip.computer/) + +We've covered Tulip in the past but this thing is a beast! I'm hoping to have +Brian Whiteman, creator, present at a future meetup. + +If you haven't seen [the video from Floyd +Steinberg](https://www.matrixsynth.com/2024/07/tulip-musical-computer-based-on.html) +it's a must-watch. + +**US$60** + +### Wemos + +![Wemos S3 Mini Pro](../images/2024-08/s3_mini_pro_v1.jpg) + +The S3 Mini Pro is the latest addition to the Wemos 'D1' range. + +- ESP32-S3, 2MB PSRAM, 4MB flash +- 128x128 0.85" LCD (GC9107) +- 6-axis IMU +- 3x buttons, 1x RGB LED, 1xIR LED +- Colourful PCB! + +**AUD$15** + +Thanks to [scruss for the heads-up](https://fosstodon.org/@scruss@xoxo.zone/112872399818175602)! + +### Pimoroni + +A package from Pimoroni just snuck in! Shiny new RP2350 boards... + +- [Tiny 2350](https://shop.pimoroni.com/products/tiny-2350) + - RP2350, 4MB flash, Qw/ST, castellated + - **AU$13** +- [Pico Plus 2](https://shop.pimoroni.com/products/pimoroni-pico-plus-2) + - RP2350, 16MB flash, 8MB PSRAM, Qw/ST, Debug + - Also an *intriguing* 'SP/CE' connector + - **AU$20** +- [Display Pack 2.8"](https://shop.pimoroni.com/products/pico-display-pack-2-8) + - 320x240 IPS LCD (ST7789V) + - 4x buttons, RGB LED - and that SP/CE connector again + - **AU$31** + +--- + +## Hardware announcements + +### Pimoroni Pico Jumbo + +As I mentioned, Pimoroni have [8x RP2350 +boards](https://shop.pimoroni.com/collections/rp2350) and I'm not going to cover +them all here (but you should!). + +One I must share is the [Pico +Jumbo](https://shop.pimoroni.com/products/pico-jumbo) *mega*controller! + +![Pico Jumbo](../images/2024-08/pico-jumbo.jpg) + +See the real Pico 2 up there?! + +"An hilariously oversized but fully functional Raspberry Pi Pico 2 for demos, +japes and shenanigans." + +It's ridiculous and I love it. + +**AU$26** (preorder) + +--- + +### Espressif ESP32-P4 + +![ESP32-P4 Function EV +Board](../images/2024-08/esp32-p4-function-ev-board-annotated-photo-front.png) + +ESP32-P4 is in limited availability as the [ESP32-P4 Function EV +Board](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html) + +Available (or not! Seems to be no longer for sale) [at the official Aliexpress +store](https://vi.aliexpress.com/item/1005007259059322.html). + +- ESP32-P4: Dual-core 400MHz RISC-V +- ESP32-C6 for wifi/ble +- AI acceleration with 32MB PSRAM and 16MB flash +- Optional camera +- Optional display + +Espressif have been promoting the P4 *heavily* so it'll be an important micro to +watch. + +**~AUD$100** + +(Brian of Tulip fame, has a CircuitPython port WIP and I have a +MicroPython port WIP. We'll get there!) + +--- + +### M5Stack + +M5Stack have released a cute drone combo, the *Fly* and *Joystick*! The provided +software uses ESP-NOW to communicate and, despite the tiny size, looks pretty +impressive. + + + +#### M5Stamp Fly + +![M5Stamp Fly](../images/2024-08/m5Stamp_fly.jpg) + +It's about 80mm square (!). + +Bunch of sensors! + +- StampS3 (8MB flash) +- BMP280 barometric +- VL53L3 distance sensors +- PWM3901MB-TXQT optical flow +- BMM150 magnetometer +- BMI270 6-axis IMU + +**US$50** + +#### M5Atom Joystick + +![M5Atom Joystick](../images/2024-08/m5atom_joystick.jpg) + +- Left/Right Joysticks, with buttons +- STM32F030F4P6 provides I2C interface to Atom +- Buzzer, RGB LEDs +- 300mAh Battery +- (Doesn't come with the M5AtomS3) + +**US$30** + +--- + +### LilyGo T-Deck Plus + +![LilyGo T-Deck Plus](../images/2024-08/t-deck-plus-lilygo.jpg) + +An update to their earlier model, the [T-Deck +Plus](https://www.lilygo.cc/products/t-deck-plus) adds GPS, a 2,000mAh battery +and a case. Their [original +T-Deck](https://www.lilygo.cc/products/t-deck?variant=42877714268341) was +definitely more DIY. + +- ESP32-S3, 8MB PSRAM, 16MB flash +- 320x240 2.8" (ST7789) IPS LCD +- SX1262 LoRa radio +- GPS +- Mic, speaker, Blackberry-style keyboard, trackball +- 2,000mAh battery + +**US$72** (original model starts at US$43) + +--- + +### 01Studio K230 Dev Board + +![01Studio K230 Dev Board](../images/2024-08/01studio_k230_board.png) + +[Kendryte K230 AI Development Board](https://vi.aliexpress.com/item/1005007573129445.html) (01Studio AliExpress) + +One of the more powerful microcontroller platforms! + +- Kendryte K230: Dual-core RISC-V 1.6GHz/800MHz +- 1GB LPDDR4 RAM +- Optional 800x480 3.5" display (cap touch also optional) +- 1080P/60fps camera (up to 3x 1080P camera inputs) +- Wired Eth & Wifi +- 5xUART, 5xI2C, 6xPWM, 64xGPIO, 3xSPI +- 1080P HDMI output +- 4 lane 1080P MIPI display output +- 40 pin RPi header +- MicroPython port with OpenMV support + - Many computer vision examples (Face recognition, Barcode/QR code, YOLO object detection) + +The Kendryte K210 made a splash a few years ago but didn't quite catch on, maybe +the K230 will have more success? + +**AUD$~80-120** + +--- + +### Seeed Studio XIAO RA4M1 + +![Seeed Studio XIAO RA4M1](../images/2024-08/seeed-studio-xiao-ra4m1.jpg) + +Just when I thought I had the XIAO box set... + +- Renesas RA4M1 48MHz M4 + - Same as Arduino Uno R4 +- 256KB flash, 32KB SRAM, 8KB EEPROM +- 3 LEDs, 14bit ADC, 12bit DAC, CAN +- Standard 14 pin XIAO + - Plus 8 additional GPIO pads on rear + +**US$4.99** + +--- + +## Projects + +### "4wins" by @legion + + + +In preparation for a workshop at [Hackzogtum](https://wiki.hackerspaces.org/Hackzogtum), a hackerspace in Germany, Mastoden user @legion shared that they were [working on a "4wins" game](https://fosstodon.org/@legion@chaos.social/112984184091987552). + +### Lumanoi light sculpture + + + +Voria Labs have created the beautiful [Lumanoi](https://lumanoi.com/) +wall-mounted light sculpture. They're looking to secure crowdfunding in early +2025. + +Creator of the device, @darco, shared this in the Discord #showcase-and-projects +channel, explaining that it was powered by MicroPython. It's also worth noting +that the [test rig also employs +MicroPython](https://www.youtube.com/watch?v=3PBDW2ZYL3w). + +### Dr John + + + +### Mike Bell, ports MicroPython for Tiny Tapeout + +![Mike Bell ports MicroPython](../images/2024-08/mike_bell_port_micropython.png) + +Mike designed the [RISC-V "Nano V" processor](https://tinytapeout.com/runs/tt04/tt_um_MichaelBell_nanoV) for Tiny Tapeout 4 and ported a minimal variant of MicroPython to run on it. And it all *works*! + +### Will Whang's array of IMUs + +![Will Whang's arrah of IMUs](../images/2024-08/array_of_imus.jpg) + +Based on some [compelling +research](https://x.com/will_whang/status/1807299074049372190), Will Whang has +[built a 32x IMU array](https://x.com/will_whang/status/1817701413587415202) all +connected to an iCE40 FPGA that collects and processes the data. A connected RPi +Pico [running +MicroPython](https://github.com/will127534/IMU_Array/tree/main/MicroPythonCode) +deploys the gateware to the FPGA and grabs the summary results as the FPGA spits +them out. + +The whole project is a fascinating investigation to see how well accuracy can be +improved by using a low-cost array of IMUs to minimise interference and +outliers - and allow a purely inertial system to be used for guidance. + +### Dave Bell's MicroPython-powered retro-style incandescent light + + + +A beautiful incandescent light powered by MicroPython. Created by Raspberry Pi engineer, Dave Bell, who gave a great explanation of how it was made: [Retro Pico-powered incandescent lamp](https://www.raspberrypi.com/news/retro-pico-powered-incandescent-lamp/). + +### Hackaday articles + +![MicroPython on Hackaday](../images/2024-08/hackaday-micropython.png) + +Hackaday's [Arya Voronova](https://hackaday.com/author/aryavoronova/) seems to be a fan of MicroPython; she's recently published a couple of articles on our favourite embedded language: + +- [Embedded Python: MicroPython is + amazing](https://hackaday.com/2024/07/11/embedded-python-micropython-is-amazing/) +- [Embedded Python: MicroPython + Toolkits](https://hackaday.com/2024/08/05/embedded-python-micropython-toolkits/) + +### MicroPython on the Amiga + +![MicroPython on the Amiga](../images/2024-08/amiga_micropython.png) + +The Amiga has a soft-spot in my heart. So I'm delighted to hear that [a +port](https://github.com/jyoberle/micropython-amiga) of MicroPython is [now +available on Aminet](https://aminet.net/package/dev/misc/AmigaMicropython). + +This gives me even more motivation to fire up my Amige 4000/030... + +### Eye-following portrait + + + +[just_another_person](https://www.instructables.com/member/just_another_person/) +has a great Instructables write-up on how to create an [Eye-Following Portraint +With Raspberry Pi Pico](https://www.instructables.com/Eye-Following-Portrait/). +Uses ultrasonics and servos for the effect. [MicroPython code +available](https://github.com/just-another-person1/Projects-/blob/main/Object%20Following%20Portrait). + +### HiVolt badge + +![HiVolt badge](../images/2024-08/hivolt.gif) + +With 1,984 LEDs, the [HiVolt +badge](https://www.bensbadges.com/store/p/hivolt-badge) is pretty bad-ass. +Powered by an RP2040, including a joystick, accelerometer and an 1100mAh battery +it appears to be *impeccably* built and looks great! MicroPython code (and +schematic) available at +[Ben-s-Badges/hivolt](https://github.com/Ben-s-Badges/hivolt). + +Unfortunately (for us) the US$120 board seems to have been popular at DEF CON +and is currently sold out. + +### Picotamachibi 2 + +![Picotamachibi 2](../images/2024-08/picotamachibi2.jpg) + +[Kevin McAleer](https://www.kevsrobots.com/) is at it again, publishing a ton of +detail on his [Picotamachibi +2](https://www.kevsrobots.com/blog/picotamachibi2.html) project. It'a a virtual +pet running on a RPi Pico 2 with a 1.3" display. As usual, Kevin explains things +clearly and with exceptional quality - this is a *fantastic* beginner project. + +--- + +### Final Thoughts + +#### Community "Legend Award" + +![Jonnor on Discord](../images/2024-08/jonnor-discord.png) + +Shout-out to Jon *@jonnor* Nordby! + +Jon has triaged *hundreds* of MicroPython issues over the past couple of months, +taking a chunk of time out of his weekends to identify issues that can be +progressed...or closed. It's a big effort and greatly appreciated, thanks Jon! + +If you're interested in Machine Learning, you should also check out Jon's +MicroPython library +[emlearn-micropython](https://github.com/emlearn/emlearn-micropython) that +enables MicroPython applications to run efficient ML models. + +#### Who's going to be #1000? + +![Microython Meetup Members](../images/2024-08/micropython_meetup_members.png) + +**Hot-off-the-press**! User #1000 is +[Eon](https://www.meetup.com/members/112665052/). + +...and yes, I still want to move away from Meetup. I just received an invoice +for US$220 for *six months* use of Meetup. For a system that is buggy and pretty +simple. + +#### Favicon + +Sparing you folks no effort! + +![Favicon](../images/2024-08/favicon-16x16.png) + +#### Docker + +![You should use +Docker](../images/2024-08/you-should-use-docker-its-so-light-weight.webp) + +#### Pro-tip: Relate to the juniors + +![Pro Tip](../images/2024-08/pro-tip.webp) + +--- + +### Thanks folks + +![MidJourney fun](../images/2024-08/small_snake.png) diff --git a/_posts/2024-09-25-September-2024-Meetup.md b/_posts/2024-09-25-September-2024-Meetup.md new file mode 100644 index 0000000000000..4f832f4b55664 --- /dev/null +++ b/_posts/2024-09-25-September-2024-Meetup.md @@ -0,0 +1,274 @@ +--- +layout: post +title: September 2024 Meetup +--- + +*Volodymyr* explains how to embed any language (that compiles to wasm) into a native module, *Matt* gives the news round-up. + +## Volodymyr's native module work + +[Compiling Rust, GoLang, Zig, WebAssembly to MicroPython +modules](https://github.com/orgs/micropython/discussions/15702) + +## News Round-up + +### Updates + +#### Moving away from Meetup.com + +![Meetup logo](../images/2024-09/meetup_logo.png) + +Despite the 1000-odd users, this will be the last gathering organised with +meeetup.com. The service has become *very* expensive and doesn't warrant the +cost. + +I'll share what we'll use in the future via all the regular channels (including +meetup before we leave). + +#### mpbuild + +![Midjourney MPBuild](../images/2024-09/midjouney_mpbuild.png) + +[mpbuild](https://github.com/mattytrentini/mpbuild) has been overhauled with a +much clearer 'board database'. Further, a request has been made to provide +access to the features as a Python module, not just as a CLI app, someething +like this: + +```python +import mpbuild + +mpbuild.build("RPI_PICO2") +# Or build the variant +mpbuild.build("RPI_PICO2", "RISCV") + +# Alternatively... +db = mpbuild.database() +db.boards["RPI_PICO2"].build() +db.boards["RPI_PICO2"].variants["RISCV"].build() +``` + +That's not ready yet, but isn't far away - and will make integration into other +tools much easier. + +mpbuild is still not *quite* ready for widespread release...but getting very +close! Special thanks to Oliver, Andrew, Jos and Hans for their early +contributions. + +#### Hans and his Tentacles + +![Tentacles](../images/2024-09/tentacles.png) + +I've just received the prototype *Tentacles* from Hans! If anyone would like to +help progress automated HIL testing on MicroPython please get in contact with +me; we're looking for folks that could help run tests on devices using the +Tentacles. + +#### MicroPython Memory Profiler + +![MicroPython Memory Profiler](../images/2024-09/memory_profiler.png) + +[Planet Innovation](https://planetinnovation.com/) - the company that employs +Andrew and I - have agreed to release the [MicroPython Memory +Profiler](https://github.com/pi-mst/micropython-memory-profiler). It's an +in-house tool originally written mostly by Damien for a project where fragmented +memory was an issue when running a device for many hours/days. + +*Quick demo!* + +### Headlines + +#### Raspberry Pi RP2350 Errata 9 + +After all the excitement of the RP2350 announcement, unfortunately a fairly +nasty hardware issue has been discovered. Errata 9 or E9 affects all GPIOs when +in input mode - it seems like this means that internal pull-downs can't be used +when the pin is in input mode. + +Details are still emerging. Hackaday have been reporting on the issue pretty +clearly, take a look at [Raspberry Pi RP2350-E9 Erratum Redefined As Input Mode +Leakage +Current](https://hackaday.com/2024/09/20/raspberry-pi-rp2350-e9-erratum-redefined-as-input-mode-leakage-current/) + +--- + +#### PyCon AU + +![PyCon AU 2024](../images/2024-06/pyconau2024.png) + +Would folks be interested in attending a sprint day or two after the main event? + +--- + +#### Espressif DevCon 24 + +![Espressif DevCon 24](../images/2024-08/espressif_devcon24.png) + +As mentioned last month, [Espressif DevCon](https://devcon.espressif.com/) was +on from September 3-5. The 28 talks are [now available on +YouTube](https://www.youtube.com/playlist?list=PLOzvoM7_KnrdtDvNgN6b-GQ-kLppmNxab). + +--- + +## Matt's New Hardware + +Not many, but some grunty little 'toys', both discussed last month but are now +here *in the flesh*. Haven't had a chance to use them yet but they sure are +pretty. + +### ESP32-P4 + +![ESP32-P4 Function EV +Board](../images/2024-08/esp32-p4-function-ev-board-annotated-photo-front.png) + +Specs: + +- ESP32-P4: Dual-core 400MHz RISC-V +- ESP32-C6 for wifi/ble +- AI acceleration with 32MB PSRAM and 16MB flash +- Optional camera +- Optional display + +--- + +### 01Studio K230 Dev Board + +![01Studio K230 Dev Board](../images/2024-08/01studio_k230_board.png) + +Specs: + +- Kendryte K230: Dual-core RISC-V 1.6GHz/800MHz +- 1GB LPDDR4 RAM +- Optional 800x480 3.5" display (cap touch also optional) +- 1080P/60fps camera (up to 3x 1080P camera inputs) +- Wired Eth & Wifi +- 5xUART, 5xI2C, 6xPWM, 64xGPIO, 3xSPI +- 1080P HDMI output +- 4 lane 1080P MIPI display output +- 40 pin RPi header +- MicroPython port with OpenMV support + - Many computer vision examples (Face recognition, Barcode/QR code, YOLO object detection) + +--- + +## Hardware News + +### M5Stack + +#### AtomS3R + +![M5Stack AtomS3R](../images/2024-09/m5stack_atoms3r.webp) + +M5Stack have release a second S3-based Atom, the +[AtomS3R](https://shop.m5stack.com/products/atoms3r-dev-kit). The improvements +over the original +[AtomS3](https://shop.m5stack.com/products/atoms3-dev-kit-w-0-85-inch-screen) is +that this has 8MB of PSRAM, a more powerful IMU system and a better antenna +arrangement. + +**US$17.50** (US$2 more expensive than the original) + +#### AtomS3R Cam + +![M5Stack AtomS3R-Cam](../images/2024-09/m5stack_atoms3r-cam.webp) + +There's a new camera too, the [Atom S3R-Cam](https://shop.m5stack.com/products/atoms3r-camera-kit), the first in the Atom form factor. Take the AtomS3R, +remove the display and replace it with a 0.3MP camera. + +**US$20** + +#### Roller485 [Lite] + +![M5Stack Roller485](../images/2024-09/m5stack_roller485.webp) + +Two new interesting brushless DC motors were released. The +[Roller485](https://shop.m5stack.com/products/roller485-lite-unit-without-slip-ring-stm32) +and [Roller485 +Lite](https://shop.m5stack.com/products/roller485-lite-unit-without-slip-ring-stm32) +are 5/6-16V-powered motors. They have encoders, a built-in STM micro for control +and RS-485 or I2C interfaces. There's even a small display on the rear for +configuration. + +There's a Grove port, connected via a slip-ring, on the non-Lite version (to connect Grove to the ) + +**US$37** or **$30** for the Lite + +### Makerdiary i.MX RT1011 Nano Kit + +![Makerdiary i.MX RT1011 Nano Kit](../images/2024-09/makerdiary_imxrt1011nano.png) + +The [i.MX RT1011 Nano Kit](https://makerdiary.com/products/imxrt1011-nanokit) is +a new board for sale at Makerdiary. I'm becoming quite a fan of the RT range +from NXP! If you want to try one out, this is a great board to start with. + +- NXP i.MX RT1011 500MHz Cortex M7 +- 128KB RAM, 16MB flash + +**US$15** + +### Cytron IRIV IO Controller + +![Cytron IRIV IO Controller](../images/2024-09/cytron.png) + +Cytron have released the [Cytron IRIV IO +Controller](https://www.cytron.io/p-iriv-io-controller?r=1), an RP2350-based +industrial controller. + +Control isolated IO (11 input, 4 output, 2 analog in) up to 50V over Ethernet +with RS485 thrown in for good measure. + +Looks like good documentation and they advertise MicroPython support. + +**US$65** + +--- + +## Other news + +### C++ vs MicroPython + +![C++ vs MicroPython](../images/2024-09/cpp_vs_mp.jpg) + +Kevin McAleer dons the fireproof suit and asks [which language is +best](https://www.youtube.com/watch?v=MS_BM-bJnds)? + +### Design an RP2040 board with KiCad (and a handy humble bundle) + +![RP2040 with KiCAD](../images/2024-09/rp2040_with_kicad.jpg) + +Raspberry Pi released a new book: [Design an RP2040 board with +KiCad](https://www.humblebundle.com/books/raspberry-pi-and-retro-gaming-by-raspberry-pi-press-books). +It's a really clear guide on how to lay out a PCB using KiCAD for the RP2040. +It's £14.99 or you can purchase the [Raspberry Pi and Retro Gaming Book +Bundle](https://www.humblebundle.com/books/raspberry-pi-and-retro-gaming-by-raspberry-pi-press-books) +from Humble Bundle for AU$35 until Oct 5. + + +### MicroPython on the Flipper Zero + +![MicroPython on Flipper Zero](../images/2024-09/mp_on_flipper_zero.png) + +MicroPython is now available on Flipper Zero [via Flipper +Labs](https://lab.flipper.net/apps/upython). + +[Docs are available](https://ofabel.github.io/mp-flipper/) as is the [full +source code](https://github.com/ofabel/mp-flipper). + +Just take care if you're in Canada! + +--- + +### Final Thoughts + +#### ABENICS joint + + + +I can't stop thinking about this amazing spherical joint. + +If you're interested in reading more, it's published on IEEE: [ABENICS: Active +Ball Joint Mechanism With Three-DoF Based on Spherical Gear +Meshings](https://ieeexplore.ieee.org/document/9415699). + +### Thanks folks + +![MidJourney fun](../images/2024-09/midjourney_fun.png) diff --git a/_posts/2024-12-11-December-2024-Meetup.md b/_posts/2024-12-11-December-2024-Meetup.md new file mode 100644 index 0000000000000..ad7dfe441fd80 --- /dev/null +++ b/_posts/2024-12-11-December-2024-Meetup.md @@ -0,0 +1,255 @@ +--- +layout: post +title: December 2024 Meetup +--- + +*Damien* covers the latest v1.24[.1] and upcoming v1.25 releases. *Matt* delivers the news roundup. + +## Release milestones + +- [v1.24.0](https://github.com/micropython/micropython/milestone/7) +- [v1.24.1](https://github.com/micropython/micropython/milestone/9) +- [v1.25.0](https://github.com/micropython/micropython/milestone/8) + +## News Round-up + +### Big ticket items + +#### PyCon AU + +![PyCon AU 2024](../images/2024-06/pyconau2024.png) + +[PyCon AU 2024](https://2024.pycon.org.au/) was held at the end of November and, +as usual it was a big event! + +The videos are now [all +available](https://www.youtube.com/playlist?list=PLs4CJRBY5F1Jn7fWZyMgogpPsu1vAZKB2). +88 of them for your viewing pleasure! + +- Anthony Joseph: [from seeds import plants: using IoT to grow healthy +herbs](https://www.youtube.com/watch?v=tgdo0b7h15c) +- Damien George, Julian Dinsdale: [Teaching Digital Technologies in Australian +schools with Python and the +Kookaberry](https://www.youtube.com/watch?v=eK2YIHYDbG8) +- Matt Trentini: [MicroPython: The best + bits!](https://www.youtube.com/watch?v=EVRDuu-Sez0) + +Sprint day: HIL testing, board definitions... + +#### Hans and Octoprobe + +![Tentacles](../images/2024-09/tentacles.png) + +(Damien to discuss) + +#### Reverse Engineering MicroPython Frozen Modules + +![Reverse Engineering MicroPython Frozen Modules](../images/2024-12/reverse_eng_micropython.png) + +From DEF CON 32, you can now check out [Wesley McGrew's Reverse Engineering +MicroPython Frozen Modules](https://www.youtube.com/watch?v=QXa29AJqdRc) talk. + +> In this talk, Wesley will walk the audience through the process of identifying +> "frozen"/compiled modules in a firmware image without debug symbols using the +> Ghidra disassembler. The relevant module, string, object, and raw code data +> structures will be detailed, so that everything required to rebuild a +> non-frozen module can recovered. Once a compiled module is reconstructed, +> Wesley will present a detailed example of reading and understanding +> MicroPython compiled bytecode, for the purpose of reverse engineering the +> purpose and implementation of the module. + +#### Paused: Moving away from Meetup.com + +![Meetup logo](../images/2024-09/meetup_logo.png) + +Meetup.com has had a reprieve! The PSF have reached out and have indicated that +we may be eligible for a grant to cover the meetup costs. Seems like it's a +common issue... + +I did look at other options but none were particularly compelling. + +## Matt's New Hardware + +Quiet lately during the PyCon craziness! + +### Makerdiary i.MX RT1011 Nano Kit + +![Makerdiary i.MX RT1011 Nano Kit](../images/2024-09/makerdiary_imxrt1011nano.png) + +(Covered in [September](https://melbournemicropythonmeetup.github.io/September-2024-Meetup/)) + +The [i.MX RT1011 Nano Kit](https://makerdiary.com/products/imxrt1011-nanokit) is +a new board for sale at Makerdiary. + +- NXP i.MX RT1011 500MHz Cortex M7 +- 128KB RAM, 16MB flash + +**US$15** + +--- + +### nRF54L15 DK + +![nRF54L15 DK](../images/2024-12/nrf54l15_dk.png) + +Specs: + +- 128MHz Cortex M33 +- 256KB RAM, 1.5MB flash +- RISC-V 128MHz co-processor +- BLE 6.0 + +--- + +## Hardware News + +### Waveshare ESP32-P4-NANO + +![Waveshare ESP32-P4-Nano](../images/2024-12/waveshare-p4.png) + +As reported by [CNX +Software](https://www.cnx-software.com/2024/11/06/waveshare-esp32-p4-nano-board-offers-ethernet-wifi-6-bluetooth-5-mipi-display-and-camera-interfaces-gpio-headers/), +Waveshare have released a small ESP32-P4 dev board. + +- ESP32-P4 dual-core 400MHz RISC-V + - 768KB RAM/32MB PSRAM + - 128KB flash + 16MB flash +- Wifi (via ESP32-C6-MINI) +- 50mm square + +**AU$32** + +### LilyGO T-Keyboard S3 Pro + +![LilyGo T-Keyboard S3 Pro](../images/2024-12/lilygo-t-keyboards3pro.png) + +- ESP32-S3, 8MB PSRAM, 16MB flash +- STM32G0 co-processor, 8KB RAM, 64KB flash +- 0.85" 128x128 RGB LCD on each button +- 1x optional rotary encoder (instead of fifth button) +- Up to 6x units magnetically "stackable" on all four sides (via I2C) + +**US$62** (US$51 for slave devices, no ESP32-S3) + +--- + +## Other news + +### MicroPython in Orbit (podcast) + +![Inspiring Computer podcast](../images/2024-12/micropython-in-orbit.jpg) + +[MicroPython in Orbit: Filip's Story of Satellite Innovation](https://www.buzzsprout.com/2107763/episodes/16050934) + +>In this episode of Inspiring Computing, I chat with Filip Rak, the team leader +>at the Czech Aerospace Research Center. Filip tells me about his journey from +>engineering to leading the development of attitude and orbit control systems +>for satellites. We talk about the technical challenges and triumphs, like +>launching satellites and using MATLAB and MicroPython. Filip also shares how +>they took a selfie from space at their facility and how this achievement +>inspired future projects. He also talks about the complexity of late attitude +>control, using cube sats with limited resources, and their agile risk tolerance +>approach. The conversation highlights how advanced computing is used in +>aerospace and emphasizes the importance of balancing innovation with practical +>constraints. + +### Sand drawing robot + +![Camera Remote](../images/2024-12/sand_drawing.jpg) + +Travis Howse, over the past few years, has built an amazing [sand +drawing](https://github.com/tjhowse/sand_drawing) device! + +He's +[documented](https://wiki.tjhowse.com/doku.php?id=projects:sand_drawing:overview) +the whole process _thoroughly_ and there are some [great +videos](https://www.youtube.com/playlist?list=PLT7ckgz8vcoY2YFqqQTA0kUofwehtqQul) +too. + +### T-Watch 2020 Camera Remote + +![Camera Remote](../images/2024-12/camera-remote.jpeg) + +Dave Wickam, aka +[turmoni](https://fosstodon.org/@turmoni@treehouse.systems/113545067642996589), +wanted to control and monitor the recording and +battery status of his two cameras while riding his bike. So he wrote some +MicroPython to implement the appropriate protocols to connect to his TomTom +Bandit and GoPro camera. A little UI and voila, +[t-watch-2020-camera-remote](https://github.com/turmoni/t-watch-2020-camera-remote)! + +### Tempe: Efficient Purely-MicroPython Graphics + +![Tempe Scatter Plot](../images/2024-12/tempe_scatter_plot.png) + +Corran Webster [has +announced](https://github.com/orgs/micropython/discussions/16105) +[Tempe](https://github.com/unital/tempe); a pure MicroPython library +built on framebuf for rendering data visualizations. + +A key feature of the library is to use _partial updates_ - render to small +framebuffers that represent a portion of the physical display. Using this +technique it's possible to conserve memory and still be fast. + +It's looking great! It's early days and Corran has requested assistance with +testing and feedback - if you're at all interested in this domain please check +it out! + + +### Pocket Spectrometer + +![Pocket Spectrometer](../images/2024-12/pocket_spectrometer.jpg) + +Chinna Devarapu published a [BlueSky +thread](https://bsky.app/profile/chinnadevarapu.bsky.social/post/3lbsotrhi5s2p) +about his [Pocket +Spectrometer](https://github.com/scientistnobee/Pocket-Spectrometer). + +> I'm building what might be the smallest opensource spectrometer with an easy to +use UI! I call it a pocket spectrometer. Combining #M5StickC (~$20) with AS7341 +sensor (~$16). My goal? A complete spectrometer that is barely larger than a +sample cuvette itself. + +--- + +## Quick bytes + +### ulab is looking for help + +As reported in the recent [OpenMV +news](https://mailchi.mp/d4b56fce2072/7f6kh54q7k-10340647?e=91a7329bf2), +[ulab](https://github.com/v923z/micropython-ulab/) is looking for assistance to +improve performance, particularly on micros that support ARM's Helium +instruction set. If that's you, get in touch with lead dev, Zoltán Vörös. + +### Bad Apple at 480x480 via RP2350 PIO + +Mike Bell invested some time in making a PIO-powered driver for his 480x480 +display and [played Bad Apple with +it](https://bsky.app/profile/rebelmike.bsky.social/post/3lbpftyec3s25); +including PWM audio! Result looks smooth (helped by a 240MHz overclock). + +--- + +## Final Thoughts + +### Hacking Robot Vacuums + +![Hack Robot Vacuum](../images/2024-12/hack_robot_vacuum.png) + +The fascinating ABC article [We hacked a robot vacuum — and could watch live +through its +camera](https://www.abc.net.au/news/2024-10-04/robot-vacuum-hacked-photos-camera-audio/104414020) +should make you feel nervous. + + +### BlueSky + +![Bluesky](../images/2024-12/bluesky.png) + +BlueSky - worth a look! A lot of MicroPython news appearing there, particularly +in the wake of Twitter/X's continuing decline. + +### Thanks folks! + +![MidJourney fun](../images/2024-12/midjourney_fun_dec24.png) 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/_posts/2025-05-28-May-2025-Meetup.md b/_posts/2025-05-28-May-2025-Meetup.md new file mode 100644 index 0000000000000..d30143021bb3f --- /dev/null +++ b/_posts/2025-05-28-May-2025-Meetup.md @@ -0,0 +1,754 @@ +--- +layout: post +title: May 2025 Meetup +--- + +*Matt* delivers the news roundup. *Oliver* demos updates to mim. *Hans* gives an Octoprobe update. + +## News Round-up + +### Big ticket items + +#### MicroPython v1.25.0 Released + +![MicroPython Logo](../images/micropythonlogo.png) + +MicroPython v1.25.0 brings several exciting new features: + +**ROMFS (Read-Only Memory Filesystem)** +- All the benefits of frozen code + - Without the inconvenience of building it in with your firmware! + +**New Alif Ensemble Port** +- Dual-core support with OpenAMP +- WiFi and Bluetooth connectivity +- USB support via TinyUSB + +**RISC-V Inline Assembler** +- New `@micropython.asm_rv32` decorator +- Write RISC-V machine code snippets callable from Python +- Available on rp2 port when running in RISC-V mode + +The release also includes improved mpremote tool (recursive rm!), enhanced +ESP-IDF support (v5.3/v5.4), and a host of improvements and performance +optimizations across platforms. + +And *so much* more...see the [full release +notes](https://github.com/micropython/micropython/releases/tag/v1.25.0). + +[v1.26](https://github.com/micropython/micropython/milestone/10) is already well +underway, currently targeting an August 1st release date. + +--- + +#### mip-ifying the Amazing List - with Claude's help + +![Claude Code](../images/2025-05/claude.webp) + +- Oliver and I decided to have a *hack session* +- Goal: Go through the [Awesome List](https://awesome-micropython.com/) and add + `mip` support to as many libraries as possible! + - \>1K URLs (~800 Github/Gitlab links, not all libraries) +- Used [Claude Code](https://docs.anthropic.com/en/docs/claude-code) to assist + - Help select candidate libraries + - Fork the repos + - Add an appropriate `package.json` + - Raise PRs + +There were **~120 PRs raised**, ~20 have been accepted. There's another batch of +Gitlab PRs to come, too. + +Claude wasn't perfect, there were a few mistakes, it required some +back-and-forth and it *wasn't free*. The session, including 5-ish hours of +compute cost ~AU$65. + +But it would have been a very, *very* tedious task - I'm convinced I wouldn't +have completed it. + +--- + +#### PyCon AU + +![PyCon AU](../images/2025-05/pyconau2025.png) + +[PyCon AU 2025](https://2025.pycon.org.au/) has been announced - for here in +Melbourne - and the [Call for Proposals](https://2025.pycon.org.au/program/) is +open! It closes on the 15th June so do consider presenting a talk (particularly +if it's MicroPython-related!). + +--- + +### Improving Garbage Collection Time + +![Improving Garbage Collection Time](../images/2025-05/gccircuitpython.jpg) + +CircuitPython lead dev, Scott Shawcroft, published a [blog post on improving +garbage collection time in +CircuitPython](https://blog.adafruit.com/2025/04/28/improving-garbage-collection-time-in-circuitpython/). +Scott had observed that GC collection times could blow out, particularly with +the larger memory available on newer micros. Digging further, Scott discovered +some worst-case scenarios where the `gc.collect()` could take almost 20 seconds! + +The workaround implemented in CircuitPython is to use [selective +collect](https://github.com/adafruit/circuitpython/pull/10264), effectively +informing the gc to ignore certain allocations. It can dramatically improve gc +collections for some scenarios. + +Scott has been in touch with Damien since the same gc is present in MicroPython. + +--- + +### MIDI Controlled Acoustic Crank Organ + +![Crank Organ](../images/2025-05/animacion_organillo.gif) + +This [MIDI controlled acoustic crank +organ](https://github.com/orgs/micropython/discussions/17278) by bixb922 is +absolutely delightful! And the more you dig into this project, the more it +reveals... + +The crank inflates bellow to maintains a reservoir of air - and the rotation +determines the playback speed. Solenoids control the air flowing into the pipes, +carefully timed by MicroPython software running on an ESP32-S3. The tunes are +defined by MIDI files and a playlist can be managed with app rendered in a +browser. + +*Favourite feature*: A microphone is used to automatically iterate through the +solenoids and play each pipe to detect the note and use it for configuration. + +*Everything* - hardware, mechanics, software - is available on the +[crank-organ](https://github.com/bixb922/crank-organ) repo and the software +[design and +development](https://github.com/bixb922/crank-organ/blob/main/design_and_development/design_and_development.md) +write-up is full of gems. + + + +--- + +## Matt's New Hardware + +### M5Stack Tab5 + +![M5Stack Tab5](../images/2025-05/m5stack_tab5.jpg) + +The [M5Stack +Tab5](https://shop.m5stack.com/products/m5stack-tab5-iot-development-kit-esp32-p4) +is M5Stack's first tablet-like IoT development kit, featuring: + +- ESP32-P4 (400MHz RISC-V dual-core) + ESP32-C6-MINI for connectivity +- 5-inch IPS touchscreen (1280×720), 2MP front camera +- 16MB Flash, 32MB PSRAM +- Wi-Fi 6, Bluetooth 5.2, USB-A/C, RS-485 +- Industrial-grade design with removable battery + +**US$60** (with battery) + +*Note: MicroPython support pending (but underway)* + +--- + +### ESP32-C5 Development Board + +![ESP32-C5 DevKit](../images/2025-05/esp32_c5_devkit.png) + +Espressif recently announced that the [ESP32-C5 is in Mass +Production](https://www.espressif.com/en/news/ESP32-C5_Mass_Production). + +The [ESP32-C5](https://www.espressif.com/en/products/socs/esp32-c5) represents a +major connectivity advancement: + +- **Industry's first RISC-V MCU with dual-band Wi-Fi 6 (2.4/5GHz)** +- 32-bit single-core RISC-V up to 240MHz +- Bluetooth 5 LE, IEEE 802.15.4 + + +**AU$30** + +*Note: MicroPython support pending* + +--- + +### Thumby Color + +![Thumby Color](../images/2025-05/thumbies.webp) + +The [Thumby Color](https://color.thumby.us) is the world's smallest color gaming handheld: + +- Raspberry Pi RP2350 processor +- 0.85" 128×128 pixel 16-bit color display +- 51.6 × 30.0 × 11.6mm (smallest horizontal handheld) +- 9 buttons, vibration motor, 110mAh battery +- [Many games](https://color.thumby.us/code/arcade/?platform=ThumbyColor), [web IDE support](https://color.thumby.us/code/) + +**US$50** + +✅ MicroPython support + +--- + +### STM32-U385 Nucleo + +![STM32-U385 Nucleo](../images/2025-05/stm32u385nucleo.webp) + +The [STM32-U385RG-Q Nucleo](https://www.st.com/en/evaluation-tools/nucleo-u385rg-q.html) features ST's newest ultra-low-power MCU: + +- STM32U385RG with 96MHz Arm Cortex-M33 core +- Ultra-low-power design with SMPS +- U385RG: 1MB flash, 256K RAM +- 3x I2C, 2x I3C, 3x SPI, 1x OCTOSPI, UARTs, CAN, USB +- Analog: 2x 12bit ADC, 2x comparators, 2x op-amps, 2x DAC +- No external clocks required +- Integrated ST-LINK debugger/programmer + +**~AU$40** (AU$5-10 for the micro) + +*Note: MicroPython support not yet available* + +--- + +### Waveshare ESP32-P4-Nano + +![Waveshare ESP32-P4-Nano](../images/2025-05/waveshare_esp32_p4_nano.png) + +The [Waveshare ESP32-P4-Nano](https://www.waveshare.com/esp32-p4-nano.htm) packs impressive features in 50×50mm: + +- ESP32-P4 (400MHz RISC-V dual-core) + ESP32-C6-MINI +- 32MB PSRAM, 16MB Flash +- Wi-Fi 6, Bluetooth 5, 10/100 Ethernet +- MIPI DSI/CSI support for displays and cameras +- USB-C/USB-A ports + +**US$20** (various configurations) + +*Note: MicroPython support pending* + +--- + +### Waveshare ESP32-S3 4inch Display + +![Waveshare ESP32-S3 4inch](../images/2025-05/waveshare_esp32_s3_4inch.jpg) + +The [Waveshare ESP32-S3 4inch Display](https://www.waveshare.com/esp32-s3-touch-lcd-4.htm) is an all-in-one development solution: + +- ESP32-S3 dual-core up to 240MHz +- 4-inch LCD (480×480), 5-point capacitive touch +- 16MB Flash, 8MB PSRAM +- CAN, RS485, I2C interfaces, TF card slot + +**US$33** + +✅ MicroPython support + +--- + +### Waveshare RP2350 1.47inch Display + +![Waveshare RP2350 1.47inch](../images/2025-05/wavesharerp2350.webp) + +The [Waveshare RP2350 1.47inch Display](https://www.waveshare.com/rp2350-lcd-1.47-a.htm) showcases dual-architecture flexibility: + +- Raspberry Pi RP2350A (Cortex-M33 + RISC-V cores) +- 1.47-inch LCD (172×320 pixels), 262K colors +- 520KB SRAM, up to 16MB Flash +- TF card slot, RGB LED, battery header + +**US$10** + +✅ MicroPython support + +--- + +## Hardware News + +### Unexpected Maker SQUiXL + +![Unexpected Maker SQUiXL](../images/2025-05/squixl.jpg) + +Unexpected Maker's [SQUiXL](https://squixl.io/) is a lovely device that packs a +heck of a punch! + +- High-resolution 480x480 capacitive touch display +- ESP32-S3, 16MB QSPI flash, 8MB Octal PSRAM +- Battery charging for the included 1500mAh battery, with a fuel gauge +- Haptics, I2S audio, uSD, STEMMA/QT +- Arduino IDE, PlatformIO, and MicroPython support + - See [SQUiXL-DevOS](https://github.com/UnexpectedMaker/SQUiXL-DevOS) + +**US$99** + +--- + +### RePebble: SiFli SF32LB52J MCU + +![SiFli SF32LB52J](../images/2025-05/sifli.webp) + +Eric Migicovsky is part of the team bringing back the Pebble Watch (see +[RePebble](https://repebble.com/)!). + +Although their first watch will use the venerable nRF52840, they are looking to +the future and Eric wrote up how they selected their next-gen micro: [How To +Build A Smartwatch: Picking A +Chip](https://ericmigi.com/blog/how-to-build-a-smartwatch-picking-a-chip). + +They arrived at the [SiFli +SF32LB52J](https://www.cnx-software.com/2025/05/14/sifli-sf32lb52j-big-little-arm-cortex-m33-bluetooth-mcu-powers-the-core-time-2-smartwatch/) +which is a *super* interesting little micro! + +- Arm Cortex-M33 cores + - HCPU: Up to 240MHz, 512KB SRAM (high performance) + - LCPU: Up to 24MHz, 64KB SRAM (ultra-low-power) +- Bluetooth 5.3 dual-mode, BLE audio support +- 2D/2.5D GPU with hardware acceleration, LCD controller +- 24-bit DAC/ADC, I2S interfaces +- 45 GPIOs, USB 2.0 Full Speed +- Open-source sw support was a *huge* consideration + +The HAL looks reasonably well documented...and this micro *appears designed to +run MicroPython*! + +A dev board - with 16MB flash and 8MB PSRAM - is available from AliExpress for +**~AU$40**. + +--- + +### M5Stack PLC Controller + +![M5Stack PLC Controller](../images/2025-05/m5stack_plc.webp) + +M5Stack have released the [M5Stack PLC Controller with +M5StampS3](https://shop.m5stack.com/products/m5stamp-plc-controller-with-m5stamps3), +an industrial-grade development platform featuring: + +- ESP32-S3FN8 with 8MB Flash, Wi-Fi 2.4GHz +- Industrial I/O: 8 opto-isolated digital inputs (5-36V), 4 relay outputs (5A), + CAN and RS-485 +- 1.14" color LCD (135×240), 3 user buttons, buzzer +- Wide voltage input DC 6-36V +- Temperature (LM75), voltage/current (INA226), RTC + +**US$43** + +--- +### pico2-ice + +![pico2-ice](../images/2025-05/pico2-ice.jpg) + +[TinyVision](https://tinyvision.ai/) have released the +[pico2-ice](https://pico2-ice.tinyvision.ai/), an open-source hardware platform +combining an RP2350B with an FPGA: + +- Raspberry Pi RP2350B (2x Cortex-M33 @ 150MHz) +- Lattice iCE40UP5K UltraPlus (5.3K LUTs, 8 DSP multipliers) +- 8MB qSPI SRAM, 4MB FPGA Flash, 1Mb SPRAM, 120Kb DPRAM +- All RP2350 pins + 32 FPGA GPIO pins exposed via Pmod headers +- 2x RGB LEDs, 2x pushbuttons, USB-C, 4-layer PCB design + +✅ MicroPython support, including a [well-documented MicroPython +library](https://pico2-ice.tinyvision.ai/md_mpy.html) to program the FPGA from +the RP2350B. + +**AU$79**. The catch? Shipping to Australia almost doubles the cost... + +--- + +### Clockwork PicoCalc + +![PicoCalc](../images/2025-05/picocalc.png) + +The [PicoCalc](https://www.clockworkpi.com/product-page/picocalc) is very neat +portable device built around a decent display and qwerty tactile keyboard. + +- ClockworkPi v2.0 mainboard +- Raspberry Pi Pico 1 H Core module (replaceable!) +- 320x320 4-inch IPS screen (SPI interface) +- Ultra-portable QWERTY Backlit keyboard on board (I2C) +- Dual speaker +- ABS plastic shell, tempered glass cover +- 32GB high-speed SD-card with optimized BASIC firmware + +**US$75** + +#### MicroPython on the PicoCalc + +![PicoCalc MicroPython](../images/2025-05/framebuffer2.jpg) + +Lofi Fren released [PicoCalc MicroPython](https://github.com/LofiFren/PicoCalc), +MicroPython firmware and script collection for the PicoCalc. It was, in turn, +built on top of +[PicoCalc-micropython-driver](https://github.com/zenodante/PicoCalc-micropython-driver) +by Zenodante. Both of these projects - and the community in general - seem to be +very active! + +--- + +### Seeed Studio Minichord Synthesizer + +![Minichord Synthesizer](../images/2025-05/minichord.jpg) + +A "co-create collaboration" with Seeed Studio, the [Minichord +Synthesizer](https://www.seeedstudio.com/Minichord-Synthesizer-p-6414.html) is a +fascinating open source (HW too!) device designed to help create music. Chord +buttons, Harp Touch Zone and MIDI support via Platform IO. Built around the +Teensy 4.0. + +**US$170** + +--- + +### Seeed Studio XIAO 7.5" ePaper Panel + +![XIAO 7.5" ePaper Panel](../images/2025-05/xiao-epaper-panel.jpg) + +Seeed +[announced](https://www.seeedstudio.com/blog/2025/04/03/xiao-7-5inch-epaper-display/) +the [XIAO 7.5 Inch ePaper +Panel](https://www.seeedstudio.com/XIAO-7-5-ePaper-Panel-p-6416.html), an +attractive 800x480 ePaper display powered by a XIAO ESP32-C3. They advertise +that it works with ESPHome in Home Assistant. + +If you're looking for an ePaper Panel this is a neat option. + +**US$70** + +--- + +### T-Pico2350 Development Kit + +![T-Pico2350](../images/2025-05/tpico2350.webp) + +The [LilyGo T-Pico-2350](https://lilygo.cc/products/t-pico) is an update to +their earlier T-Picos which have been a combination of an RP and ESP32 micros. +This one is an RP2350+ESP32-C6. + +While the RP2350 drives most of the peripherals, the ESP32-C6 handles radio +comms but also has pins broken out. It's an interesting combination! + +[CNX](https://www.cnx-software.com/2025/04/11/t-pico-2350-is-a-fully-integrated-devkit-with-raspberry-pi-rp2350-esp32-c6-2-33-inch-color-touchscreen-display-and-hdmi-video-output/) +have a detailed review but these are the main specs: + +- Raspberry Pi RP2350A (dual-core Arm Cortex-M33/RISC-V @ 150 MHz) + - 520KB SRAM, 16MB SPI flash + - MicroSD card slot + - 2.33" color IPS LCD (SPI ST7796S), 480x222 resolution, capative touch (I2C) + - HDMI out up to 480p60 (via HSTX) +- ESP32-C6-MINI-1U-N4 (RISC-V @ 160MHz) + - 512KB RAM, 4MB flash + - 2.4 GHz WiFi 6, Bluetooth 5.0, and 802.15.4 (Thread/Zigbee) + - Evil reversible USB port + +Relevant software and docs in the [Lilygo-T-Pico2 +repo](https://github.com/Xinyuan-LilyGO/Lilygo-T-Pico2). + +**US$40** + +--- + +## Other news + +### Conference Talks & Education + +![Conference Talks](../images/2025-05/talks.jpg) + +**PyCon Italia 2025** +[Marc-André Lemburg will +speak](https://x.com/malemburg/status/1922223713451196653) at PyCon Italia 2025 +in Bologna (May 30). *"Programming hardware displays the easy way - using +MicroPython and LVGL"* + +**PyCon Austria 2025** +[Alexander Fomin presented](https://www.youtube.com/watch?v=5MgIrMw1vzE) +*"Python Beyond the Usual: Building an RC Car with MicroPython"* demonstrating +robotics applications. + +--- + +### I2CTargetMemory + +![I2CTargetMemory](../images/2025-05/i2ctarget.png) + +Damien recently raised a PR for an implementation of +[I2CTargetMemory](https://github.com/micropython/micropython/pull/17365). +Appears simple and easy-to-use: + +```python +from machine import I2CTargetMemory + +mem = bytearray(8) +i2c = I2CTargetMemory(addr=67, mem=mem) +``` + +Currently available for the RP2 and STM32 ports. + +--- + +### Self-Charging Arduino Alvik Robot + +![Self-Charging Alvik](../images/2025-05/alvik-self-charging.avif) + +[Roni Bandini modified](https://x.com/RoniBandini/status/1919869688948953511) +the Arduino Alvik robot to be self-charging, with an excellent [detailed +tutorial](https://www.hackster.io/roni-bandini/building-a-self-charging-alvik-6daed7) +of the build on Hackster.io. + +Full [MicroPython +code](https://github.com/ronibandini/Alvik/tree/main/autocharge) available! + + + +--- + +### RISC-V Emulator in Python + +![RISC-V Emu](../images/2025-05/riscvemu.png) + +Ciro Cattuto released a RISC-V emulator in pure Python! Further, with emulated peripherals, even MicroPython can be run under the emulator: + +```bash +$ ./riscv-emu.py --raw-tty --ram-size=4096 prebuilt/micropython.elf +Welcome to MicroPython on RISC-V! +MicroPython v1.25.0 on 2025-05-01; emulated with risc-emu.py +Type "help()" for more information. +>>> +``` + +This looks like an *amazing* well-supported emulator and, if you're interested in +RISC-V, this is a must-look-at project. + +--- + +### PYPER2, Electric Rover + +![PYPER2](../images/2025-05/pyper2.jpg) + +One of (previous speaker!) Tim Hanewich's recent projects is [PYPER 2: +Python-Based 3D-Printed Electric Rover](https://github.com/TimHanewich/pyper2). + +PYPER2 is "a fully 3D-printed electric rover that uses common inexpensive +components, is powered by a Raspberry Pi Pico, and programmed in MicroPython." + +All design files and software are available - and clearly Tim has had some fun +with PYPER2! + + + +--- + +### PrestoDeck, a DIY Spotify Music Player + +![PrestoDeck](../images/2025-05/prestodeck.jpg) + +Fatih Ak created the [PrestoDeck](https://github.com/fatihak/PrestoDeck), a DIY +Spotify music controller built for the Pimoroni Presto. "It displays the album +cover art, name, and artist of the currently playing track and provides basic +controls for playback." + + + +--- + +### Super Famicom Cartridge Reader + +![Super Famicom Cartridge Reader](../images/2025-05/superfamicomreader.jpg) + +xsk's [sfc-cartridge-pico](https://codeberg.org/xsk/sfc-cartridge-pico) project +implements a Super Famicom cartridge reader in MicroPython using an RPi Pico and +shift registers. + +This was the motivation behind the +[rp_blink_faster](https://codeberg.org/xsk/rp_blink_faster) investigation +(covered in the [March +Meetup](https://melbournemicropythonmeetup.github.io/March-2025-Meetup/)) to +determine the most efficient way to toggle a pin. + +--- + +### TV-B-Gone + +![TV-B-Gone](../images/2025-05/tvbgone.jpeg) + +Ned Konz [announced](https://github.com/orgs/micropython/discussions/17326) that +he's created a (improved!) clone of the popular ol' [TV-B-Gone using +MicroPython](https://github.com/bikeNomad/micropython-tv-b-gone). + +The TV-B-Gone emits a whole bunch of TV infrared signals to turn off many TV's. +The old project no longer worked for many modern TVs and was built around the +aging ATTiny. Ned has updated it to run on MicroPython, on an ESP32-S3, and has +updated the TV support. + +Apart from being a cool project, there's also a detailed README explaining how +it works and how to construct your own. + +--- + +### Remote Soil Monitoring + +![Soil Monitor](../images/2025-05/soilmonitor.webp) + +If you've ever wanted to remotely monitor the moisture in your soil you have to +check out Brian (and brother Andrew) Dorey's excellent project: [Raspberry Pi +Pico, LoRa & Home Assistant remote soil +monitoring](https://www.briandorey.com/post/pi-pico-lora-remote-soil-monitor). + +Brian's polytunnel is a kilometer from their house so they need to remotely +monitor the state of the soil. They employ soil moisture sensing, LoRa, humidity +sensing, e-ink, solar power and battery charging, orchestrating it all with +MicroPython. Back at home they tie it in to a Home Assistant system to display +the information. + +It's a *brilliant* write-up on the design of the project and includes many +crucial details. The code and hardware designs are available at +[pi-pico-lora-soil-monitor](https://github.com/briandorey/pi-pico-lora-soil-monitor). + +--- + +### SAM + +![SAM TTS](../images/2025-05/samtts.jpg) + +Quan Lin has done a superb job of porting the old SAM (Software Automatic Mouth) +Text-To-Speech program to pure Python: +[micropython-smatts](https://github.com/jacklinquan/micropython-samtts). + +SAM was cutting-edge 40 years ago so [calibrate your +enthusiasm](https://www.youtube.com/watch?v=elD4RoNKWXM&t=28s) (any Andor +fans?), this won't compete with modern LLM TTS. I remember being *astonished* by +it when using it on my Commodore64 back in the day and to see it running on +microcontrollers filled me with nostalgic joy. + +You can try [SAM in the +browser](https://jacklinquan.github.io/micropython-samtts/) to get a feel for +the results. + +--- + +### HUB75 MicroPython LED Matrix Driver + +![Hub75](../images/2025-05/hub75.png) + +Excellent work from Andy Crook with his +[Hub75-24bit](https://github.com/andycrook/Hub75-24bit/) RP2 driver. Hub75's are +the large, cheap LED panels, in this case a 64x64 matrix. His driver provides +24-bit colour, HW accelerated drawing (via PIO), BMP loading, font support and +3D textured model support (!). There's even a particle system. + +Andy has also published a [bunch of examples on reddit](https://www.reddit.com/user/CMDR_Crook/submitted/). + + + +--- + +### Spectrum Analyzer + +![Spectrum Analyzer](../images/2025-05/spectrumanalyzer.jpg) + +Dan McCreary has been building on top of Peter Hinch's [assumbler-in-MicroPython +FFT +library](https://github.com/peterhinch/micropython-fourier/blob/master/dft.py), +creating a toolkit of scripts that apply an FFT in various ways. Check out his +code at +[dmccreary/spectrum-analyzer](https://github.com/dmccreary/spectrum-analyzer) +and his [Course on Spectrum +Analyzers](https://dmccreary.github.io/spectrum-analyzer/) and [Advanced +MicroPython +Lab](https://dmccreary.github.io/learning-micropython/advanced-labs/30-spectrum-analyzer/) +on the topic. There's a ton of detail! + +Or watch the video for a taster: + + + + +--- + +## Quick bytes + +### mpremote + +Thanks to Jos Verlinde, `mpremote` now has a [`tree` +command](https://github.com/micropython/micropython/pull/17112) + +### utop + +Daniël van de Giessen wrote an implementation of top, +[utop](https://github.com/micropython/micropython-lib/pull/822), which was +recently merged into micropython-lib. Currently ESP32-only but the API is +designed to be consistent across all ports. + +### YAML Parser for MicroPython + +[mpy-yaml](https://github.com/Carglglz/mpy-yaml) provides YAML parsing and +writing capabilities for MicroPython. From Carlglglz. + +### RP2350 UART Bootloader + +One improvement of the RP2350 is that the bootloader can be controlled - and +firmware updated - over a UART connection. Thomas Pfister has a great blog post, +[Booting the RP2350 from +UART](https://pfister.dev/blog/2025/rp2350-uart-bl.html) and an accompanying +[video](https://www.youtube.com/watch?v=eno0hiFSr18). + +### Olimex RT1010Py TinyUF2 Support + +[Olimex adds TinyUF2 +support](https://www.hackster.io/news/olimex-brings-tinyuf2-support-to-the-speedy-rt1010py-micropython-development-board-6979055a9293) +to their RT1010Py MicroPython board. + +### Olimex ESP32-EVB Relay Web Interface + +[Olimex +demonstrates](https://olimex.wordpress.com/2025/04/28/esp32-evb-relays-driven-by-web-interface-with-micropython-so-you-can-switch-on-and-off-loads-from-anywhere-with-internet-connection/) +driving relays via web interface with MicroPython for remote load control. + +### Sparkfun Free Sensor offer + +[SparkFun is +offering](https://info.sparkfun.com/upgrade-your-projects-with-new-sparkfun-imaging-solutions) +free sensors with MicroPython board purchases. + +### PicoShell + +[PicoShell](https://github.com/patrickp02/PicoShell) is a lightweight, real-time CLI written in +MicroPython for the Raspberry Pi Pico. + +### Pico 2 Getting Started Guide + +Random Nerd Tutorials has published a comprehensive [getting started +guide](https://randomnerdtutorials.com/getting-started-raspberry-pi-pico-2-w/) +for Raspberry Pi Pico 2, covering both MicroPython and Arduino IDE. + +### ESP-NOW MIDI Library + +Thomas Geissl wrote +[ESP-NOW-MIDI](https://github.com/thomasgeissl/ESP-NOW-MIDI), an Arduino library +that enables wireless MIDI communication between ESP devices. A very cool idea! +There's a CircuitPython lib - that ought to be *very* similar to a MicroPython +implementation. + +### Casio fx-CG100 ClassWiz Calculator + +[Casio's fx-CG100 +ClassWiz](https://www.notebookcheck.net/Casio-launches-its-best-fx-CG100-ClassWiz-graphing-calculator-with-MicroPython-programming-in-America.1004479.0.html) +graphing calculator now includes MicroPython programming capabilities. + +### Digital Dice + +An excellent beginner project, *Gary Explains* how to build a [Nerdy Digital +Dice](https://www.youtube.com/watch?v=95XQGXdYqRI). Covers D4 to D20 dice and is +a great intro to microcontroller development with MicroPython. + +### Short Tutorial on Writing an I2C Device Driver + +Dave Horton [shared](https://github.com/orgs/micropython/discussions/17087) that +he'd written an - excellent! - [tutorial on writing an I2C Device +Driver](https://github.com/DavesCodeMusings/BH1750-MicroPython) for the BH1750 +light sensor). + +--- + +## Final Thoughts + +Midjourney visualising Oliver and I coding, with Claude (note that beards are +*necessary* if you ask for a 'developer'!): + +![Pair of Developers](../images/2025-05/pair_of_developers.png) \ No newline at end of file diff --git a/_posts/2025-07-23-July-2025-Meetup.md b/_posts/2025-07-23-July-2025-Meetup.md new file mode 100644 index 0000000000000..bf2072a678db4 --- /dev/null +++ b/_posts/2025-07-23-July-2025-Meetup.md @@ -0,0 +1,208 @@ +--- +layout: post +title: July 2025 Meetup +--- + +*Sean* delivers the news roundup + +## News Round-up + +### MicroPythonOS + +![MicroPythonOS launcher](../images/2025-07/micropythonos_launcher.png) + +> "...a lightweight and versatile operating system built entirely in MicroPython. Designed for microcontrollers like the ESP32 and desktop systems, MicroPythonOS offers a modern, Android-inspired interface with an app ecosystem, App Store, and Over-The-Air (OTA) updates." + +Initially with out-of-the-box support for Waveshare's [ESP32-S3-Touch-LCD-2](https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-2) dev kit, or also desktop Linux using SDL for graphics. It even has a WebSerial installer, making installation a breeze. + +I haven't played with it yet, but it looks like it's very well thought out and I think has some huge potential. + +![MicroPythonOS launcher](../images/2025-07/esp32-s3-touch-lcd-2.jpg) + +Take a look at the [source code](https://github.com/MicroPythonOS/MicroPythonOS) here, or the [docs](https://docs.micropythonos.com/) here. + +--- + +### PyCon AU + +![PyCon AU](../images/2025-05/pyconau2025.png) + +Tickets for [PyCon AU 2025](https://2025.pycon.org.au/) are on sale now! + +The event will be held from Friday the 12th to Tuesday the 16th of September at Pullman Melbourne On The Park. + +Early Bird tickets have already sold out, "Enthusiast" tickets for the full three days are $550, or $220 for a single day. Tickets include full catering, and a t-shirt. + +I'm not sure specifically if there's any MicroPython talks this year, check out the program though to see if there's anything that interests you. + +--- + +## Hardware News + +### Silicon Labs SiWx917Y + +![SiWx917Y](../images/2025-07/silabs.webp) + +New from SiLabs, no MicroPython port just yet but it's got lots of memory and flash, and has built-in Wi-Fi. Always good to have options from different vendors. + +Mouser have the [development kit here](https://au.mouser.com/new/silicon-labs/silicon-labs-siwx917y-explorer-kit/?subid=bfeee514f8d742659a14f39bb7448abe), **AU$64**. + +--- + +### Waveshare ESP32-S3 1.8inch Knob Display Development Board + +![Waveshare](../images/2025-07/waveshare_esp32.jpg) + +Waveshare have been releasing a bunch of interesting hardware lately. But this is one of the picks; a 1.8" 320x320 round display with a rotary encoder surrounding it. Of particular note is that it's anodised and looks stunning. Volos did [a video on it](https://www.youtube.com/watch?v=5G4W3irHkks), definitely looks pretty cool. + +**US$46** [directly from Waveshare](https://www.waveshare.com/esp32-s3-knob-touch-lcd-1.8.htm). + +--- + +### Shrike + +![Shrike](../images/2025-07/shrike.jpg) + +A compact, open-source development board that pairs the RP2040 microcontroller with the Renesas ForgeFPGA. + +Launching soon [on CrowdSupply](https://www.crowdsupply.com/vicharak/shrike). + +--- + +### Cygnet + +![Cygnet](../images/2025-07/cygnet.png "Cygnet") + +Cygnet is a Feather-compatible STM32-based MCU, and a lower-cost alternative to the Swan MCU. Like the Swan, Cygnet is offered in a Feather standard form factor and uses a STM32L4 part while still providing plenty of flash and RAM to run the majority of your Notecard-powered applications. + +The Cygnet (and Swan) allow you to easily use their Notecarrier and Notecards that allow simple wireless comms over various protocols - wifi, cellular and LoRa. Their library to access their Notecards - note-python - is open source and supported on MicroPython: https://github.com/blues/note-python + +Only **US$15**, pretty good value for a pretty powerful board. On sale [directly from Blues](https://shop.blues.com/products/cygnet). + +--- + +### Lilygo T-Display Bar + +![T-Display](../images/2025-07/T-Display-Bar.jpg) + +Another cute little display from Lilygo, with an ESP32-S3 MCU and the ST7789 TFT display driver. I haven't seen a specific example of MicroPython running on it, but the ST7789 should be well supported. + +**US$27** [from Lilygo](https://lilygo.cc/en-pl/products/t-display-bar) + +--- + +### Lilygo T-Mini Epaper S3 + +![T-Mini ePaper](../images/2025-07/t-mini-epaper.jpg) + +This is quite an interesting little product, an e-paper display combined with an ESP32-S3 and an SX1262 LoRa transceiver. LoRa has good support in MicroPython, since about 2023 – check out [micropython-lib](https://github.com/micropython/micropython-lib/tree/master/micropython/lora). + +**US$41** [from Lilygo](https://lilygo.cc/en-pl/products/t-mini-epaper-s3) + +## Fun Projects + +### The 2025 Hackaday One Hertz Challenge + +If you're looking for a fun project idea, not necessarily MicroPython-related – although using MicroPython would certainly be handy, Hackaday have announced a new competition: the One Hertz Challenge. To enter all you need is a project that does _something_ exactly once per second, doesn't matter what. + +![One Hertz Challenge](../images/2025-07/HertzChallenge.jpg) + +Check out [the announcement page](https://hackaday.com/2025/06/26/announcing-the-2025-hackaday-one-hertz-challenge/) for more info. They've got some "honourable mention" categories, to spark some creative thinking: + +> * **Timelords:** How precisely can you get that heartbeat? This category is for those who prefer to see a lot of zeroes after the decimal point. +> * **Ridiculous:** This category is for the least likely thing to do once per second. Accuracy is great, but absurdity is king here. Have Rube Goldberg dreams? Now you get to live them out. +> * **Clockwork:** It’s hard to mention time without thinking of timepieces. This category is for the clockmakers among you. If your clock ticks at a rate of one hertz, and you’re willing to show us the mechanism, you’re in. +> * **Could Have Used a 555:** We knew you were going to say it anyway, so we made it an honorable mention category. If your One Hertz project gets its timing from the venerable triple-five, it belongs here. + + The top three winners will each receive a US$150 gift certificate from the contest’s sponsor, DigiKey. + +#### metronalmost? + +Mike Coats has a [fun write-up of his entry](https://mikecoats.com/metronalmost/), a MicroPython-based metronome that not only _doesn't_ keep a steady beat… it actually **never** ticks once per second. I'm not sure if Hackaday are doing a wooden spoon prize for last place, but Mike would surely be in pole position for it! + +![Metronalmost](../images/2025-07/metronalmost.jpg) + +--- + +### Satellites and Atomic Time + +Do you need very precise timekeeping in a remote location? The Network Time Protocol (NTP) is highly effective and accurate, but has one obvious drawback – it needs a network connection, to a server with a precise clock. Turns out though that MicroPython can help! As [Simon Quellen Field writes](https://medium.com/radio-hackers/python-radio-46-satellites-and-atomic-time-93387c99ba3f) it's actually pretty easy to use the GPS receiver in a [LilyGo T-Beam](https://lilygo.cc/products/t-beam) to act as an NTP server using the local Wi-Fi network hotspot feature. [Check it out](https://medium.com/radio-hackers/python-radio-46-satellites-and-atomic-time-93387c99ba3f)! + +--- + +### DIY Animatronic Endoskeleton + +"Subhash" has a pretty [detailed write-up](https://github.com/urnormalcoderbb/DIY-Animatronic-Endoskeleton) of a project he's been working on to create an animatronic endoskeleton, controlled wirelessly by a pair of ESP32s. It's open source on GitHub, and seems like it could be a good example for teaching not just code but project planning and development. The creator says he's just 13! + +Sadly I couldn't find any pictures, but we'll check back in if there's an update. + +--- + +### Amazing Hand + +Another robotics project, and I've got photos of this one! + +![Amazing Hand poses](../images/2025-07/amazing_hand.jpg) + +From Pollen Robotics, located in Bordeaux, France. The idea is to create an open source 3D printable humanoid hand. + +They note: + +> Amazing Hand is : +> +> * 8 dofs humanoid hand with 4 fingers +> * 2 phalanxes per finger articulated together +> * flexible shells allmost everywhere +> * All actuators inside the hand, without any cables +> * 3D printable +> * 400g weight +> * low-cost (<200€) +> * open-source + +They have code for driving it with Python (that is, "big" Python on a computer via a serial interface), or from an Arduino. I wonder if Subhash, from the previous project, could integrate his ESP32 MicroPython code to drive the Amazing Hand?? + +[Check it out](https://github.com/pollen-robotics/AmazingHand)! + +--- + +### PyDrone + +For those that prefer their robots to be airborne, there's PyDrone – a quadcopter kit, complete with ESP32-S3 running MicroPython. + +![PyDrone](../images/2025-07/pyDrone.jpg) + +It uses a pyController remote to fly with: + +![PyDrone](../images/2025-07/pyController.png) + +CNX Software has a write-up on it, [check it out](https://www.cnx-software.com/2025/07/02/pydrone-an-esp32-s3-drone-programmable-with-micropython/). + + +## Other news + +### Interactive pinouts! + +There's a good chance you've used the Raspberry Pi pinout map at [pinout.xyz](https://pinout.xyz/) before – but did you know there's also a whole bunch more, for MicroPython supported boards? In particular, RP2 and ESP32 boards. + +![Pi Pico 2 pinout](../images/2025-07/pico2_pinout.png) + +[Take a look](https://github.com/orgs/micropython/discussions/17677)! + +--- + +### MicroPython on Mac System6 + +Have you got an old Mac lying around, with a Motorola 68k series CPU? You know, the cool ones from the late 80s and early 90s? And if so, have you considered MicroPython for your application development needs? + +![MicroPython on Mac](../images/2025-07/retro68.png) + +Jeff "jepler" Epler has been working on a Mac `m68k` port - to run MicroPython on a _retro cool_ Mac. Jeff was a core dev on CircuitPython so he knows his stuff, and needs to for this port! It's a 16bit architecture which required a number of changes. But if you read through his Mastodon posts he's come a long way! + +[See his updates here](https://social.afront.org/@stylus/114749858767978151). + +## Final Thoughts + +Midjourney visualising Oliver and Matt coding, with Claude (note that beards are +*necessary* if you ask for a 'developer'!): + +![Pair of Developers](../images/2025-05/pair_of_developers.png) \ No newline at end of file diff --git a/_posts/2025-08-27-August-2025-Meetup.md b/_posts/2025-08-27-August-2025-Meetup.md new file mode 100644 index 0000000000000..3fbff7900eb27 --- /dev/null +++ b/_posts/2025-08-27-August-2025-Meetup.md @@ -0,0 +1,253 @@ +--- +layout: post +title: August 2025 Meetup +--- + +*Damien* talks v1.26, *Matt* delivers the news roundup + +# News Round-up + +### Housekeeping + +Proposed changes to the Meetup format! + +Feedback/issues + +- The news roundup is valuable to some people but tough for newcomers +- Would like more time to work on projects during the meetup +- The news roundup takes a lot of effort + +One suggestion: Only do a news roundup every quarter and host it online-only. +Meetups would focus on projects. + +Another: No news roundups. Record them straight to YouTube when we can get +around to them. + +Also: Meetup is horrendously expensive and PSF grants have been used up. + +--- + +### Big Ticket Items + +#### Raspberry Pi addresses erratum + +![RP2350 A4](../images/2025-08/rp2350ba4.png) + +[Raspberry Pi RP2350 A4 stepping fixes E9 GPIO Erratum, glitching bugs, +introduces 2MB flash +variants](https://www.cnx-software.com/2025/07/29/raspberry-pi-rp2350-a4-stepping-fixes-e9-gpio-erratum-9-glitching-bugs-introduces-2mb-flash-variants/) + +--- + +#### Sparkfun ported OpenCV to MicroPython + +![Sparkfun ported OpenCV to MicroPython](../images/2025-08/sparkfunopencv.jpg) + +Sparkfun released a video: [We ported OpenCV to +MicroPython!](https://www.youtube.com/watch?v=GmIq753MlGQ) + +Always great to see manufacturers contributing! Also, their recent [Experiential +Robotics +Platform](https://www.sparkfun.com/experiential-robotics-platform-xrp-kit.html) +(XRP) is a pretty neat starting point for a simple, affordable robot platform. + +No, I'm not sure why they didn't start with [OpenMV](https://openmv.io/) either. + +--- + +#### PyCon AU + +![PyCon AU](../images/2025-05/pyconau2025.png) + +A reminder that [PyCon AU 2025](https://2025.pycon.org.au/) is only a few weeks away! + +--- + +## Hardware News + +### ManT1S + +![ManT1S](../images/2025-08/mant1s-front.jpg) + +Patrick Van Oosterwijck is [gathering support for the +ManT1S](https://www.crowdsupply.com/silicognition/mant1s), a small board +featuring an ESP32 (2MB/8MB) and support for Single Pair Ethernet. With +out-of-the-box support for MicroPython. + +Hackster.io covered the announcement: [Silicognition's ManT1S Is a +MicroPython-Powered Gadget for Easy Single-Pair Ethernet +Projects](https://www.hackster.io/news/silicognition-s-mant1s-is-a-micropython-powered-gadget-for-easy-single-pair-ethernet-projects-da6d866c0f83) + +Powerful, good Single Pair Ethernet T1S support (including PoE), castellated - +and there's a bridge board that allows connection to regular Ethernet. Looks +great! + +Patrick knows what he's doing; he previously developed the +[wESP32](https://silicognition.com/Products/wesp32/), one of the best PoE +Ethernet devlopment boards. + +--- + +### Fruit Jam + +![Fruit Jam](../images/2025-08/fruitjam.png) + +Adafruit have a new, exciting board out - the [Fruit Jam Mini RP2350 +Computer](https://www.adafruit.com/product/6200). + +Specs: +- Raspberry Pi RP2350B, 16MB flash, 8MB PSRAM +- DVI output (HSTX port) +- MicroSD +- I2S headphone +- USB type C and 2x USB type A (via hub) +- ESP32-C6 for radio comms +- NeoPixels, buttons, expansion ports + +**US$40** + +### Olimex RP2350PC + +![Olimex RP2350PC](../images/2025-08/olimex_rp2350pc.jpg) + +Olimex released a similar-in-concept board, the +[RP2350PC](https://www.olimex.com/Products/RaspberryPi/PICO/RP2350pc/). + +Specs: + +Very similar! + +**25€** + +### ESP32-P4's out the wazoo + + +**Waveshare (many!)** + +- [ESP32-P4-Pico](https://www.waveshare.com/esp32-p4-pico.htm?sku=32101) +- [ESP32-P4-WIFI6](https://www.waveshare.com/esp32-p4-wifi6.htm) +- [ESP32-P4-ETH](https://www.waveshare.com/esp32-p4-eth.htm?sku=32090) +- [ESP32-P4 Smart 86 Box](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-4b.htm) +- [ESP32-P4 3.4 / 4 Inch Round Touch Display](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-3.4c.htm) + +**DFRobot** + +[FireBeetle 2 ESP32-P4](https://www.dfrobot.com/product-2915.html) + +**GUITION** + +- [GUITION JC4880P433](https://www.cnx-software.com/2025/08/12/4-3-inch-touch-display-board-features-single-esp32-p4-esp32-c6-module-supports-camera-and-speakers/) +- [GUITION ESP32-P4 + ESP32-C6 +module](https://www.cnx-software.com/2025/07/18/14-development-board-features-guition-esp32-p4-esp32-c6-module/) + +**M5Stack** + +[M5Stack Core teaser](https://x.com/M5Stack/status/1959969004225007723). + +--- + +## Other news + +### Pocket Deck + +This device changed my life: Introducing Pocket Deck: + + + +"Recently I created a kind of generic computer, specialized for productivity. +It can do life tracking, journaling, task management, and some fun. +Micropython enables standalone application development." + +[Preorder the Pocket Deck](https://shop.nunomo.net/products/pocket-deck-pre-order-status) + +**US$360** (shipping estimated for October) + +--- + +### RobotWar + + + +Sam Neggs, with the help of Claude Sonnet 4, created a clone of the old classic +Apple II game/simulator, _RobotWar_, in MicroPython. + +The aim of the game is to write a computer program to operate a robot. Sam's +application implements an interpreter for the original language, renders to a +display and uses multithreading and viper for better performance. + +--- + +### 8x8 Bad Apple + +![8x8 Bad Apple](../images/2025-08/8x8_bad_apple.png) + +"This was a dumb idea" + +Avimanyu Dutta released [Bad Apple on 64 +pixels](https://github.com/Abhimanyu8/Bad-Apple-on-64-pixels). Best described +with the animated gif! + +Via [Reddit](https://www.reddit.com/r/touhou/comments/1n0q3or/bad_apple_but_on_64_pixels/). + +--- + +### Kevin McAleer: Pico Drone + +Kevin works on the Pico Drone, implementation is all MicroPython. + +**Pico Drone - can we build a drone using a Raspberry Pi Pico?** + + + +--- + +## Quick Bytes + +### Kiwi PyCon 2025 + +This year, Kiwi PyCon 2025 has a couple of [MicroPython +Workshops](https://kiwipycon.nz/programme/friday-workshops). One Beginner and an +Advanced session. If anyone can help review material - or even better attend! - please reach out. + +### Core Elec: Ultra-Wideband + +[Getting Started With Ultra-Wideband & Measuring +Distances](https://core-electronics.com.au/guides/sensors/getting-started-with-ultra-wideband-and-measuring-distances-arduino-and-pico-guide/) + +### Clockwork PicoCalc: Perf comparison + +A video from the Clockwork PicoCalc folks, comparing the perf of some calculator platforms. + +[Clockwork PicoCalc: Performance comparison between Rasp pico, pico2W and +MMBASIC on the PicoCalc](https://www.youtube.com/watch?v=BP6YqF62IoA) + +### Random Nerd Tutorials: BLE with MicroPython + +Random Nerd Tutorials have an excellent tutorial: [Raspberry Pi Pico W: Bluetooth Low Energy (BLE) with +MicroPython](https://randomnerdtutorials.com/raspberry-pi-pico-w-bluetooth-low-energy-micropython/) + +## Final Thoughts + +### MicroPython Contributors World Map for v1.26 + +![MicroPython Contributors World Map +v1.26](../images/2025-08/micropython_contributors_map.png) + +Have you ever noticed that Damien posts the timezones of the folks that have +contributed to a release? + +### Candle Clock + +![Candle Flame Oscillations](../images/2025-08/flameosc_small-2.webp) + +One of the more interesting reads in the past month... + +[Candle Flame Oscillations as a +Clock](https://cpldcpu.com/2025/08/13/candle-flame-oscillations-as-a-clock/) + + +### Midjourney fun + +Midjourney showing us diversity in developers (?) + +![World Developers](../images/2025-08/world_devs_midjourney.png) \ No newline at end of file diff --git a/_posts/2026-01-28-January-2026-Meetup.md b/_posts/2026-01-28-January-2026-Meetup.md new file mode 100644 index 0000000000000..93a62d8882758 --- /dev/null +++ b/_posts/2026-01-28-January-2026-Meetup.md @@ -0,0 +1,589 @@ +--- +layout: post +title: January 2026 Meetup +--- + +*Matt* delivers the news roundup + +# News Round-up + + +## Headlines + +### MicroPython v1.27 released + +![MicroPython Logo](../images/micropythonlogo.png) + +[Damien spoke last month](https://www.youtube.com/watch?v=TZWLRNahxHk) about the +release but, for reference, some of the highlights: + +- Suppor for new micros: ESP32-C5, ESP32-P4 and STM32U5 +- Huge improvements to the hw test suite +- Significant improvements to the Zephyr port +- 'Tier' levels introduced, categorising the maturity of the various ports + - One benefit: Reduces the barrier to entry for new microcontroller families +- Updates to key dependencies (LittleFS, TinyUSB, stm32lib, ESP-IDF) +- A vast array of 'small' improvements, bugfixes, optimisations + +Read the offical, _very_ detailed [v1.27.0 release +notes](https://github.com/micropython/micropython/releases/tag/v1.27.0). + +--- + +### The Agile Embedded Podcast: MicroPython with Matt + +![The Agile Embedded Podcast](../images/2026-01/agileembeddedpodcastlogo.jpg) + +I had the pleasure of speaking with Luca and Jeff about using MicroPython +professionally on The Agile Embedded Podcast. We covered a lot of ground in the +hour-long discussion. + +[MicroPython with Matt +Trentini](https://agileembeddedpodcast.com/episodes/micropython-with-matt-trentini) + +--- + +### DDD Melbourne Community Booth + +![DDD Melbourne](../images/2026-01/ddd.jpg) + +[DDD Melbourne](https://www.dddmelbourne.com/) is a non-profit conference for +the software community which is being held on Saturday the 21st Feb at the +Melbourne Town Hall. Check out the [Agenda](https://www.dddmelbourne.com/agenda) +and, if you're interested, get an A$89 (cheap!) +[ticket](https://www.dddmelbourne.com/tickets). + +This year, we were granted a Community Booth for MicroPython! I'll be attending +the conference and hosting at the booth but could really use some help: + +- If you could help provide a demo +- Help host the booth (if you're coming) + +There'll be ~600 folks attending so it'll be a great chance to introduce a wide +variety of devs to the fun of MicroPython! + +--- + +### Teenage Engineering: Ting + +![Teenage Engineering Ting](../images/2026-01/ting2.png) + +Teenage Engineering makes some of the *coolest* music gear around. You might +also remember that the Swedish electronic manufacturers are also responsible for +the industrial design of the _uber cute_ Playdate. + +TE recently released a new sampler and sequencer called RIDDIM and it has an +optional stand-alone handheld mic - TING - with built-in effects and samples. +Riddim and Ting (get it?) are inspired by the Reggae, Dub and Dancehall movement +and is designed for live music creation. + +The cool part is that **Ting is created with MicroPython**! There are not a lot +of details yet, but the RP2350 is at the heart of the device (the part number +for the Ting is 'EP-2350') and MicroPython is listed in the [Software +Licenses](https://teenage.engineering/guides/ep-2350/software-licenses). The +[EP-2350 Guide](https://teenage.engineering/guides/ep-2350) is also suggestive +that this is a MicroPython device. Will be interesting to see if anyone tries to +get the firmware running on their own device! + + + + + +(via [ptorrone@blueksky](https://bsky.app/profile/ptorrone.bsky.social/post/3mciarwlvec2k)) + +--- + +### Compiler Explorer now supports MicroPython + +[![Compiler Explorer](../images/2026-01/compiler_explorer_small.png)](../images/2026-01/compiler_explorer_large.png) + +Thanks to [Anson Mansfield's excellent +work](https://github.com/compiler-explorer/compiler-explorer/pull/8256), the +invaluable tool [Compiler Explorer](https://godbolt.org/) now supports +MicroPython. This means you can have the tool compile code and quickly see the +disassembly, all from the comfort of a browser window. + +Versions v1.20 right up to the latest v1.28 preview builds are supported! + +--- + +### MicroPython Mock Machine library + +![MicroPython Mock Machine](../images/2026-01/mock-machine.png) + +*Very* hot off the press! 🔥 + +[Planet Innovation](https://planetinnovation.com/) has been developing and using +[micropython-mock-machine](https://github.com/planetinnovation/micropython-mock-machine) +for a few years now; it provides an easy way to mock out the machine module and +create unit tests that would otherwise require hardware. + +We've been pushing to make this open-source for a *very* long time and I'm happy +to say that it's now available to the coomunity! We'd also love to see +contributions and feedback so please give it a go. + +[Documentation](https://planetinnovation.github.io/micropython-mock-machine/) + +--- + +### Meetup 🡆 Luma + +![Meetup](../images/2024-09/meetup_logo.png) + +![Luma](../images/2026-01/luma.jpg) + +Just a quick note to mention that our Meetup subscription runs out before the +February meetup - so this is the last time we'll be using the service! It's Luma +from now on. + +--- + + + + + +## Hardware News + +### ManT1S + +![ManT1S](../images/2026-01/mant1s_daisy.jpg) + +We featured ManT1S back [in +August](https://melbournemicropythonmeetup.github.io/August-2025-Meetup/) but, since +then, Patrick Van Oosterwijck's [Crowd Supply campaign has been +successful](https://melbournemicropythonmeetup.github.io/August-2025-Meetup/)! + +Patrick has also written a few posts about his board, of particular interest for +us: [Getting Started With the Preinstalled MicroPython +Firmware](https://www.crowdsupply.com/silicognition/mant1s/updates/getting-started-with-the-preinstalled-micropython-firmware). + +As a quick refresher, ManT1S is an implementation of 10BASE-T1S, a relatively +new Ethernet standard that only uses a single twisted pair for comms _and_ +power. At 10Mb/sec it's not as fast as some Ethernet variants but makes up for +it in installation convenience. + +--- + +### M5Stack Nano H2 + +![M5Stack NanoH2](../images/2026-01/nanoh2.png) + +I ❤️ the *tiny* Nano form factor by M5Stack, kicked off with their +[NanoC6](https://shop.m5stack.com/products/m5stack-nanoc6-dev-kit). Now the +ESP32-H2 joins the C6 with the +[NanoH2](https://shop.m5stack.com/products/m5stack-nanoh2-dev-kit-esp32-h2). + +This 96MHz ESP32-H2 has 320KB RAM, 4MB flash, a button, an RGB LED, an IR blaster and +a grove socket. No wifi but BLE, Matter, Thread and Zigbee - should make it +useful for low-power applications. + +Note that MicroPython doesn't yet support the H2. + +**US$7** + +--- + +### M5Stack M5StickS3 + +![M5Stack M5StickS3](../images/2026-01/m5sticks3.png) + +Another fave from M5Stack, the "Sticks" are all pretty great, particularly if +you want a little more than the Nano's provide. Their latest, the +[M5StickS3](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit), +integrates the ESP32-S3 and has the following specs: + +- 8MB PSRAM, 8MB Flash +- 1.14" 135x240 LCD display (ST7789P3) +- Mic & speaker (I2S) +- 6-axis IMU +- IR transmitter & receiver +- 250mAh battery +- Grove, button, WiFi, BLE + +**US$21.50** + +--- + +### EBYTE18 ECM50-A Industrial Controller + +![EBYTE18 ECM50-A](../images/2026-01/ecm50.jpg) + +The +[ECM50-A](https://ebyteiot.com/products/ebyte-ecm50-series-programmable-industrial-computer-convenient-debugging-operation-esp32-python-gateway-rtu-modbus-network-port) +is an(other) industrial controller with an ESP32-S3 at it's heart. It supports +RS485/232, WiFi, BLE, has 2x relays and accepts 8-28V input - and there are options for LoRa +and 4G cellular. Wide temperature support too: −40°C to +85°C. The micro has 8MB +PSRAM, 16MB NOR flash and there's a slot for a microSD card. + +CNX has a [good +write-up](https://www.cnx-software.com/2025/11/28/ebyte-ecm50-a-industrial-esp32-s3-controller-offers-rs232-rs485-di-do-ethernet-and-4g-lte-or-lora-connectivity/). + +There are a bunch of MicroPython examples in a public +[GoogleDrive](https://drive.google.com/drive/folders/1re8_s5b_aYJRX2JCocJvN8VO6b9KduVX) +(!). + +**US$35** (extra for additional options) + +--- + +### Pololu Motoron + +![Pololu Motoron](../images/2026-01/pololu_motoron.jpg) + +Pololu recently announced updates to their [Motoron +range](https://www.pololu.com/category/289/motoron-motor-controllers) of motor +drivers. + +Pretty neat! They provide an I2C (some are UART) interface that allows you to +control motors. Some even have STEMMA/QT sockets to make it super-easy to +connect. + +**US$20+** (depending how many motors, current limit etc) + +--- + +### Lilygo T-Display P4 + +![Lilygo T-Display P4](../images/2026-01/lilygo_tdisplayp4.png) + +Lilygo, as usual, have been churning out products! The feature-rich [T-Display +P4](https://lilygo.cc/products/t-display-p4) is an update to their T-Display +line (think: chunky phone form-factor). + +Specs: + +- ESP32-P4, 32MB RAM, 16MB PSRAM + - ESP32-C6 onboard for WiFi/BLE +- 4.05" TFT or 4.1" AMOLED cap-touch display +- LoRa SX1262 +- GPS module +- 2MP OV2710 Camera +- 9-axis IMU +- microSD slot +- I2S audio +- USB-A, 2xUSB-C +- Ethernet + +[via [lilygo9@X.com](https://x.com/lilygo9/status/1999684753851842805)] + +**US$97/$120** TFT/AMOLED + +--- + +### Espressif announces ESP32-E22 + +![Espressif ESP32-E22](../images/2026-01/e22.jpeg) + +Espressif have announced the +[ESP32-E22](https://www.espressif.com/en/news/ESP32_E22_Announcement). In a +departure from the rest of their product line this is *not* a general purpose +micro with radio, it's a *radio module*. + +But it's a heck of a radio module! Tri-band WiFi, Bluetooth Classic and BLE 5.4. + +No pricing or availability information yet but engineering samples are available +now. If you're lucky. + +--- + +### Pixlpal + +![Pixlpal](../images/2026-01/pixlpal.jpg) + +There's a new project on Crowd Supply: [Pixlpal](https://www.crowdsupply.com/meterbit-cybernetics/pixlpal). It's "...a customizable RGB LED display for information, entertainment, and more.". + +Specs: + +- ESP32-S3, 8MB PSRAM, 16MB Flash +- 11.25" 128x64 RGB LED +- Rotary encoder +- Audio in/out + +Custom firmware for now (with some pretty neat examples!) but, given the micro, +MicroPython support should be a doddle. I've reached out on their discord +server, we'll see if there's any interest in folks collaborating. + +**US$150** + +### ACEBOTT QD023 + +![ACEBOT QD023](../images/2026-01/acebot.jpg) + +CNX wrote up about the [Acebot Control +Glove](https://www.cnx-software.com/2026/01/26/acebott-qd023-esp32-based-gesture-control-glove-tracks-finger-movements-with-potentiometers/). + +I haven't read too much about it yet but MicroPython is supported and it was too +cool *not* to feature + + + +## Other news + +### Pixel Pump 2 Announced + +![Pixel Pump 2](../images/2026-01/pixelpump2.jpg) + +Robin Reiter [recently +announced](https://www.crowdsupply.com/robins-tools/pixel-pump-2) the update to +his popular elec manufacturing tool: Pixel Pump 2. + +Taking feedback from the [first-gen +model](https://www.crowdsupply.com/robins-tools/pixel-pump), it improves many +features; notably housing the device in a smaller, slicker package. One thing +that hasn't changed: MicroPython will continue to be used for the firmware. + +--- + +### Kevin McAleer has been busy! + +Friend of our meetup, Kevin McAleer has been busy on a number of fronts: + +He created [TinyWiki](https://github.com/kevinmcaleer/tiny_wiki), a lightweight, +self-hosted wiki system for MicroPython. + +He's teased the [SMARS Mini](https://x.com/kevsmac/status/1616727857534746624) +rover. + +And he's released a couple of popular videos: + +Why is everyone switching to MicroPython + + +Build this next (I2C) + + +--- + +### FOSDEM '26: "MicroPythonOS: Best of Android Now on MCUs" + +![MicroPythonOS at FOSDEM '26](../images/2026-01/micropythonos.png) + +Thomas Farstrike will be talking about his +[MicroPythonOS](https://fosdem.org/2026/schedule/event/9GGXNF-micropythonos-best-of-android-now-on-mcus/) +at FOSDEM '26. + +(via +[LightningPiggy@X](https://x.com/LightningPiggy/status/2011090768510009565)) + +--- + +### Pac-Main on Pi Pico2 in MicroPython + +Sam Neggs, at it again with an authentic implementation of Pac-Man! 1200 lines +of pure MicroPython using Viper optimisations. Includes audio! + + + +--- + +### emlearn-micropython in JOSS + +![JOSS](../images/2026-01/joss.jpg) + +Congrats to Jon "jonnor" Nordby for his published paper in the Journal of Open +Source Software! + +[emlearn-micropython: Machine Learning and Digital Signal Processing for +MicroPython](https://joss.theoj.org/papers/10.21105/joss.09093/) + +His library, +[emlearn-micropython](https://github.com/emlearn/emlearn-micropython) is a great +way to get in to machine learning on resource-constrained devices, check it +out!. + +[via [LinkedIn](https://www.linkedin.com/posts/jonnordby_i-published-my-first-paper-in-the-journal-activity-7408308334501609472-Nw7F/?rcm=ACoAAACvQxYBNn036A_J5ODQ3Vc4hYKrxn7Z1ro)] + +--- + +### Magic Pages + +[Magic +Pages](https://www.hackster.io/Infineon_Team/magic-pages-a-self-turning-book-with-audio-cf321f) + +--- + +### Random Nerd Tutorials: ESP-NOW with ESP32 + +![Random Nerd Tutorials](../images/2026-01/rnt2025review.png) + +[MicroPython: ESP-NOW with ESP32 – Control Multiple Boards (One to +Many)](https://randomnerdtutorials.com/micropython-esp-now-esp32-one-to-many/) + +Also see their [Year in Review 2025](https://randomnerdtutorials.com/year-in-review-2025/). Congrats to creators Rui and Sara Santos on their impending baby boy! + +### Counter Strike 2 HUD (Galactic-CS2) + +[Counter Strike 2 HUD: Galactic CS2](https://github.com/ChompLive/Galactic-CS2) + +[Reddit Discussion](https://www.reddit.com/r/raspberrypipico/comments/1q3rl49/i_built_a_physical_kill_counter_for_cs2_python/) + +--- + +### Inky Kitchen + +[Inky Kitchen](https://gitlab.com/tangiblebytes/inky-kitchen) + +--- + +### picotronix: Pico 2 based Logic Scope + +[PicoTronix](https://picotronix.com/blog/an-introduction-to-picotronix/) + +(via [picotronix@X.com](https://x.com/picotronix/status/2011639492260872507)) + +--- + +### TinyCity + +![TinyCity](../images/2026-01/tinycity.png) + +[TinyCity](https://github.com/chrisdiana/TinyCity) is a *very cool* +SimCity-inspired city simluation game that targets the Thumby (RP2040) with it's +_tiny_ 72x40 display. Despite the low-res images there's some sophistication +hidden in here! The code is an interesting read. + +Author Chris Diana is looking to update the code to allow +for different (larger!) displays. + + +(via [HackerNews](https://news.ycombinator.com/item?id=46632768)) + +--- + +### WiFi Intrusion Detection System + +![WiFi Intrusion Detection System](../images/2026-01/wids.png) + +The [Wi-Fi Intrusion Detection System +(WIDS)](https://github.com/flatmarstheory/Wi-Fi-Intrusion-Detection-System) is +designed to run on a Raspberry Pi Pico W and monitors the local RF environment +to detect common wireless attacks, serving as a real-time security dashboard +accessible via any web browser. Algorithms all in MicroPython. + +--- + +### Orbigator + +![Orbigator](../images/2026-01/orbigator.png) + +From the repo: + +[Orbigator](https://github.com/wyolum/orbigator) is an open‑source mechanical +model that physically demonstrates how a satellite orbits the Earth. It uses a +Raspberry Pi Pico 2 and precision DYNAMIXEL servo motors to move a pointer +around a real globe, tracking a satellite's ground track in real-time. + +The system computes complex orbital mechanics—including Kepler's laws and J2 +perturbation effects—to determine the satellite's instantaneous position +relative to the Earth's surface. + +--- + +### CircuitPython IDE adds a debugger + + + +--- + +### RGB-LED-Ring-Clock-Pico + +Great beginner project! + +[RGB-LED-Ring-Clock-Pico](https://github.com/TellinStories/RGB-LED-Ring-Clock-Pico) + +[Instructables](https://www.instructables.com/RGB-LED-Ring-Clock/) + +## Quick Bytes + +### 100 Days, 100 IoT projects + +Kritish Mohapatra has set himself a [100 day +challenge](https://github.com/kritishmohapatra/100_Days_100_IoT_Projects): A +MicroPython project every day for 100 days. + +### micropython-buzzer + +[MicroPython Buzzer](https://github.com/fruch/micropython-buzzer) + +### micropython-worldtimeapi + +Synchronising time to a device can be *challenging*. NTP is one solution but +using the [WorldTimeAPI](https://worldtimeapi.org/) is a good alternative, +particularly if you need to use local time including daylight savings time. + +I wrote +[micropython-worldtimeapi](https://github.com/mattytrentini/micropython-worldtimeapi) +to make it easy to sync your device to the local time provided by the +WorldTimeAPI. + +### Particle is being acquired by Digi... + +Hot-off-the-press: 🔥 + +[Particle is being acquired by Digi to power the next 40 years of IoT +innovation](https://www.particle.io/blog/particle-is-being-acquired-by-digi-to-power-the-next-40-years-of-iot-innovation/) + +### OpenMV Update: Production Underway! + +The new OpenMV N6 and AE3 cameras are [now in +production](https://www.kickstarter.com/projects/openmv/openmv-n6-and-ae3-low-power-python-programmable-ai-cameras/posts/4577797)! + +(Follow the link to see a most excellent image with Damien!) + +### I put an ESP32 in My Stationary Bike + +Kyle Husman had a staionary (training) bike and wanted to measure cadence; slap in an ESP32 and watch the reed switch, voila! His [write-up](https://bsky.app/profile/kylehusmann.bsky.social/post/3m6wxwysd4c24) is well worth a read. + +[via [Bluesky](https://bsky.app/profile/kylehusmann.bsky.social/post/3m6wxwysd4c24)] + +### PIC32MX port + +It's rough..but it's a start! If you're interested in the PIC32MX platform go check out iruka's efforts: + +https://github.com/iruka-git/micropython/tree/master/pic32mx + +I'm not a huge fan of the PIC32 platform but these come in a DIP which is fairly novel these days. + +([via iruka3@X.com](https://x.com/iruka3/status/2002924839989071873)) + +### IndyPy: Python Meets MicroControllers + +Drew Westrick presented on using MicroPython to the IndyPy Meetup group. I +listened in; great talk! + +IndyPy: [MicroPython with Drew](https://www.meetup.com/indypy/events/311854930/) + +--- + + + + + + +## Final Thoughts + +### KiDoom + +![KiDoom](../images/2026-01/kidoom.png) + +For those that use KiCAD, you now have one of the coolest extesions: +[KiDoom](https://www.mikeayles.com/#kidoom)! + +### The Mythical Man-Month at 50 + +One of the most influential software engineering books, the Fred Brooks classic +*The Mythical Man-Month* turns 50 this year. Among many pearls of widom, it also +contains one of my favourite quotes: + +> The bearing of a child takes nine months, no matter how many women are assigned. + +[Kieran Potts revisited the book](https://kieranpotts.com/mythical-man-month-50) +to see if the guidance was still valid. + +TL/DR: It holds up well. + +### Midjourney fun + +Reggae mon! + +![Singing Computer](../images/2026-01/midjourney-singingcomputer.png) \ No newline at end of file diff --git a/_posts/README.md b/_posts/README.md new file mode 100644 index 0000000000000..1b88d7afaa019 --- /dev/null +++ b/_posts/README.md @@ -0,0 +1,10 @@ +# Notes + +## Remember to check + +- [ ] [Ned Konz's Crowd Supply Teardown talk](https://www.crowdsupply.com/teardown/portland-2024/long-talk/prototype-to-product-with-micropython-faster-and-happier-embedded-systems-development) +- Should appear on the [CrowdSupply Teardown 2024 playlist](https://www.youtube.com/playlist?list=PLykIRiLzO95jKEVsltZMZ_68awxx0K1Ap). +- Mentioned June 2024 +- [ ] Check in with MicroPython on the Playdate + - Christian Walther's [pew-playdate](https://github.com/cwalther/pew-playdate) +- [ ] Foo... \ No newline at end of file diff --git a/_posts/_draft_2019-3-10-March-10-Linktastic-MicroPython.md b/_posts/_draft_2019-3-10-March-10-Linktastic-MicroPython.md new file mode 100644 index 0000000000000..b6823f4221f8a --- /dev/null +++ b/_posts/_draft_2019-3-10-March-10-Linktastic-MicroPython.md @@ -0,0 +1,55 @@ +--- +layout: post +title: March 10 Linktastic MicroPython +--- + +Collection of recent MicroPython links + +## Hardware +* Arch Mix + * A new **powerful** board based on the NXP i.MX RT1052 (Cortex M7, 600MHz!) has been [announced](https://www.seeedstudio.com/blog/2019/03/07/all-new-arch-mix-development-board-on-newproductstuesday-seeed/) + * Rich set of peripherals, relatively small (67mm x 39 mm) + * MicroPython apparently available already + * _Very_ affordable at US$30, [available now from Seeed](https://www.seeedstudio.com/Arch-Mix-p-2901.html) +* M5Stack M5StickC + * 'Limited trial' release of the new [M5StickC](https://www.aliexpress.com/store/product/New-Arrival-2019-M5StickC-1-of-Limited-Trial-Edition-ESP32-PICO-Mini-IoT-Development-Board-Finger/3226069_32985247364.html?spm=2114.12010615.8148356.1.64815d5dJ8YRzN) + * **US$1!** The catch: Use any existing M5Stack product to make an application and take some photos/video to be eligible to purchase + * Still runs MicroPython + * Small; 48x21x14mm, same size as current models + * But _more hardware_: Colour 80x160 LCD, 6-axis IMU, microphone, 2x buttons, Grove port, 80mAH battery and 8-pin external header +* [SparkFun ESP32 Thing Plus](https://www.sparkfun.com/products/14689) + * A new ESP32 board from Sparkfun in the **Adafruit Feather form-factor** + * Builds on Sparkfun's older ESP32 Thing + * Qwiic connecter, 16MB flash, battery charge circuit + * US$21 +* Pygate + * Pycom announced that the [Pygate is now available for pre order](https://pycom.io/product/pygate/) + * 8-channel LoRaWAN gateway built as a shield for any of the Pycom WiPy3.0, LoPy4 or GPy + * PoE as an option + * ~US$56 (or ~US$79 w PoE) + * Cheap for an 8-channel gateway + +## Software +* [Nimpy](https://github.com/yglukhov/nimpy) + * Nimpy is a Nim-Python bridge; can call Nim code from Python _and_ vice versa + * Maintainer is considering adding support for building native MicroPython libraries using Nim + * If you are interested get in touch! +* [brother_ql](https://github.com/pklaus/brother_ql) + * A python module to print labels using a wide range of Brother Label printers + * Matt has a need for this and has investigated porting to MicroPython; looks feasible, work has started + * Wifi label printing would be super useful from an embedded device! + +## Tutorials +* [MicroPython: Interrupts with ESP32 and ESP8266](https://randomnerdtutorials.com/micropython-interrupts-esp32-esp8266/) + * Learn the basic of how to use interrupts within MicroPython + * Great example to light a LED on an interrupt when a PIR motion sensor is triggered +* Debouncing in MicroPython + * A reminder that switch debouncing is largely solved - and easy to use! - with asyncio in MicroPython + * The [Switch and Pushbutton](https://github.com/peterhinch/micropython-async/blob/master/DRIVERS.md) classes are part of [Peter Hinch](https://github.com/peterhinch)'s excellent [micropython-async library and tutorial](https://github.com/peterhinch/micropython-async/blob/master/DRIVERS.md) +* [Teardown of a Smart Plug (or two)](https://blog.hackster.io/teardown-of-a-smart-plug-or-two-6462bd2f275b) + * Great write-up by Hackster.io about disassembling two wifi controllable power sockets + * While the article doesn't cover MicroPython they are both powered by ESP8266; trivially easy to flash + * Just do be safe if you decide to look into this! +* [Portable WiFi LED Matrix Marquee](https://www.hackster.io/eraserX/portable-wifi-led-matrix-marquee-b4f8b5) + * Another Hackster.io article that covers how to build a scrolling display with a cheap 8x32 matrix array + * Provides instructions and MicroPython code diff --git a/_posts/_draft_2019-3-19-March-19-Linktastic-MicroPython.md b/_posts/_draft_2019-3-19-March-19-Linktastic-MicroPython.md new file mode 100644 index 0000000000000..bcf93b0c2109b --- /dev/null +++ b/_posts/_draft_2019-3-19-March-19-Linktastic-MicroPython.md @@ -0,0 +1,37 @@ +--- +layout: post +title: March 19 Linktastic MicroPython +--- + +Collection of recent MicroPython links + +## Big ticket items +![TinyPICO](https://www.crowdsupply.com/img/bd66/tinypico-pinout-2_jpg_project-body.jpg) +* [TinyPICO Coming Soon page](https://www.crowdsupply.com/unexpected-maker/tinypico) now online! + * Seon and Matt expect the campaign to go live soon... +* Cross-platform Bluetooth support [PR #4589](https://github.com/micropython/micropython/pull/4589) + * Long awaited support for Bluetooth finally starting to appear - still early days + * Basic advertising support working on ESP32, nRF5x, micro:bit ports - with PyBoard D coming soon + +## Hardware +* Ronoth [LoDev S76S campaign](https://www.crowdsupply.com/ronoth/lodev) is live + * As covered in the [February meetup](https://melbournemicropythonmeetup.github.io/February-2019-Meetup/) + * LoRa dev board featuring the interesting S76S system-in-a-package (SX1276+STM32L073) + * Ronoth are hoping to run MicroPython on the micro though it's going to be _very_ tight! + * 192KB flash, 20KB RAM (eek!) + +## Software +* [Liveness Detection with OpenCV](https://www.pyimagesearch.com/2019/03/11/liveness-detection-with-opencv/) + * A fascinating article discussing how to implement a facial recognition system that can detect fake faces + * Currently not using MicroPython but ought to be possible with the soon-to-be-delivered [OpenMV H7](https://www.kickstarter.com/projects/1798207217/openmv-cam-h7-machine-vision-w-micropython) or [Sipeed MAIX](https://www.indiegogo.com/projects/sipeed-maix-the-world-first-risc-v-64-ai-module#/) +* Sipeed MAIX + * [MNIST demo](https://www.youtube.com/watch?v=WhJuCODEfpQ&feature=youtu.be) + * The classic neural net - detect numbers from handwriting. FAST. + * Spectacular NES emulator (in MicroPython) demo + * Tutorial at [RobotZeroOne](https://robotzero.one/micropython-nes-emulator-on-a-risc-v-64-processor/) + * Awesome [video](https://www.youtube.com/watch?v=el6CB-h9Lo0) + +## Misc +* [Deshipu](https://twitter.com/deshipu) [announced](https://twitter.com/deshipu/status/1107361785068306432) that he's created a [mailing list for Pew Pew users](https://mail.python.org/mailman3/lists/pewpew.python.org/) +* Ray Ozzie is [using Python on embedded devices](https://twitter.com/rozzie/status/1106531501317992448)! + * And immediately laments that the libraries already differ between CircuitPython, MicroPython and Linux... :( diff --git a/_posts/_draft_2019-3-25-March-25-Linktastic-MicroPython.md b/_posts/_draft_2019-3-25-March-25-Linktastic-MicroPython.md new file mode 100644 index 0000000000000..fae05e308b546 --- /dev/null +++ b/_posts/_draft_2019-3-25-March-25-Linktastic-MicroPython.md @@ -0,0 +1,44 @@ +--- +layout: post +title: March 25 Linktastic MicroPython +--- + +Collection of recent MicroPython links + +## PyBoard D +![PyBoardD](https://store.micropython.org/media/products/PYBD_SF2_W4F2.jpg) +* The big news is, of course, **PyBoard D** is now for sale! + * STM32F7 216MHz Cortex M7, 512KB internal flash, 256KB RAM, 2MB external flash, WiFi, Bluetooth, microSD, lots of GPIO (46+11), great peripheral support + * Small (34x24mm) with well thought-through mech; mount on dense connectors or castellated or using pins + * Three variants of the board, effectively with different MCU's + * Some of the differences: single/double precision floats, USB, more RAM/flash + * One of the best features: you can expect _exceptional_ support from Damien + +## New Espressif chip coming "soonish" +![ESP64](https://pbs.twimg.com/media/D2CQ5deVAAAAjRb.jpg) +* A [new Espressif chip](https://twitter.com/EspressifSystem/status/1108044835766689792) is in the works + * Looks like at least more GPIO and native USB + * Rumour mill is working overtime on this! + * Also see the recent [Hackaday podcast](https://hackaday.com/2019/03/22/hackaday-podcast-ep11-weird-keyboards-salvaging-lcd-screens-and-mike-interviews-ivan-of-espressif-in-shanghai/) where Espressif's Ivan Grothotkov is interviewed + +## OpenMV Cam shipping +![OpenMV Cam](https://cdn.shopify.com/s/files/1/0803/9211/products/new-cam-v4-angle-web_grande.jpg?v=1536445279) +* The **OpenMV Cam H7** [has started shipping](https://www.kickstarter.com/projects/1798207217/openmv-cam-h7-machine-vision-w-micropython/posts/2457694?ref=ksr_email_backer_project_update_registered_users_refresh) + * STM32H7 400MHz, 1MB RAM, 2MB flash, USB, microSD, bunch of GPIO + +## Blip +![Blip](https://pbs.twimg.com/media/D2Q91XlU4AEe2O2.jpg) +* Electronut Labs are doing a small production run of [Blip](https://twitter.com/electronutLabs/status/1109079406046150656) their nRF52840 dev board with debugger and sensors + +## Seeed releases IoT products +![MT3620DevBoard](https://blog.seeedstudio.com/wp-content/uploads/2019/03/Sys-1030x923.jpg) +* Seeed have [announced three products for IoT](https://www.seeedstudio.com/blog/2019/03/19/s%EF%BB%BFeeed-unveiling-3-azure-products-adding-new-vitality-into-the-iot-ecosystem-%EF%BB%BF/) + * Not MicroPython at this stage, they're using [Microsoft Azure Sphere](https://azure.microsoft.com/en-us/services/azure-sphere/) + * But that hardware looks interesting, based around the MT3620 + * 3 cores, 1x Cortex A7 @ 500MHz with 4MB RAM, 2x Cortext M4 @ 200MHz, 64KB RAM + +## HiFive 1 Rev B +![HiFive](https://www.crowdsupply.com/img/2161/hifive1-revb-angle-04_png_project-body.jpg) +* The SiFive [HiFive 1 Rev B](https://www.crowdsupply.com/sifive/hifive1-rev-b) has been released + * Incremental release on the Rev A: Better power management, more peripherals, Wifi/Bluetooth + * [MicroPython support looks good](https://twitter.com/micko_mame/status/1109549715392221184) diff --git a/_posts/_draft_2019-4-1-April-1-Linktastic-MicroPython.md b/_posts/_draft_2019-4-1-April-1-Linktastic-MicroPython.md new file mode 100644 index 0000000000000..1ce3327713697 --- /dev/null +++ b/_posts/_draft_2019-4-1-April-1-Linktastic-MicroPython.md @@ -0,0 +1,50 @@ +--- +layout: post +title: April 1 Linktastic MicroPython +--- + +Collection of recent MicroPython links + +## MicroPython #1 +![LetsGetStarted](https://img.youtube.com/vi/5W3WvXAmDJc/0.jpg) +* Seon's put together a [Let's get started](https://www.youtube.com/watch?v=5W3WvXAmDJc) guide to MicroPython + * Covers writing flash, making a serial connection and using RShell to copy files to your device +* "#1" so more coming? :) + +## ESP32 Pi Hat-compatible board +![ThomMcK](https://pbs.twimg.com/media/D2eIJKqX0AAvHPB.jpg) +* [Thomas McKahan](https://twitter.com/TonyMac_32) is [building an ESP32-powered Pi Hat-compatible board](https://twitter.com/TonyMac_32/status/1110005532457345024) to take advantage of the many Pi Hats available + +## WiPhone +![WiPhone](https://ksr-ugc.imgix.net/assets/024/546/391/725b922e3013bb3a34f7a47a698de795_original.gif?ixlib=rb-1.1.0&w=680&fit=max&v=1553612832&auto=format&gif-q=50&q=92&s=e19291b2c5bc336a9a34b277ff68578f) +* WiPhone is a neat-looking ESP32-powered VoIP phone designed for hackers and makers + * A handful of daughter boards are available and the mechanics are open-sourced so you can build your own +* [Kickstarter is active now](https://www.kickstarter.com/projects/2103809433/wiphone-a-phone-for-hackers-and-makers/) +* Runs MicroPython + +## Sipeed MAIX news +![SipeedMaixMmu](https://img.youtube.com/vi/kPpH_cA83-I/0.jpg) +![SipeedGroveHat](https://github.com/SeeedDocument/Seeed_Blog/raw/master/Grove%20AI%20HAT%20for%20Edge%20Computing%20and%20Raspberry%20Pi/1.jpg) +* The [SiPeed MAIX MMU is now working](https://twitter.com/SipeedIO/status/1112336713584660480) + * It allows the new dual-core RISC-V microcontroller to access large memory banks, treating secondary storage as RAM + * Makes it even possible to run Linux on the device... +* Sipeed also released a couple of MicroPython MaixPy demos - [face detection](https://twitter.com/SipeedIO/status/1109508131812343808) and [MNIST number detection](https://twitter.com/SipeedIO/status/1109411295890030592) +* Seeed [announced](https://twitter.com/seeedstudio/status/1110734906328440832) that they are building a RPi Hat with the Sipeed MAIX at the heart and are collecting community feedback about the design + +## Dadamachines Doppler +![doppler](http://www.electronics-lab.com/wp-content/uploads/2019/03/doppler-top-e1553587470236.jpg) +* Smoosh together a SAMD51 M4 Microcontroller and a Lattice ICE40 FPGA together and you get the [Doppler](http://www.electronics-lab.com/dadamachines-doppler-new-fpga-platform-open-music-hardware/) + * Designed for exploring music hardware + * Doesn't yet run Python on the micro but it's only a matter of time... + +## M5Stick +![M5StickC](https://ae01.alicdn.com/kf/HTB1gnOlOW6qK1RjSZFmq6x0PFXao/New-Arrival-2019-M5StickC-ESP32-PICO-Mini-IoT-Development-Board-Finger-Computer-with-Color-LCD.jpg_640x640.jpg) +* The recently announced [M5StickC](https://www.aliexpress.com/store/product/New-Arrival-2019-M5StickC-ESP32-PICO-Mini-IoT-Development-Board-Finger-Computer-with-Color-LCD/3226069_32985247364.html?spm=a2g1y.12024536.productList_5885013.pic_1) has a review by [Sachin Soni](https://twitter.com/IMtechiesms/status/1112181935038578688): [A Finger Computer](https://www.youtube.com/watch?v=0cn1dcygGRY&feature=youtu.be) +* M5Stack also published a massive video with dozens (hundreds?) of [projects built with their devices](https://twitter.com/M5Stack/status/1112359128020733952) + * Hopefully links to at least some of the projects will appear at some point! + +## Pycom Tour +![FiPy](https://i0.wp.com/pycom.io/wp-content/uploads/2018/08/fipyTop.png?fit=1000%2C1000&ssl=1) +* Pycom are going on a [world tour](https://pycom.io/news/events/) and are inviting folks to join them to hack on projects with their hardware + * In their words: "If you’re an enterprise developer, hobbyist, hardware hacker or software engineer looking to take your skills and expertise to the next level, learning new skills related to Industrial Internet of Things, LPWAN or Cellular networking technology, then THIS IS YOUR INVITATION to do just that." + * AUD$80 to attend and that includes a Pycom kit diff --git a/_posts/_draft_2019-4-8-April-8-Linktastic-MicroPython.md b/_posts/_draft_2019-4-8-April-8-Linktastic-MicroPython.md new file mode 100644 index 0000000000000..7865686f13c40 --- /dev/null +++ b/_posts/_draft_2019-4-8-April-8-Linktastic-MicroPython.md @@ -0,0 +1,35 @@ +--- +layout: post +title: April 8 Linktastic MicroPython +--- + +Collection of recent MicroPython links + +## MicroPython #2 +![HitTheGroundRunning](https://img.youtube.com/vi/DFp_T-H3eRc/0.jpg) +* Seon ['Unexpected Maker'](http://unexpectedmaker.com/) Rozenblum is back with [MicroPython #2: Hit The Ground Running](https://www.youtube.com/watch?time_continue=1&v=DFp_T-H3eRc) + * Covers some of the differences between Arduino/C and MicroPython and leads a beginner user through flashing an LED + +## Pokitto and the online MicroPython editor +![Pokitto](https://www.pokitto.com/p2/wp-content/uploads/gameplay.gif) +* [Pokitto](https://www.pokitto.com/) is a DIY gaming gadget that runs MicroPython +* Recently the team released their [online Python Editor for Pokitto](https://pyinsky.herokuapp.com/) + * As well as regular MicroPython code, the editor supports the [upygame gaming library](https://talk.pokitto.com/t/wiki-pokitto-gaming-api-for-python-reference-upygame-and-umachine/1615/1) created for Pokitto and simulates the hardware! + * Some of the intersting features of the editor are that it supports color selection, pixel drawing and playing sounds + +## Femto's ESP32/Coincell effort +![FemtoCoinCell](https://pbs.twimg.com/media/D3HtW1JVsAUnp0t.png) +* [Femto](https://twitter.com/femtoduino/status/1112931574725505026): "[I'm working on an ESP32 18mm diameter coin too.](https://twitter.com/femtoduino/status/1112931574725505026)" + +## Miguel Grinberg has discovered MicroPython +![Miguel](https://pbs.twimg.com/media/D3VHTyYWwAIvMyu.jpg) +* [Miguel Grinberb](https://twitter.com/miguelgrinberg) tweeted that [MicroPython is so fun!](https://twitter.com/miguelgrinberg/status/1113874947255021571) +* Miguel is a [prolific author of many excellent Python tutorials](https://blog.miguelgrinberg.com/), particularly using Flask +* We can fully expect _dozens_ of MicroPython tutorials to appear ;) + +## PyCon AU 2019 +![PyConPython](https://2019.pycon-au.org/static/img/header-rainbow.png) +* PyCon AU has recently announced their [Call for Proposals](https://2019.pycon-au.org/speak/) + * If you'd like to talk at PyCon AU - and I recommend it! - go register to give a talk + * If you're keen to talk about MicroPython let me know and I'll help out :) + * I'm considering register for a [Deep Dive](https://2019.pycon-au.org/news/deep-dive-talks/)... diff --git a/about.md b/about.md index bc21f5731bf4b..fc6e50cc2070a 100644 --- a/about.md +++ b/about.md @@ -4,12 +4,14 @@ title: About permalink: /about/ --- -Some information about you! +A free monthly meetup where MicroPython enthusiasts can gather and discuss their favourite programming language! ### More Information -A place to include any other types of information that you'd like to include about yourself. +The meetup is hosted at the [CCHS](http://www.hackmelbourne.org/) in Hawthorn. It's a wonderful space, particularly if you have a DIY mindset, and we're grateful for the support of the CCHS. -### Contact me +
-[email@domain.com](mailto:email@domain.com) \ No newline at end of file +Please [register your intent](https://www.meetup.com/MicroPython-Meetup/) if you'd like to come along - it helps with planning. + +The meetup is a casual evening - absolute newbies are always welcome! - where you can ask questions, work on a project, listen to folks present on topics or just eat pizza. Mmmm pizza. diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000..1553bf40e565b Binary files /dev/null and b/favicon.ico differ diff --git a/images/2024-02-28_meetup_ESP32-H2-DEV-KIT-N4.jpg b/images/2024-02-28_meetup_ESP32-H2-DEV-KIT-N4.jpg new file mode 100644 index 0000000000000..f48157bccd111 Binary files /dev/null and b/images/2024-02-28_meetup_ESP32-H2-DEV-KIT-N4.jpg differ diff --git a/images/2024-02-28_meetup_alvik.jpg b/images/2024-02-28_meetup_alvik.jpg new file mode 100644 index 0000000000000..70eb21ae6a3a6 Binary files /dev/null and b/images/2024-02-28_meetup_alvik.jpg differ diff --git a/images/2024-02-28_meetup_buildathon.jpg b/images/2024-02-28_meetup_buildathon.jpg new file mode 100644 index 0000000000000..ad6fd82e5ad94 Binary files /dev/null and b/images/2024-02-28_meetup_buildathon.jpg differ diff --git a/images/2024-02-28_meetup_bus-pirate-5.jpg b/images/2024-02-28_meetup_bus-pirate-5.jpg new file mode 100644 index 0000000000000..fb68dc47ebd95 Binary files /dev/null and b/images/2024-02-28_meetup_bus-pirate-5.jpg differ diff --git a/images/2024-02-28_meetup_crickets.jpg b/images/2024-02-28_meetup_crickets.jpg new file mode 100644 index 0000000000000..c0c5a9a5d9975 Binary files /dev/null and b/images/2024-02-28_meetup_crickets.jpg differ diff --git a/images/2024-02-28_meetup_daisy-seed.jpg b/images/2024-02-28_meetup_daisy-seed.jpg new file mode 100644 index 0000000000000..cf17b0ef65100 Binary files /dev/null and b/images/2024-02-28_meetup_daisy-seed.jpg differ diff --git a/images/2024-02-28_meetup_lego-xbox-pybricks.jpg b/images/2024-02-28_meetup_lego-xbox-pybricks.jpg new file mode 100644 index 0000000000000..b0a8f08f11975 Binary files /dev/null and b/images/2024-02-28_meetup_lego-xbox-pybricks.jpg differ diff --git a/images/2024-02-28_meetup_makeyourpet.png b/images/2024-02-28_meetup_makeyourpet.png new file mode 100644 index 0000000000000..e969ca1f3000c Binary files /dev/null and b/images/2024-02-28_meetup_makeyourpet.png differ diff --git a/images/2024-02-28_meetup_mpremote-vscode.png b/images/2024-02-28_meetup_mpremote-vscode.png new file mode 100644 index 0000000000000..45638ba43e782 Binary files /dev/null and b/images/2024-02-28_meetup_mpremote-vscode.png differ diff --git a/images/2024-02-28_meetup_radioshack.jpg b/images/2024-02-28_meetup_radioshack.jpg new file mode 100644 index 0000000000000..46452aa2cc4a8 Binary files /dev/null and b/images/2024-02-28_meetup_radioshack.jpg differ diff --git a/images/2024-02-28_meetup_watering.png b/images/2024-02-28_meetup_watering.png new file mode 100644 index 0000000000000..978e22b7398aa Binary files /dev/null and b/images/2024-02-28_meetup_watering.png differ diff --git a/images/2024-02-28_meetup_waveshare-rp2040ble.jpg b/images/2024-02-28_meetup_waveshare-rp2040ble.jpg new file mode 100644 index 0000000000000..08c5daa3242fb Binary files /dev/null and b/images/2024-02-28_meetup_waveshare-rp2040ble.jpg differ diff --git a/images/2024-04/PeterPracticusLevelCrossing.jpg b/images/2024-04/PeterPracticusLevelCrossing.jpg new file mode 100644 index 0000000000000..a407e913158f0 Binary files /dev/null and b/images/2024-04/PeterPracticusLevelCrossing.jpg differ diff --git a/images/2024-04/STMicroelectronics_logo.png b/images/2024-04/STMicroelectronics_logo.png new file mode 100644 index 0000000000000..74bf7038a4bab Binary files /dev/null and b/images/2024-04/STMicroelectronics_logo.png differ diff --git a/images/2024-04/antirez_eink.jpg b/images/2024-04/antirez_eink.jpg new file mode 100644 index 0000000000000..5defd1f2c8c27 Binary files /dev/null and b/images/2024-04/antirez_eink.jpg differ diff --git a/images/2024-04/arduino_days.jpg b/images/2024-04/arduino_days.jpg new file mode 100644 index 0000000000000..fc9ec8ac4b12f Binary files /dev/null and b/images/2024-04/arduino_days.jpg differ diff --git a/images/2024-04/cp9.jpg b/images/2024-04/cp9.jpg new file mode 100644 index 0000000000000..4d587a1043ca2 Binary files /dev/null and b/images/2024-04/cp9.jpg differ diff --git a/images/2024-04/dso.png b/images/2024-04/dso.png new file mode 100644 index 0000000000000..2a92140597bfa Binary files /dev/null and b/images/2024-04/dso.png differ diff --git a/images/2024-04/espressif-m5stack.jpg b/images/2024-04/espressif-m5stack.jpg new file mode 100644 index 0000000000000..c14d1904b187b Binary files /dev/null and b/images/2024-04/espressif-m5stack.jpg differ diff --git a/images/2024-04/gurglewordclock.png b/images/2024-04/gurglewordclock.png new file mode 100644 index 0000000000000..614b0d2b90622 Binary files /dev/null and b/images/2024-04/gurglewordclock.png differ diff --git a/images/2024-04/m5dial_flights.png b/images/2024-04/m5dial_flights.png new file mode 100644 index 0000000000000..6bb5c53afde4a Binary files /dev/null and b/images/2024-04/m5dial_flights.png differ diff --git a/images/2024-04/m5stack_carepackage.png b/images/2024-04/m5stack_carepackage.png new file mode 100644 index 0000000000000..b4a3efb9c5e41 Binary files /dev/null and b/images/2024-04/m5stack_carepackage.png differ diff --git a/images/2024-04/midjourney10.png b/images/2024-04/midjourney10.png new file mode 100644 index 0000000000000..4b1d53ef5a250 Binary files /dev/null and b/images/2024-04/midjourney10.png differ diff --git a/images/2024-04/mplogo.png b/images/2024-04/mplogo.png new file mode 100644 index 0000000000000..6e64f6b7d094f Binary files /dev/null and b/images/2024-04/mplogo.png differ diff --git a/images/2024-04/mponflipper.png b/images/2024-04/mponflipper.png new file mode 100644 index 0000000000000..30d0ccca6f9fb Binary files /dev/null and b/images/2024-04/mponflipper.png differ diff --git a/images/2024-04/mponplaydate.jpeg b/images/2024-04/mponplaydate.jpeg new file mode 100644 index 0000000000000..8441baf7bb8ea Binary files /dev/null and b/images/2024-04/mponplaydate.jpeg differ diff --git a/images/2024-04/nanoc6.webp b/images/2024-04/nanoc6.webp new file mode 100644 index 0000000000000..e71e759070dc6 Binary files /dev/null and b/images/2024-04/nanoc6.webp differ diff --git a/images/2024-04/paulmcwhorter.png b/images/2024-04/paulmcwhorter.png new file mode 100644 index 0000000000000..ef4e5fd6ceeb3 Binary files /dev/null and b/images/2024-04/paulmcwhorter.png differ diff --git a/images/2024-04/quick_bytes.png b/images/2024-04/quick_bytes.png new file mode 100644 index 0000000000000..9f79d9e41b753 Binary files /dev/null and b/images/2024-04/quick_bytes.png differ diff --git a/images/2024-04/renesas_altium.png b/images/2024-04/renesas_altium.png new file mode 100644 index 0000000000000..eeef1ec12215a Binary files /dev/null and b/images/2024-04/renesas_altium.png differ diff --git a/images/2024-04/rustvsmp.png b/images/2024-04/rustvsmp.png new file mode 100644 index 0000000000000..fa574b1816eec Binary files /dev/null and b/images/2024-04/rustvsmp.png differ diff --git a/images/2024-04/stm32nucleo-u083rc.png b/images/2024-04/stm32nucleo-u083rc.png new file mode 100644 index 0000000000000..9bbf8d6300df7 Binary files /dev/null and b/images/2024-04/stm32nucleo-u083rc.png differ diff --git a/images/2024-04/zephyrandmicropython.png b/images/2024-04/zephyrandmicropython.png new file mode 100644 index 0000000000000..09aa0fdfdcf89 Binary files /dev/null and b/images/2024-04/zephyrandmicropython.png differ diff --git a/images/2024-05/alvik.webp b/images/2024-05/alvik.webp new file mode 100644 index 0000000000000..bdf98bce09ce4 Binary files /dev/null and b/images/2024-05/alvik.webp differ diff --git a/images/2024-05/esp32h2-devkitm-1.webp b/images/2024-05/esp32h2-devkitm-1.webp new file mode 100644 index 0000000000000..31f0ca1ddfe20 Binary files /dev/null and b/images/2024-05/esp32h2-devkitm-1.webp differ diff --git a/images/2024-05/frdm-mcxn947.png b/images/2024-05/frdm-mcxn947.png new file mode 100644 index 0000000000000..82537e8857e27 Binary files /dev/null and b/images/2024-05/frdm-mcxn947.png differ diff --git a/images/2024-05/happybdaymp.png b/images/2024-05/happybdaymp.png new file mode 100644 index 0000000000000..250de40764843 Binary files /dev/null and b/images/2024-05/happybdaymp.png differ diff --git a/images/2024-05/jeff.jpg b/images/2024-05/jeff.jpg new file mode 100644 index 0000000000000..38872bdda2982 Binary files /dev/null and b/images/2024-05/jeff.jpg differ diff --git a/images/2024-05/jeffg.jpg b/images/2024-05/jeffg.jpg new file mode 100644 index 0000000000000..825b8501af489 Binary files /dev/null and b/images/2024-05/jeffg.jpg differ diff --git a/images/2024-05/juliana.jpg b/images/2024-05/juliana.jpg new file mode 100644 index 0000000000000..b826dcfedeeca Binary files /dev/null and b/images/2024-05/juliana.jpg differ diff --git a/images/2024-05/lukasz.jpg b/images/2024-05/lukasz.jpg new file mode 100644 index 0000000000000..cf710c9e37233 Binary files /dev/null and b/images/2024-05/lukasz.jpg differ diff --git a/images/2024-05/maker-uno-rp2040.jpg b/images/2024-05/maker-uno-rp2040.jpg new file mode 100644 index 0000000000000..4aaeae4641d71 Binary files /dev/null and b/images/2024-05/maker-uno-rp2040.jpg differ diff --git a/images/2024-05/matt_trentini_tiny_comical_snakes_playing_with_lego_and_compute_337bd3bb-5fd0-4ea0-bd21-6f1e9ef03f1d.png b/images/2024-05/matt_trentini_tiny_comical_snakes_playing_with_lego_and_compute_337bd3bb-5fd0-4ea0-bd21-6f1e9ef03f1d.png new file mode 100644 index 0000000000000..00d7daa494b03 Binary files /dev/null and b/images/2024-05/matt_trentini_tiny_comical_snakes_playing_with_lego_and_compute_337bd3bb-5fd0-4ea0-bd21-6f1e9ef03f1d.png differ diff --git a/images/2024-05/micropyezfonts_example.png b/images/2024-05/micropyezfonts_example.png new file mode 100644 index 0000000000000..34a506cbaad37 Binary files /dev/null and b/images/2024-05/micropyezfonts_example.png differ diff --git a/images/2024-05/mpflash.jpg b/images/2024-05/mpflash.jpg new file mode 100644 index 0000000000000..0a3db8f982b7f Binary files /dev/null and b/images/2024-05/mpflash.jpg differ diff --git a/images/2024-05/mpflash_example.png b/images/2024-05/mpflash_example.png new file mode 100644 index 0000000000000..61f84731fbda8 Binary files /dev/null and b/images/2024-05/mpflash_example.png differ diff --git a/images/2024-05/olimex-esp32-poe2.jpg b/images/2024-05/olimex-esp32-poe2.jpg new file mode 100644 index 0000000000000..83b211b1d4828 Binary files /dev/null and b/images/2024-05/olimex-esp32-poe2.jpg differ diff --git a/images/2024-05/pewpew.jpg b/images/2024-05/pewpew.jpg new file mode 100644 index 0000000000000..4c769ea8909e7 Binary files /dev/null and b/images/2024-05/pewpew.jpg differ diff --git a/images/2024-05/pewpew_example.mp4 b/images/2024-05/pewpew_example.mp4 new file mode 100644 index 0000000000000..773ecceafb640 Binary files /dev/null and b/images/2024-05/pewpew_example.mp4 differ diff --git a/images/2024-05/pyconus.jpg b/images/2024-05/pyconus.jpg new file mode 100644 index 0000000000000..1706a12ac5c2a Binary files /dev/null and b/images/2024-05/pyconus.jpg differ diff --git a/images/2024-05/pyscript.svg b/images/2024-05/pyscript.svg new file mode 100644 index 0000000000000..0e8722f038b80 --- /dev/null +++ b/images/2024-05/pyscript.svg @@ -0,0 +1,3269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/2024-05/pyscript_screenshot.png b/images/2024-05/pyscript_screenshot.png new file mode 100644 index 0000000000000..7a24b5de15e8a Binary files /dev/null and b/images/2024-05/pyscript_screenshot.png differ diff --git a/images/2024-05/pysheets1.png b/images/2024-05/pysheets1.png new file mode 100644 index 0000000000000..e87f031193ad5 Binary files /dev/null and b/images/2024-05/pysheets1.png differ diff --git a/images/2024-05/robot_car_black_pill.jpg b/images/2024-05/robot_car_black_pill.jpg new file mode 100644 index 0000000000000..5c2fdf8e942dd Binary files /dev/null and b/images/2024-05/robot_car_black_pill.jpg differ diff --git a/images/2024-05/seeedxiaoc6.png b/images/2024-05/seeedxiaoc6.png new file mode 100644 index 0000000000000..d646576b88aca Binary files /dev/null and b/images/2024-05/seeedxiaoc6.png differ diff --git a/images/2024-05/sparkfun_thing_plus_ra6m5.jpg b/images/2024-05/sparkfun_thing_plus_ra6m5.jpg new file mode 100644 index 0000000000000..ef296455ca1e2 Binary files /dev/null and b/images/2024-05/sparkfun_thing_plus_ra6m5.jpg differ diff --git a/images/2024-05/tim-lidar2.mp4 b/images/2024-05/tim-lidar2.mp4 new file mode 100644 index 0000000000000..61f5531a129d6 Binary files /dev/null and b/images/2024-05/tim-lidar2.mp4 differ diff --git a/images/2024-05/um_bling.png b/images/2024-05/um_bling.png new file mode 100644 index 0000000000000..022bad6b75733 Binary files /dev/null and b/images/2024-05/um_bling.png differ diff --git a/images/2024-05/um_tinyc6.jpg b/images/2024-05/um_tinyc6.jpg new file mode 100644 index 0000000000000..57069b1b71a37 Binary files /dev/null and b/images/2024-05/um_tinyc6.jpg differ diff --git a/images/2024-05/upythonwifisetup_example.png b/images/2024-05/upythonwifisetup_example.png new file mode 100644 index 0000000000000..a4d467f8a8856 Binary files /dev/null and b/images/2024-05/upythonwifisetup_example.png differ diff --git a/images/2024-05/valerio.jpg b/images/2024-05/valerio.jpg new file mode 100644 index 0000000000000..63aebcdbe2ead Binary files /dev/null and b/images/2024-05/valerio.jpg differ diff --git a/images/2024-05/vision_board.png b/images/2024-05/vision_board.png new file mode 100644 index 0000000000000..491807bfddc11 Binary files /dev/null and b/images/2024-05/vision_board.png differ diff --git a/images/2024-05/waveshare1.jpg b/images/2024-05/waveshare1.jpg new file mode 100644 index 0000000000000..4633c2048ad68 Binary files /dev/null and b/images/2024-05/waveshare1.jpg differ diff --git a/images/2024-05/waveshare2.jpg b/images/2024-05/waveshare2.jpg new file mode 100644 index 0000000000000..4e0618f28c518 Binary files /dev/null and b/images/2024-05/waveshare2.jpg differ diff --git a/images/2024-06/balancedroid.png b/images/2024-06/balancedroid.png new file mode 100644 index 0000000000000..30a67cdd534f6 Binary files /dev/null and b/images/2024-06/balancedroid.png differ diff --git a/images/2024-06/bitgraphics.png b/images/2024-06/bitgraphics.png new file mode 100644 index 0000000000000..8f942c834b558 Binary files /dev/null and b/images/2024-06/bitgraphics.png differ diff --git a/images/2024-06/bitgraphics_paw.jpg b/images/2024-06/bitgraphics_paw.jpg new file mode 100644 index 0000000000000..8c6fbdedf1031 Binary files /dev/null and b/images/2024-06/bitgraphics_paw.jpg differ diff --git a/images/2024-06/bleradiopybricks.png b/images/2024-06/bleradiopybricks.png new file mode 100644 index 0000000000000..aa074050c82b3 Binary files /dev/null and b/images/2024-06/bleradiopybricks.png differ diff --git a/images/2024-06/caravan.png b/images/2024-06/caravan.png new file mode 100644 index 0000000000000..ae7058a0a1847 Binary files /dev/null and b/images/2024-06/caravan.png differ diff --git a/images/2024-06/cesanta.png b/images/2024-06/cesanta.png new file mode 100644 index 0000000000000..c77ab9fed1bbe Binary files /dev/null and b/images/2024-06/cesanta.png differ diff --git a/images/2024-06/esp32-c6-overview.png b/images/2024-06/esp32-c6-overview.png new file mode 100644 index 0000000000000..b5e67542b573e Binary files /dev/null and b/images/2024-06/esp32-c6-overview.png differ diff --git a/images/2024-06/frambuf_for_console.png b/images/2024-06/frambuf_for_console.png new file mode 100644 index 0000000000000..25d29500405cd Binary files /dev/null and b/images/2024-06/frambuf_for_console.png differ diff --git a/images/2024-06/kmacretrocoding.jpg b/images/2024-06/kmacretrocoding.jpg new file mode 100644 index 0000000000000..196896ac0fd82 Binary files /dev/null and b/images/2024-06/kmacretrocoding.jpg differ diff --git a/images/2024-06/lilygo-t-encoderpro.png b/images/2024-06/lilygo-t-encoderpro.png new file mode 100644 index 0000000000000..d170c71488761 Binary files /dev/null and b/images/2024-06/lilygo-t-encoderpro.png differ diff --git a/images/2024-06/lilygo_tglass.png b/images/2024-06/lilygo_tglass.png new file mode 100644 index 0000000000000..fb568913c4708 Binary files /dev/null and b/images/2024-06/lilygo_tglass.png differ diff --git a/images/2024-06/m5stackcores3se.png b/images/2024-06/m5stackcores3se.png new file mode 100644 index 0000000000000..842160686cc67 Binary files /dev/null and b/images/2024-06/m5stackcores3se.png differ diff --git a/images/2024-06/meetup_bad.png b/images/2024-06/meetup_bad.png new file mode 100644 index 0000000000000..003874d3c2ef0 Binary files /dev/null and b/images/2024-06/meetup_bad.png differ diff --git a/images/2024-06/midjourney_snake_keyboard.png b/images/2024-06/midjourney_snake_keyboard.png new file mode 100644 index 0000000000000..1431f50f6daaa Binary files /dev/null and b/images/2024-06/midjourney_snake_keyboard.png differ diff --git a/images/2024-06/mpdisplay_hinch.gif b/images/2024-06/mpdisplay_hinch.gif new file mode 100644 index 0000000000000..911c1e0414886 Binary files /dev/null and b/images/2024-06/mpdisplay_hinch.gif differ diff --git a/images/2024-06/pewpewplaydate.png b/images/2024-06/pewpewplaydate.png new file mode 100644 index 0000000000000..1b3fa7dac794a Binary files /dev/null and b/images/2024-06/pewpewplaydate.png differ diff --git a/images/2024-06/progesp32book.png b/images/2024-06/progesp32book.png new file mode 100644 index 0000000000000..61d939bd1cfef Binary files /dev/null and b/images/2024-06/progesp32book.png differ diff --git a/images/2024-06/pyconau2024.png b/images/2024-06/pyconau2024.png new file mode 100644 index 0000000000000..4e00eb1ca2ee1 Binary files /dev/null and b/images/2024-06/pyconau2024.png differ diff --git a/images/2024-06/riscv.png b/images/2024-06/riscv.png new file mode 100644 index 0000000000000..38aef73c86078 Binary files /dev/null and b/images/2024-06/riscv.png differ diff --git a/images/2024-06/sitstand.png b/images/2024-06/sitstand.png new file mode 100644 index 0000000000000..e00a21d083a6d Binary files /dev/null and b/images/2024-06/sitstand.png differ diff --git a/images/2024-06/teardown2024.png b/images/2024-06/teardown2024.png new file mode 100644 index 0000000000000..e6c7e2bed77bf Binary files /dev/null and b/images/2024-06/teardown2024.png differ diff --git a/images/2024-06/umac_workstation2.jpg b/images/2024-06/umac_workstation2.jpg new file mode 100644 index 0000000000000..8db268120a6f3 Binary files /dev/null and b/images/2024-06/umac_workstation2.jpg differ diff --git a/images/2024-06/viperide.png b/images/2024-06/viperide.png new file mode 100644 index 0000000000000..35e03dd2818fa Binary files /dev/null and b/images/2024-06/viperide.png differ diff --git a/images/2024-07/COLMI_P8.png b/images/2024-07/COLMI_P8.png new file mode 100644 index 0000000000000..0796534a42ab2 Binary files /dev/null and b/images/2024-07/COLMI_P8.png differ diff --git a/images/2024-07/OMGS3.png b/images/2024-07/OMGS3.png new file mode 100644 index 0000000000000..dd45e269fd0bd Binary files /dev/null and b/images/2024-07/OMGS3.png differ diff --git a/images/2024-07/Some_Pixel_Artttt.jpg b/images/2024-07/Some_Pixel_Artttt.jpg new file mode 100644 index 0000000000000..54ac0c498ca1f Binary files /dev/null and b/images/2024-07/Some_Pixel_Artttt.jpg differ diff --git a/images/2024-07/W55RP20.png b/images/2024-07/W55RP20.png new file mode 100644 index 0000000000000..77cf3b9d54a61 Binary files /dev/null and b/images/2024-07/W55RP20.png differ diff --git a/images/2024-07/esp_file_manager.gif b/images/2024-07/esp_file_manager.gif new file mode 100644 index 0000000000000..5949c833f60d2 Binary files /dev/null and b/images/2024-07/esp_file_manager.gif differ diff --git a/images/2024-07/i2s.png b/images/2024-07/i2s.png new file mode 100644 index 0000000000000..47db92eddf5f8 Binary files /dev/null and b/images/2024-07/i2s.png differ diff --git a/images/2024-07/inkplate-6-motion.jpg b/images/2024-07/inkplate-6-motion.jpg new file mode 100644 index 0000000000000..2a93bc834ece8 Binary files /dev/null and b/images/2024-07/inkplate-6-motion.jpg differ diff --git a/images/2024-07/jupyter_pio_emulator.png b/images/2024-07/jupyter_pio_emulator.png new file mode 100644 index 0000000000000..ac8a3681367fe Binary files /dev/null and b/images/2024-07/jupyter_pio_emulator.png differ diff --git a/images/2024-07/pi_press_book.png b/images/2024-07/pi_press_book.png new file mode 100644 index 0000000000000..75ea5d009d064 Binary files /dev/null and b/images/2024-07/pi_press_book.png differ diff --git a/images/2024-07/threatmodel.png b/images/2024-07/threatmodel.png new file mode 100644 index 0000000000000..cd0d35c2d6b62 Binary files /dev/null and b/images/2024-07/threatmodel.png differ diff --git a/images/2024-07/thumby_color.gif b/images/2024-07/thumby_color.gif new file mode 100644 index 0000000000000..b70a5a7448c57 Binary files /dev/null and b/images/2024-07/thumby_color.gif differ diff --git a/images/2024-07/tulip.jpg b/images/2024-07/tulip.jpg new file mode 100644 index 0000000000000..b2b495121f79a Binary files /dev/null and b/images/2024-07/tulip.jpg differ diff --git a/images/2024-07/vectordisplay.jpg b/images/2024-07/vectordisplay.jpg new file mode 100644 index 0000000000000..1eccfdd7c117f Binary files /dev/null and b/images/2024-07/vectordisplay.jpg differ diff --git a/images/2024-08/01studio_k230_board.png b/images/2024-08/01studio_k230_board.png new file mode 100644 index 0000000000000..d361e3f25533f Binary files /dev/null and b/images/2024-08/01studio_k230_board.png differ diff --git a/images/2024-08/amiga_micropython.png b/images/2024-08/amiga_micropython.png new file mode 100644 index 0000000000000..b98fabab820a5 Binary files /dev/null and b/images/2024-08/amiga_micropython.png differ diff --git a/images/2024-08/array_of_imus.jpg b/images/2024-08/array_of_imus.jpg new file mode 100644 index 0000000000000..17283f53c2104 Binary files /dev/null and b/images/2024-08/array_of_imus.jpg differ diff --git a/images/2024-08/circuitpythonday2024.jpg b/images/2024-08/circuitpythonday2024.jpg new file mode 100644 index 0000000000000..8ff18c463eb7a Binary files /dev/null and b/images/2024-08/circuitpythonday2024.jpg differ diff --git a/images/2024-08/esp32-p4-function-ev-board-annotated-photo-front.png b/images/2024-08/esp32-p4-function-ev-board-annotated-photo-front.png new file mode 100644 index 0000000000000..dab096a994138 Binary files /dev/null and b/images/2024-08/esp32-p4-function-ev-board-annotated-photo-front.png differ diff --git a/images/2024-08/espressif_devcon24.png b/images/2024-08/espressif_devcon24.png new file mode 100644 index 0000000000000..dcc8185e3274c Binary files /dev/null and b/images/2024-08/espressif_devcon24.png differ diff --git a/images/2024-08/favicon-16x16.png b/images/2024-08/favicon-16x16.png new file mode 100644 index 0000000000000..c249aa0393b22 Binary files /dev/null and b/images/2024-08/favicon-16x16.png differ diff --git a/images/2024-08/hackaday-micropython.png b/images/2024-08/hackaday-micropython.png new file mode 100644 index 0000000000000..beb1f24d6c95d Binary files /dev/null and b/images/2024-08/hackaday-micropython.png differ diff --git a/images/2024-08/hivolt.gif b/images/2024-08/hivolt.gif new file mode 100644 index 0000000000000..a280e9230f7f4 Binary files /dev/null and b/images/2024-08/hivolt.gif differ diff --git a/images/2024-08/jonnor-discord.png b/images/2024-08/jonnor-discord.png new file mode 100644 index 0000000000000..ade838b1d22d2 Binary files /dev/null and b/images/2024-08/jonnor-discord.png differ diff --git a/images/2024-08/legion-connect4.mp4 b/images/2024-08/legion-connect4.mp4 new file mode 100644 index 0000000000000..bd655cee6b1b1 Binary files /dev/null and b/images/2024-08/legion-connect4.mp4 differ diff --git a/images/2024-08/m5Stamp_fly.jpg b/images/2024-08/m5Stamp_fly.jpg new file mode 100644 index 0000000000000..840207492b7a9 Binary files /dev/null and b/images/2024-08/m5Stamp_fly.jpg differ diff --git a/images/2024-08/m5atom_joystick.jpg b/images/2024-08/m5atom_joystick.jpg new file mode 100644 index 0000000000000..9e5730465720e Binary files /dev/null and b/images/2024-08/m5atom_joystick.jpg differ diff --git a/images/2024-08/micropython_meetup_members.png b/images/2024-08/micropython_meetup_members.png new file mode 100644 index 0000000000000..27a041a90e093 Binary files /dev/null and b/images/2024-08/micropython_meetup_members.png differ diff --git a/images/2024-08/mike_bell_port_micropython.png b/images/2024-08/mike_bell_port_micropython.png new file mode 100644 index 0000000000000..c38d419d8fde3 Binary files /dev/null and b/images/2024-08/mike_bell_port_micropython.png differ diff --git a/images/2024-08/pico-jumbo.jpg b/images/2024-08/pico-jumbo.jpg new file mode 100644 index 0000000000000..10457e1a07fa4 Binary files /dev/null and b/images/2024-08/pico-jumbo.jpg differ diff --git a/images/2024-08/pico2_rp2350.jpg b/images/2024-08/pico2_rp2350.jpg new file mode 100644 index 0000000000000..33eda4266479c Binary files /dev/null and b/images/2024-08/pico2_rp2350.jpg differ diff --git a/images/2024-08/picotamachibi2.jpg b/images/2024-08/picotamachibi2.jpg new file mode 100644 index 0000000000000..0ecbddeb285be Binary files /dev/null and b/images/2024-08/picotamachibi2.jpg differ diff --git a/images/2024-08/poc_wasm.png b/images/2024-08/poc_wasm.png new file mode 100644 index 0000000000000..417890c2ab4f3 Binary files /dev/null and b/images/2024-08/poc_wasm.png differ diff --git a/images/2024-08/pro-tip.webp b/images/2024-08/pro-tip.webp new file mode 100644 index 0000000000000..26500d4d83e58 Binary files /dev/null and b/images/2024-08/pro-tip.webp differ diff --git a/images/2024-08/proteus_vsm_micropython.png b/images/2024-08/proteus_vsm_micropython.png new file mode 100644 index 0000000000000..b7e6117ee64b9 Binary files /dev/null and b/images/2024-08/proteus_vsm_micropython.png differ diff --git a/images/2024-08/pysheets.png b/images/2024-08/pysheets.png new file mode 100644 index 0000000000000..0c815af884900 Binary files /dev/null and b/images/2024-08/pysheets.png differ diff --git a/images/2024-08/pysheets_opensource.png b/images/2024-08/pysheets_opensource.png new file mode 100644 index 0000000000000..c9078047bec3e Binary files /dev/null and b/images/2024-08/pysheets_opensource.png differ diff --git a/images/2024-08/s3_mini_pro_v1.jpg b/images/2024-08/s3_mini_pro_v1.jpg new file mode 100644 index 0000000000000..aa2b9d41a0026 Binary files /dev/null and b/images/2024-08/s3_mini_pro_v1.jpg differ diff --git a/images/2024-08/seeed-studio-xiao-ra4m1.jpg b/images/2024-08/seeed-studio-xiao-ra4m1.jpg new file mode 100644 index 0000000000000..2b76255a9ed20 Binary files /dev/null and b/images/2024-08/seeed-studio-xiao-ra4m1.jpg differ diff --git a/images/2024-08/small_snake.png b/images/2024-08/small_snake.png new file mode 100644 index 0000000000000..b3d4f5a7a6946 Binary files /dev/null and b/images/2024-08/small_snake.png differ diff --git a/images/2024-08/t-deck-plus-lilygo.jpg b/images/2024-08/t-deck-plus-lilygo.jpg new file mode 100644 index 0000000000000..e525b16cea9ec Binary files /dev/null and b/images/2024-08/t-deck-plus-lilygo.jpg differ diff --git a/images/2024-08/tulipcc-waves.jpeg b/images/2024-08/tulipcc-waves.jpeg new file mode 100644 index 0000000000000..75d82ab1f93a6 Binary files /dev/null and b/images/2024-08/tulipcc-waves.jpeg differ diff --git a/images/2024-08/viperide_disassembly.jpg b/images/2024-08/viperide_disassembly.jpg new file mode 100644 index 0000000000000..320c46e2773cb Binary files /dev/null and b/images/2024-08/viperide_disassembly.jpg differ diff --git a/images/2024-08/you-should-use-docker-its-so-light-weight.webp b/images/2024-08/you-should-use-docker-its-so-light-weight.webp new file mode 100644 index 0000000000000..cb488e7dd83de Binary files /dev/null and b/images/2024-08/you-should-use-docker-its-so-light-weight.webp differ diff --git a/images/2024-09/cpp_vs_mp.jpg b/images/2024-09/cpp_vs_mp.jpg new file mode 100644 index 0000000000000..ea86c5ef1b0f5 Binary files /dev/null and b/images/2024-09/cpp_vs_mp.jpg differ diff --git a/images/2024-09/cytron.png b/images/2024-09/cytron.png new file mode 100644 index 0000000000000..051729f969abe Binary files /dev/null and b/images/2024-09/cytron.png differ diff --git a/images/2024-09/m5stack_atoms3r-cam.webp b/images/2024-09/m5stack_atoms3r-cam.webp new file mode 100644 index 0000000000000..c90ae0c0fd5ef Binary files /dev/null and b/images/2024-09/m5stack_atoms3r-cam.webp differ diff --git a/images/2024-09/m5stack_atoms3r.webp b/images/2024-09/m5stack_atoms3r.webp new file mode 100644 index 0000000000000..2c5649750ac9c Binary files /dev/null and b/images/2024-09/m5stack_atoms3r.webp differ diff --git a/images/2024-09/m5stack_roller485.webp b/images/2024-09/m5stack_roller485.webp new file mode 100644 index 0000000000000..aff9b10b6a0ec Binary files /dev/null and b/images/2024-09/m5stack_roller485.webp differ diff --git a/images/2024-09/makerdiary_imxrt1011nano.png b/images/2024-09/makerdiary_imxrt1011nano.png new file mode 100644 index 0000000000000..353248a2ee6b1 Binary files /dev/null and b/images/2024-09/makerdiary_imxrt1011nano.png differ diff --git a/images/2024-09/meetup_logo.png b/images/2024-09/meetup_logo.png new file mode 100644 index 0000000000000..0ce0a485f1651 Binary files /dev/null and b/images/2024-09/meetup_logo.png differ diff --git a/images/2024-09/memory_profiler.png b/images/2024-09/memory_profiler.png new file mode 100644 index 0000000000000..13a27399b9e93 Binary files /dev/null and b/images/2024-09/memory_profiler.png differ diff --git a/images/2024-09/midjouney_mpbuild.png b/images/2024-09/midjouney_mpbuild.png new file mode 100644 index 0000000000000..c6452f9807e29 Binary files /dev/null and b/images/2024-09/midjouney_mpbuild.png differ diff --git a/images/2024-09/midjourney_fun.png b/images/2024-09/midjourney_fun.png new file mode 100644 index 0000000000000..6df22e7179020 Binary files /dev/null and b/images/2024-09/midjourney_fun.png differ diff --git a/images/2024-09/mp_on_flipper_zero.png b/images/2024-09/mp_on_flipper_zero.png new file mode 100644 index 0000000000000..1ee4cbf5fb3a0 Binary files /dev/null and b/images/2024-09/mp_on_flipper_zero.png differ diff --git a/images/2024-09/rp2040_with_kicad.jpg b/images/2024-09/rp2040_with_kicad.jpg new file mode 100644 index 0000000000000..0c5e701d1cc69 Binary files /dev/null and b/images/2024-09/rp2040_with_kicad.jpg differ diff --git a/images/2024-09/tentacles.png b/images/2024-09/tentacles.png new file mode 100644 index 0000000000000..89f1a53df1966 Binary files /dev/null and b/images/2024-09/tentacles.png differ diff --git a/images/2024-12/bluesky.png b/images/2024-12/bluesky.png new file mode 100644 index 0000000000000..b4c7b75ff81fd Binary files /dev/null and b/images/2024-12/bluesky.png differ diff --git a/images/2024-12/camera-remote.jpeg b/images/2024-12/camera-remote.jpeg new file mode 100644 index 0000000000000..13f51b3256dd6 Binary files /dev/null and b/images/2024-12/camera-remote.jpeg differ diff --git a/images/2024-12/hack_robot_vacuum.png b/images/2024-12/hack_robot_vacuum.png new file mode 100644 index 0000000000000..86f78bd7c4d9f Binary files /dev/null and b/images/2024-12/hack_robot_vacuum.png differ diff --git a/images/2024-12/lilygo-t-keyboards3pro.png b/images/2024-12/lilygo-t-keyboards3pro.png new file mode 100644 index 0000000000000..72bf22f9daa73 Binary files /dev/null and b/images/2024-12/lilygo-t-keyboards3pro.png differ diff --git a/images/2024-12/micropython-in-orbit.jpg b/images/2024-12/micropython-in-orbit.jpg new file mode 100644 index 0000000000000..6eea7e4089b21 Binary files /dev/null and b/images/2024-12/micropython-in-orbit.jpg differ diff --git a/images/2024-12/midjourney_fun_dec24.png b/images/2024-12/midjourney_fun_dec24.png new file mode 100644 index 0000000000000..cab7b146c516f Binary files /dev/null and b/images/2024-12/midjourney_fun_dec24.png differ diff --git a/images/2024-12/nrf54l15_dk.png b/images/2024-12/nrf54l15_dk.png new file mode 100644 index 0000000000000..421bcd1fd2ce9 Binary files /dev/null and b/images/2024-12/nrf54l15_dk.png differ diff --git a/images/2024-12/pocket_spectrometer.jpg b/images/2024-12/pocket_spectrometer.jpg new file mode 100644 index 0000000000000..edb6b92ef908d Binary files /dev/null and b/images/2024-12/pocket_spectrometer.jpg differ diff --git a/images/2024-12/reverse_eng_micropython.png b/images/2024-12/reverse_eng_micropython.png new file mode 100644 index 0000000000000..481cd7000fc26 Binary files /dev/null and b/images/2024-12/reverse_eng_micropython.png differ diff --git a/images/2024-12/sand_drawing.jpg b/images/2024-12/sand_drawing.jpg new file mode 100644 index 0000000000000..5697a15f62faa Binary files /dev/null and b/images/2024-12/sand_drawing.jpg differ diff --git a/images/2024-12/tempe_scatter_plot.png b/images/2024-12/tempe_scatter_plot.png new file mode 100644 index 0000000000000..0ed060c0717d7 Binary files /dev/null and b/images/2024-12/tempe_scatter_plot.png differ diff --git a/images/2024-12/waveshare-p4.png b/images/2024-12/waveshare-p4.png new file mode 100644 index 0000000000000..e0947d9090074 Binary files /dev/null and b/images/2024-12/waveshare-p4.png differ 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 diff --git a/images/2025-05/alvik-self-charging.avif b/images/2025-05/alvik-self-charging.avif new file mode 100644 index 0000000000000..edbfed19ad6bd Binary files /dev/null and b/images/2025-05/alvik-self-charging.avif differ diff --git a/images/2025-05/animacion_organillo.gif b/images/2025-05/animacion_organillo.gif new file mode 100644 index 0000000000000..f3b6a96707c2a Binary files /dev/null and b/images/2025-05/animacion_organillo.gif differ diff --git a/images/2025-05/claude.webp b/images/2025-05/claude.webp new file mode 100644 index 0000000000000..b1d208e9267b5 Binary files /dev/null and b/images/2025-05/claude.webp differ diff --git a/images/2025-05/esp32_c5_devkit.png b/images/2025-05/esp32_c5_devkit.png new file mode 100644 index 0000000000000..fe4990e89683a Binary files /dev/null and b/images/2025-05/esp32_c5_devkit.png differ diff --git a/images/2025-05/framebuffer2.jpg b/images/2025-05/framebuffer2.jpg new file mode 100644 index 0000000000000..cd11d4629122d Binary files /dev/null and b/images/2025-05/framebuffer2.jpg differ diff --git a/images/2025-05/gccircuitpython.jpg b/images/2025-05/gccircuitpython.jpg new file mode 100644 index 0000000000000..cb09491af8a72 Binary files /dev/null and b/images/2025-05/gccircuitpython.jpg differ diff --git a/images/2025-05/hub75.png b/images/2025-05/hub75.png new file mode 100644 index 0000000000000..7d1dcb10784e8 Binary files /dev/null and b/images/2025-05/hub75.png differ diff --git a/images/2025-05/i2ctarget.png b/images/2025-05/i2ctarget.png new file mode 100644 index 0000000000000..05866f8c9c672 Binary files /dev/null and b/images/2025-05/i2ctarget.png differ diff --git a/images/2025-05/m2-res_492p.mp4 b/images/2025-05/m2-res_492p.mp4 new file mode 100644 index 0000000000000..2c6a10a583099 Binary files /dev/null and b/images/2025-05/m2-res_492p.mp4 differ diff --git a/images/2025-05/m5stack_plc.webp b/images/2025-05/m5stack_plc.webp new file mode 100644 index 0000000000000..8a0274b86ac76 Binary files /dev/null and b/images/2025-05/m5stack_plc.webp differ diff --git a/images/2025-05/m5stack_tab5.jpg b/images/2025-05/m5stack_tab5.jpg new file mode 100644 index 0000000000000..eeda6eba39b64 Binary files /dev/null and b/images/2025-05/m5stack_tab5.jpg differ diff --git a/images/2025-05/minichord.jpg b/images/2025-05/minichord.jpg new file mode 100644 index 0000000000000..fa27652bee689 Binary files /dev/null and b/images/2025-05/minichord.jpg differ diff --git a/images/2025-05/pair_of_developers.png b/images/2025-05/pair_of_developers.png new file mode 100644 index 0000000000000..c5884f3de4e13 Binary files /dev/null and b/images/2025-05/pair_of_developers.png differ diff --git a/images/2025-05/pico2-ice.jpg b/images/2025-05/pico2-ice.jpg new file mode 100644 index 0000000000000..6d4a97d4233ee Binary files /dev/null and b/images/2025-05/pico2-ice.jpg differ diff --git a/images/2025-05/picocalc.png b/images/2025-05/picocalc.png new file mode 100644 index 0000000000000..c0ba52520b224 Binary files /dev/null and b/images/2025-05/picocalc.png differ diff --git a/images/2025-05/prestodeck.jpg b/images/2025-05/prestodeck.jpg new file mode 100644 index 0000000000000..353886776ac83 Binary files /dev/null and b/images/2025-05/prestodeck.jpg differ diff --git a/images/2025-05/pyconau2025.png b/images/2025-05/pyconau2025.png new file mode 100644 index 0000000000000..80086bd15ee80 Binary files /dev/null and b/images/2025-05/pyconau2025.png differ diff --git a/images/2025-05/pyper2.jpg b/images/2025-05/pyper2.jpg new file mode 100644 index 0000000000000..dd3bad6a43bd5 Binary files /dev/null and b/images/2025-05/pyper2.jpg differ diff --git a/images/2025-05/riscvemu.png b/images/2025-05/riscvemu.png new file mode 100644 index 0000000000000..7689c7eace043 Binary files /dev/null and b/images/2025-05/riscvemu.png differ diff --git a/images/2025-05/samtts.jpg b/images/2025-05/samtts.jpg new file mode 100644 index 0000000000000..a14dbec757f78 Binary files /dev/null and b/images/2025-05/samtts.jpg differ diff --git a/images/2025-05/sifli.webp b/images/2025-05/sifli.webp new file mode 100644 index 0000000000000..1cc06e598c786 Binary files /dev/null and b/images/2025-05/sifli.webp differ diff --git a/images/2025-05/soilmonitor.webp b/images/2025-05/soilmonitor.webp new file mode 100644 index 0000000000000..dfdfdb16a0b9f Binary files /dev/null and b/images/2025-05/soilmonitor.webp differ diff --git a/images/2025-05/spectrumanalyzer.jpg b/images/2025-05/spectrumanalyzer.jpg new file mode 100644 index 0000000000000..a1c98fb30024a Binary files /dev/null and b/images/2025-05/spectrumanalyzer.jpg differ diff --git a/images/2025-05/squixl.jpg b/images/2025-05/squixl.jpg new file mode 100644 index 0000000000000..75603d0b854e0 Binary files /dev/null and b/images/2025-05/squixl.jpg differ diff --git a/images/2025-05/stm32u385nucleo.webp b/images/2025-05/stm32u385nucleo.webp new file mode 100644 index 0000000000000..bcd220f369685 Binary files /dev/null and b/images/2025-05/stm32u385nucleo.webp differ diff --git a/images/2025-05/superfamicomreader.jpg b/images/2025-05/superfamicomreader.jpg new file mode 100644 index 0000000000000..74810039d072e Binary files /dev/null and b/images/2025-05/superfamicomreader.jpg differ diff --git a/images/2025-05/talks.jpg b/images/2025-05/talks.jpg new file mode 100644 index 0000000000000..628e4d0170610 Binary files /dev/null and b/images/2025-05/talks.jpg differ diff --git a/images/2025-05/thumbies.webp b/images/2025-05/thumbies.webp new file mode 100644 index 0000000000000..d2dd72cb8b233 Binary files /dev/null and b/images/2025-05/thumbies.webp differ diff --git a/images/2025-05/tpico2350.webp b/images/2025-05/tpico2350.webp new file mode 100644 index 0000000000000..41edeba943ffa Binary files /dev/null and b/images/2025-05/tpico2350.webp differ diff --git a/images/2025-05/tvbgone.jpeg b/images/2025-05/tvbgone.jpeg new file mode 100644 index 0000000000000..0e6b7a1cf44c7 Binary files /dev/null and b/images/2025-05/tvbgone.jpeg differ diff --git a/images/2025-05/waveshare_esp32_p4_nano.png b/images/2025-05/waveshare_esp32_p4_nano.png new file mode 100644 index 0000000000000..f0d4e9441e17f Binary files /dev/null and b/images/2025-05/waveshare_esp32_p4_nano.png differ diff --git a/images/2025-05/waveshare_esp32_s3_4inch.jpg b/images/2025-05/waveshare_esp32_s3_4inch.jpg new file mode 100644 index 0000000000000..6b63e05ec51c2 Binary files /dev/null and b/images/2025-05/waveshare_esp32_s3_4inch.jpg differ diff --git a/images/2025-05/wavesharerp2350.webp b/images/2025-05/wavesharerp2350.webp new file mode 100644 index 0000000000000..c8460863d545c Binary files /dev/null and b/images/2025-05/wavesharerp2350.webp differ diff --git a/images/2025-05/xiao-epaper-panel.jpg b/images/2025-05/xiao-epaper-panel.jpg new file mode 100644 index 0000000000000..d1b4d930a4d1a Binary files /dev/null and b/images/2025-05/xiao-epaper-panel.jpg differ diff --git a/images/2025-07/HertzChallenge.jpg b/images/2025-07/HertzChallenge.jpg new file mode 100644 index 0000000000000..3d3120eb78cb0 Binary files /dev/null and b/images/2025-07/HertzChallenge.jpg differ diff --git a/images/2025-07/T-Display-Bar.jpg b/images/2025-07/T-Display-Bar.jpg new file mode 100644 index 0000000000000..278f30132bdda Binary files /dev/null and b/images/2025-07/T-Display-Bar.jpg differ diff --git a/images/2025-07/amazing_hand.jpg b/images/2025-07/amazing_hand.jpg new file mode 100644 index 0000000000000..f1ac853f779da Binary files /dev/null and b/images/2025-07/amazing_hand.jpg differ diff --git a/images/2025-07/cygnet.png b/images/2025-07/cygnet.png new file mode 100644 index 0000000000000..f736b9ab1012b Binary files /dev/null and b/images/2025-07/cygnet.png differ diff --git a/images/2025-07/esp32-s3-touch-lcd-2.jpg b/images/2025-07/esp32-s3-touch-lcd-2.jpg new file mode 100644 index 0000000000000..62e59acf3a018 Binary files /dev/null and b/images/2025-07/esp32-s3-touch-lcd-2.jpg differ diff --git a/images/2025-07/metronalmost.jpg b/images/2025-07/metronalmost.jpg new file mode 100644 index 0000000000000..5d29833f7c908 Binary files /dev/null and b/images/2025-07/metronalmost.jpg differ diff --git a/images/2025-07/micropythonos_launcher.png b/images/2025-07/micropythonos_launcher.png new file mode 100644 index 0000000000000..cbe9864e8729e Binary files /dev/null and b/images/2025-07/micropythonos_launcher.png differ diff --git a/images/2025-07/pico2_pinout.png b/images/2025-07/pico2_pinout.png new file mode 100644 index 0000000000000..ac9e062ed50c0 Binary files /dev/null and b/images/2025-07/pico2_pinout.png differ diff --git a/images/2025-07/pyController.png b/images/2025-07/pyController.png new file mode 100644 index 0000000000000..58d01485603c1 Binary files /dev/null and b/images/2025-07/pyController.png differ diff --git a/images/2025-07/pyDrone.jpg b/images/2025-07/pyDrone.jpg new file mode 100644 index 0000000000000..f7163631899d9 Binary files /dev/null and b/images/2025-07/pyDrone.jpg differ diff --git a/images/2025-07/retro68.png b/images/2025-07/retro68.png new file mode 100644 index 0000000000000..4ce7e3aee16be Binary files /dev/null and b/images/2025-07/retro68.png differ diff --git a/images/2025-07/shrike.jpg b/images/2025-07/shrike.jpg new file mode 100644 index 0000000000000..93b5aa5e8a4c2 Binary files /dev/null and b/images/2025-07/shrike.jpg differ diff --git a/images/2025-07/silabs.webp b/images/2025-07/silabs.webp new file mode 100644 index 0000000000000..4352ce5853720 Binary files /dev/null and b/images/2025-07/silabs.webp differ diff --git a/images/2025-07/t-mini-epaper.jpg b/images/2025-07/t-mini-epaper.jpg new file mode 100644 index 0000000000000..ec0ceca2a778d Binary files /dev/null and b/images/2025-07/t-mini-epaper.jpg differ diff --git a/images/2025-07/waveshare_esp32.jpg b/images/2025-07/waveshare_esp32.jpg new file mode 100644 index 0000000000000..fa932d373a6b1 Binary files /dev/null and b/images/2025-07/waveshare_esp32.jpg differ diff --git a/images/2025-08/8x8_bad_apple.png b/images/2025-08/8x8_bad_apple.png new file mode 100644 index 0000000000000..33642aadb53a0 Binary files /dev/null and b/images/2025-08/8x8_bad_apple.png differ diff --git a/images/2025-08/flameosc_small-2.webp b/images/2025-08/flameosc_small-2.webp new file mode 100644 index 0000000000000..1861ed38bfbd7 Binary files /dev/null and b/images/2025-08/flameosc_small-2.webp differ diff --git a/images/2025-08/fruitjam.png b/images/2025-08/fruitjam.png new file mode 100644 index 0000000000000..335a5f258d81d Binary files /dev/null and b/images/2025-08/fruitjam.png differ diff --git a/images/2025-08/mant1s-front.jpg b/images/2025-08/mant1s-front.jpg new file mode 100644 index 0000000000000..20d5469af8fca Binary files /dev/null and b/images/2025-08/mant1s-front.jpg differ diff --git a/images/2025-08/micropython_contributors_map.png b/images/2025-08/micropython_contributors_map.png new file mode 100644 index 0000000000000..641c0d5cebe0f Binary files /dev/null and b/images/2025-08/micropython_contributors_map.png differ diff --git a/images/2025-08/olimex_rp2350pc.jpg b/images/2025-08/olimex_rp2350pc.jpg new file mode 100644 index 0000000000000..89291d0378819 Binary files /dev/null and b/images/2025-08/olimex_rp2350pc.jpg differ diff --git a/images/2025-08/robot_war.jpg b/images/2025-08/robot_war.jpg new file mode 100644 index 0000000000000..a9937f9d68dc5 Binary files /dev/null and b/images/2025-08/robot_war.jpg differ diff --git a/images/2025-08/rp2350ba4.png b/images/2025-08/rp2350ba4.png new file mode 100644 index 0000000000000..8dcfaf61cd55a Binary files /dev/null and b/images/2025-08/rp2350ba4.png differ diff --git a/images/2025-08/sparkfunopencv.jpg b/images/2025-08/sparkfunopencv.jpg new file mode 100644 index 0000000000000..235d9dc87b779 Binary files /dev/null and b/images/2025-08/sparkfunopencv.jpg differ diff --git a/images/2025-08/world_devs_midjourney.png b/images/2025-08/world_devs_midjourney.png new file mode 100644 index 0000000000000..8bc3202ced227 Binary files /dev/null and b/images/2025-08/world_devs_midjourney.png differ diff --git a/images/2026-01/acebot.jpg b/images/2026-01/acebot.jpg new file mode 100644 index 0000000000000..2e6d494fd3a04 Binary files /dev/null and b/images/2026-01/acebot.jpg differ diff --git a/images/2026-01/acebot.jpg:Zone.Identifier b/images/2026-01/acebot.jpg:Zone.Identifier new file mode 100644 index 0000000000000..b3aabd4c8f766 --- /dev/null +++ b/images/2026-01/acebot.jpg:Zone.Identifier @@ -0,0 +1,4 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=https://www.cnx-software.com/2026/01/26/acebott-qd023-esp32-based-gesture-control-glove-tracks-finger-movements-with-potentiometers/ +HostUrl=https://www.cnx-software.com/wp-content/uploads/2026/01/ACEBOTT-QD023-ESP32-Motion-Sensing-Glove.jpg diff --git a/images/2026-01/agileembeddedpodcastlogo.jpg b/images/2026-01/agileembeddedpodcastlogo.jpg new file mode 100644 index 0000000000000..d1b65efdf9a11 Binary files /dev/null and b/images/2026-01/agileembeddedpodcastlogo.jpg differ diff --git a/images/2026-01/compiler_explorer_large.png b/images/2026-01/compiler_explorer_large.png new file mode 100644 index 0000000000000..d8824adc27f60 Binary files /dev/null and b/images/2026-01/compiler_explorer_large.png differ diff --git a/images/2026-01/compiler_explorer_small.png b/images/2026-01/compiler_explorer_small.png new file mode 100644 index 0000000000000..e85fa992480b2 Binary files /dev/null and b/images/2026-01/compiler_explorer_small.png differ diff --git a/images/2026-01/ddd.jpg b/images/2026-01/ddd.jpg new file mode 100644 index 0000000000000..fdf257cae1b17 Binary files /dev/null and b/images/2026-01/ddd.jpg differ diff --git a/images/2026-01/e22.jpeg b/images/2026-01/e22.jpeg new file mode 100644 index 0000000000000..61055f5147d61 Binary files /dev/null and b/images/2026-01/e22.jpeg differ diff --git a/images/2026-01/ecm50.jpg b/images/2026-01/ecm50.jpg new file mode 100644 index 0000000000000..df1196378cc2e Binary files /dev/null and b/images/2026-01/ecm50.jpg differ diff --git a/images/2026-01/joss.jpg b/images/2026-01/joss.jpg new file mode 100644 index 0000000000000..ee814a5b33210 Binary files /dev/null and b/images/2026-01/joss.jpg differ diff --git a/images/2026-01/kidoom.png b/images/2026-01/kidoom.png new file mode 100644 index 0000000000000..e093cc9b3bb74 Binary files /dev/null and b/images/2026-01/kidoom.png differ diff --git a/images/2026-01/kidoom.png:Zone.Identifier b/images/2026-01/kidoom.png:Zone.Identifier new file mode 100644 index 0000000000000..053d1127c2fb0 --- /dev/null +++ b/images/2026-01/kidoom.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/images/2026-01/lilygo_tdisplayp4.png b/images/2026-01/lilygo_tdisplayp4.png new file mode 100644 index 0000000000000..ebe38959fd178 Binary files /dev/null and b/images/2026-01/lilygo_tdisplayp4.png differ diff --git a/images/2026-01/luma.jpg b/images/2026-01/luma.jpg new file mode 100644 index 0000000000000..8533af8cb2764 Binary files /dev/null and b/images/2026-01/luma.jpg differ diff --git a/images/2026-01/m5sticks3.png b/images/2026-01/m5sticks3.png new file mode 100644 index 0000000000000..51e377eb8d8da Binary files /dev/null and b/images/2026-01/m5sticks3.png differ diff --git a/images/2026-01/mant1s_daisy.jpg b/images/2026-01/mant1s_daisy.jpg new file mode 100644 index 0000000000000..5a4f9d22919b4 Binary files /dev/null and b/images/2026-01/mant1s_daisy.jpg differ diff --git a/images/2026-01/micropythonos.png b/images/2026-01/micropythonos.png new file mode 100644 index 0000000000000..1e425ab1e5601 Binary files /dev/null and b/images/2026-01/micropythonos.png differ diff --git a/images/2026-01/micropythonos.png:Zone.Identifier b/images/2026-01/micropythonos.png:Zone.Identifier new file mode 100644 index 0000000000000..a3b565385a340 --- /dev/null +++ b/images/2026-01/micropythonos.png:Zone.Identifier @@ -0,0 +1,4 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=https://fosdem.org/2026/schedule/speaker/thomas_farstrike/ +HostUrl=https://fosdem.org/2026/schedule/speaker/thomas_farstrike/ae9e5b68e27c475d5fce65aa9516bca16a935d561217c81778f800123f9b5e6c.png diff --git a/images/2026-01/midjourney-singingcomputer.png b/images/2026-01/midjourney-singingcomputer.png new file mode 100644 index 0000000000000..22fcdda359885 Binary files /dev/null and b/images/2026-01/midjourney-singingcomputer.png differ diff --git a/images/2026-01/mock-machine.png b/images/2026-01/mock-machine.png new file mode 100644 index 0000000000000..0b8cea69c7673 Binary files /dev/null and b/images/2026-01/mock-machine.png differ diff --git a/images/2026-01/mock-machine.png:Zone.Identifier b/images/2026-01/mock-machine.png:Zone.Identifier new file mode 100644 index 0000000000000..053d1127c2fb0 --- /dev/null +++ b/images/2026-01/mock-machine.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/images/2026-01/nanoh2.png b/images/2026-01/nanoh2.png new file mode 100644 index 0000000000000..860988b3f60bd Binary files /dev/null and b/images/2026-01/nanoh2.png differ diff --git a/images/2026-01/orbigator.png b/images/2026-01/orbigator.png new file mode 100644 index 0000000000000..a31f64beb14bd Binary files /dev/null and b/images/2026-01/orbigator.png differ diff --git a/images/2026-01/pixelpump2.jpg b/images/2026-01/pixelpump2.jpg new file mode 100644 index 0000000000000..86816d3014679 Binary files /dev/null and b/images/2026-01/pixelpump2.jpg differ diff --git a/images/2026-01/pixlpal.jpg b/images/2026-01/pixlpal.jpg new file mode 100644 index 0000000000000..22b604239486a Binary files /dev/null and b/images/2026-01/pixlpal.jpg differ diff --git a/images/2026-01/pixlpal.jpg:Zone.Identifier b/images/2026-01/pixlpal.jpg:Zone.Identifier new file mode 100644 index 0000000000000..1a2ac2ebfe3f6 --- /dev/null +++ b/images/2026-01/pixlpal.jpg:Zone.Identifier @@ -0,0 +1,4 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=https://www.crowdsupply.com/meterbit-cybernetics/pixlpal +HostUrl=https://www.crowdsupply.com/img/a39b/92e8973c-b693-4cee-a856-1b34b0f2a39b/pixlpal-scale-01_jpg_md-xl.jpg diff --git a/images/2026-01/pololu_motoron.jpg b/images/2026-01/pololu_motoron.jpg new file mode 100644 index 0000000000000..61f89bc9fbc85 Binary files /dev/null and b/images/2026-01/pololu_motoron.jpg differ diff --git a/images/2026-01/rnt2025review.png b/images/2026-01/rnt2025review.png new file mode 100644 index 0000000000000..8522abe497817 Binary files /dev/null and b/images/2026-01/rnt2025review.png differ diff --git a/images/2026-01/rnt2025review.png:Zone.Identifier b/images/2026-01/rnt2025review.png:Zone.Identifier new file mode 100644 index 0000000000000..053d1127c2fb0 --- /dev/null +++ b/images/2026-01/rnt2025review.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/images/2026-01/ting.jpg b/images/2026-01/ting.jpg new file mode 100644 index 0000000000000..c4faa0d15dad0 Binary files /dev/null and b/images/2026-01/ting.jpg differ diff --git a/images/2026-01/ting2.png b/images/2026-01/ting2.png new file mode 100644 index 0000000000000..b2efc9bbf6d29 Binary files /dev/null and b/images/2026-01/ting2.png differ diff --git a/images/2026-01/tinycity.png b/images/2026-01/tinycity.png new file mode 100644 index 0000000000000..a5746d9b670b0 Binary files /dev/null and b/images/2026-01/tinycity.png differ diff --git a/images/2026-01/wids.png b/images/2026-01/wids.png new file mode 100644 index 0000000000000..ab0dd7cb666a1 Binary files /dev/null and b/images/2026-01/wids.png differ diff --git a/images/2026-01/wids.png:Zone.Identifier b/images/2026-01/wids.png:Zone.Identifier new file mode 100644 index 0000000000000..053d1127c2fb0 --- /dev/null +++ b/images/2026-01/wids.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/images/logos/mplogo.png b/images/logos/mplogo.png new file mode 100644 index 0000000000000..c32989cd1fca8 Binary files /dev/null and b/images/logos/mplogo.png differ diff --git a/images/micropythonlogo.png b/images/micropythonlogo.png new file mode 100644 index 0000000000000..2b77484488d83 Binary files /dev/null and b/images/micropythonlogo.png differ