Author: Andrew Smith

  • Painting of Russet Lake

    Painting of Fissile Mountain and Russet lake

    Summer in Garibaldi Provincial Park, British Columbia, is a breathtaking experience, where the natural world is alive with vibrant colours and serene beauty. One of the most stunning scenes unfolds at Russet Lake, where the iconic Fissile Mountain is mirrored perfectly in the still waters, creating a picturesque reflection that captures the heart of the alpine landscape.

    In this alpine paradise, time seems to slow down, allowing for a deep appreciation of the natural beauty that surrounds you. The reflection of Fissile Mountain in Russet Lake painting is framed in Western Red Cedar which is a perfect encapsulation of the season’s warmth and splendor in the heart of Garibaldi Park.

    Russet Lake by Andrew Smith
    Acrylic on canvas
    Framed by artist
    20 x 24 in
    $5900

  • Blender Title Animation (Sound On)

    80’s Logo inspired by PBS WGBH Boston Station Identification
  • RGB Input Range Sliders

    0 20 0

    A fun little challenge to myself this week was putting together these HTML input range type sliders to control the color of an LED.
    Each color channel change triggers an update to read the value, convert it to a hex code (eg. #FF0000), update the output element value, and finally update the color picker swatch. The color input can also be used as a standard color picker. When a color is selected and the user clicks off the picker, the three sliders get updated appropriately.

    Now, input range type sliders have been notoriously difficult to style in the past and I’ll admit I’m running this on Chrome only for myself.
    As these sliders in Chrome are normally blue I only needed to style two simply with accent-color: red;accent-color: green;

    On my local network I’m running a webserver on a tiny mircocontroller. When a client posts the form data, the LED on the ESP32-S3 changes color. That color persists and any new connections open the page with the latest assiged color.

    Adafruit QTPY ESP32-S3

    [EDIT: The slider broke after a browser update. Turns out setting height is now required. The final CSS is:
    input[type="range"] { writing-mode: vertical-lr; direction: rtl; appearance: slider-vertical; height: 6rem; vertical-align: bottom; margin: 1rem 0rem;}]

  • CBC Spark with Nora Young

    Really upset to recently learn that Spark with Nora Young has been cancelled by the CBC, ending in June 2024. (Announcement episode)

    One of the most intelligent, progressive technology-in-society news shows in Canada or anywhere for that matter.
    Perhaps that it’s medium is radio and CBC execs are coached that they should lean elsewhere but this really stings to someone that promoted the values of this public resource. A real loss for Candians and the CBC.

    I’m sure there may be some analytics of podcast downloads or something to back the end of this smart, timely subject matter but what effort was ever used to promote it?

    The content is timeless and I hope it remains available for years to come because of the amazing guest interviews, Thank you and all the best in the future Nora.

  • Matter as a Smart home standard

    Matter is the name of the smart home standard that promises to bridge IOT devices and different home eco-systems. Amazon Alexa, Google Home, Apple Homekit, Samsung SmartThings, etc.

    To prevent 6+ flavours of smart lightbulbs working with 6+ different apps, a standard needed to be found.

    When I first heard about the Matter standard I thought it made sense and decided to test it out. In January 2024 Arduino announced a partnership with SiLabs to produce a Matter enabled board. It uses the same chip as Sparkfun’s Thing Plus Matter – MGM240P – Consider me “on-board”. I bought the Sparkfun board.

    Sparkfun's Thing Plus Matter - MGM240P

    I <3 Sparkfun and their documentation and videos are excellent. However what followed was all new experiences for me, including using SiLabs IDE to Flash and program the device. What, no Arduino or MicroPython? (Turns out there is now an Arduino example.) I eventually kind-of figured out the SiLabs “Simplicy Studio 5” development environment. https://learn.sparkfun.com/tutorials/connecting-thing-plus-matter-to-google-nest-hub

    My idea was that Matter was an open standard and works across home ecosystems. However what followed was Vendor IDs and Product IDs authentication, command line conjuring, and QR code scanning.

    In the end my oringinal Google Home is not a Thread Border Router and not capable of the example. oof.
    However the board is listed as being able to run CircuitPython.
    https://circuitpython.org/board/sparkfun_thing_plus_matter_mgm240p/
    Most of the time this involves clicking a button twice quickly and dragging over a .UF2 file. Not so on the MGM240P
    This article helped me out https://community.silabs.com/s/share/a5U8Y000001a2QoUAI/introducing-circuitpython-support-for-silabs-xg24-boards?language=en_US
    Back to SiLabs Simplicity Studio to install Simplicy Commander Tool, flash the .BIN.
    And after all that, it still does not simply show as a mounted drive like almost all CircuitPython boards. It requires the PIP installed ampy to run .py programs.

    As someone who usually feels quite comfortable with embedded systems, this felt confusing.

    Looks like it will take some time for Matter development to be easier.

    As for now…

    Adafruit CircuitPython 9.0.3 on 2024-04-04; Sparkfun Thing Plus MGM240P with MGM240PB32VNA