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:

  • 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

Arduino Alvik

  • Comes loaded with MicroPython out of the box
  • Built-in Arduino Nano ESP32, using an 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 serves as a great introduction to how simple computers work.

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

Driving a LEGO car with an Xbox controller

Laurens Valk has showed off driving a remote control car using LEGO Pybricks system attached to an Xbox controller

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
  • Pybricks 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                                      ....

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 do, including adapting the chirp rate depending on the temperature

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

  • YouTube video series on making a robotic insect with a Pimoroni Servo2040, from Make Your Pet
  • Lots of information available, 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 using one of their Ethernet boards to get Telegram messages when your pot plants need to be watered

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 in conjunction with the Raspberry Pi Foundation

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 of the new Bus Pirate 5

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
  • I want one! Seems like it’s US$38, from their website

Electrosmith Daisy Seed

The Daisy is an embedded system geared towards making music

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

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

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

  • 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
  • Only US$5.99 from their online shop

Closing Thought

From @markb139 on X:

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

Written on February 28, 2024