Use cases for the LED Matrix module

Considering the Neurodivergent community, timer, task reminders, checklist system, bar scales for performance, time remaining, etc. Basically aids for time-blindess will be very helpful.

4 Likes

Pretty much all of the suggestions here do not fit well enough with the matrix module. Unless everyone is thinking it is that screen that was shown for the exhibition. Matrix is very low resolution.

2 Likes

At least for my part, I figured my ideas would all be one at a time. In other words, only one of those things at a time.

A clock could just be four digits. Maybe two lines of two digits with each digit being 4x5 pixels with a blank line between the digits. There could even be a third pair of characters at the bottom that says AM or PM. Something like that. Really basic. Things like temp, CPU utilization, battery level, etc. would only need to be two or maybe three digits, or a simple, vertical column of “pixels” where all 36 lit was 100%, 18 lit is 50%, etc. I would expect to only show one of those at a time, unless you used vertical columns, one or two “pixels” wide each. You’d have to just know what each line represented as there wouldn’t be room for labels. If you wanted a lot less granularity to the bar graphs, you could make 9 “pixel”, horizontal bars for different things.

A timer could be the same as the clock, 4 digits with hours and minutes or minutes and seconds.

My thought for a pinball game was just two paddles of two or three dots each in the bottom corners, a single dot for the “ball” and maybe one or two different configurations of “boards” that were just a few dots here or there for the ball to bounce off of. No idea how difficult that would be to code or if it could even work. I totally understand if not. But it could fit in the 9x36 pixels.

The audio meter seems a popular suggestion and would work great in that resolution in a number of different forms. I have expensive audio gear with a level meter consisting of a column of approximately 10 LEDs. The matrix modules could be way more detailed. Again, no idea how difficult/possible the actual coding for it would be.

The “Matrix” falling text idea wouldn’t be actual text characters, just dots “raining” down, dimming as they go, etc. It would really just be a simple, raining dot animation.

I have no idea how reasonable or practical these ideas are to implement. I suppose I won’t lose any sleep if none of them happen, lol. But they could all technically work within the 9x36 “resolution” of the matrix.

1 Like

I like all of the ideas posted before, especially system resource graphs, volume display, battery level, and a clock.
Some more ideas:
system temperature readout
weather display (could show a little sun/cloud and a temperature)
a timer (both with a number readout, and just filling in the dots, sort of like a sand timer)
network strength (shown in wifi bars)
A little face that can show expressions and “talk”, like emojis
Blinking notification indicator

Also maybe make it open to custom fields, with a basic gui, so non-programmers like myself can make it show whatever system data we want (such as temperature sensors and frequency readout)

Next level would be making it connect to Home Assistant as a device, so people can leverage HA to integrate and customize it

1 Like

Now that all the reasonable stuff like fan speed, weather, OS boot name, and clocks have been said, how about some charm factor?
How about giving the computer some personality like, eyes that wink every so often or on some action like booting on or deleting a file.

Endless marching sprite, or star effects.

You’ve got mail notification, bouncing retro pixilated mail icon.

Animated Framework logo.

1 Like

Framework logo as PacMan, endlessly ghosts (suspiciously shaped like the Apple logo). :laughing::apple:

5 Likes

For v2: capacitive touch.
So, for example, the volume display level is also the volume control. And the Pomodoro elapsed is also start/pause/stop control. Active workspace status indicator is also the workspace switcher. And so on.

1 Like

When I saw this in the email that got sent out today, I immediately thought they should make a little battleship game that two people with FL16s with matrixes can play! have one side be your board and the other side be your opponent, then make different brightness levels mean different states (boat dot, hit, miss, sunk ship) it might be a little too complex though without color!

1 Like

It is the best option given the limitations. Not a bad one either. These suggestions can be made to work okayish with the matrix, but they would definitely not be considered ideal by any means. An E-Paper display would be far more ideal for most of these use cases/suggestions.

1 Like

Since so much of our lives are web based, it would be an absolute dream if the LEDs could be accessible through Web API so that anyone can have a go at creating such augmented interfaces in ole javascrip - easy to share (just needs a page served over https), and collaborate, and would allow augmenting websites with this extra tiny display (also works with all the game ideas)

While serial API (Web Serial API - Web APIs | MDN) allows better control, it is only available on chrome.

Ideally this could work with web MIDI API (Web MIDI API - Web APIs | MDN) as that one is there on all browsers, and it should be possible to squeeze in access to all 9x34 LEDs through sysex calls, while also having a rudimentary API using the standard note on/cc signals.

You certainly don’t need my help, but just in case, I’d be keen to assist with testing!

Tamagochi ! :star_struck:

4 Likes

I would appreciate a super-simple python API, to set both individual pixels and set scenes with parameters. So I could setup and update progress bars for processing jobs, timers/countdowns, network ping times etc.

2 Likes

Having “pushed” for my own preferences of GPU temps above, I wanted to suggest some more horizontal use cases that could be interesting for others. These are all more simple and realistic, as they rely on everything lighting up at once, so the actual use case that works easiest with the hardware at hand:

  • lamp mode: you know how you sometimes rely on your notebook as light source when in the dark, also during movies? FW16 could by the push of a button just be a perfect lamp (with screen in bright white as well). During a movie night, it could also be your secondary light source at night (movie mode, perhaps adjusted brightness to lighting situation).

  • dimming mode: want to be woken up by a dimming light, but are on travels? No problem, use your favourite notebook. By the push of a button it rests dark over night and then wakes you up like a dimming light, screen used as well, and with two matrix modules. XD

  • notification mode: do you prefer to be absolutely annoyed by your phone while doing other stuff? No problem, just sync your phone with your FW16, and you will get slow dimming notifications via the Matrix modules once you receive a message/phone call/etc.

That’s all so far, but I think the idea of full dimming can be taken further, there should be loads of other good use cases for this. How about a timer and it starts dimming on and off the closer you come to the time, etc…

2 Likes

I would like to second Philam’s suggestions, especially for notification lights. Having the LEDs blink, slowly fade in and out in a wave formation, or display an animation when receiving notifications would be fantastic.
Not sure of the feasibility of being able to have it display different animations or have a different blinking patterns depending on the app giving the notification, but it would be nice.

Or even just having the LEDs passively fading in and out in waves would be neat, just to distinguish the laptop a bit.

1 Like

Thanks, I believe that these use cases are most useful for the hardware at hand, as with the amount of “pixels”/lights, less is more.

In an attempt to answer the Framework staff’s inquiry here, I would like to note that each Matrix module is not a single use tool for information, but a dual-use or even multiple-use tool in itself. What I mean by this is that each matrix (left and right) can be used as an indicator for one measurement (let’s say speaker volume with 50% of lights on for 50% of volume) and at the same time be used for notifications via dimming/flashing (the 50% of lights on would dim/flash for notifications).

Realistically, two types of notifications would be possible: one slow dimming/flashing for notification type 1, and two fast iterations of dimming/flashing one after the other at short interval for notification type 2.

In total, this would mean 6 types of information use cases for two matrix modules installed. For example, you could have time on the left (two numbers, 17 and 38 for 17h38) on the left, and volume on the right (let’s say 50% on for 50% volume level). At the same time you could have slow dimming for receiving a sms and twice fast dimming for battery level below certain level as you are on the go.

Another use case for a gamer: GPU temps on the right and VRam usage on the left, and notifications for new Discord message received, or new friend joining a specific app you are on.

Of course, you can tune this down to just one measurement and one notification for both matrix modules. Some may say that this use case is simplistic, but one should not underestimate the matrix modules even in this use case as information tools. If you get used to it, 6 different types of notifications/measurement combined is quite good. And getting used to it will not take too much time, apple users also get used to all kinds of specific finger inputs for their trackpad fast. This can be quite a serious way of getting the most out of the notebook and allow to turn off/replace for example some in-game notifications that may annoy you in the middle of playing.

PS: final point is of course, you can dominate your local Starbucks if this is something you like, by saying that yes, your transforming notebook from the future is also going in disco mode because “I need it for work” :wink:

2 Likes

Ideally, Framework could design a software element somewhere to let you choose certain measurements/notifications. I think they already have pretty great menus/software when you assemble the notebook, so something similar for the matrix modules would not be an issue.

Due to the display being such low resolution, there can’t be any complex data shown. Thus, it would make sense to only have a basic application that allows to script, maybe using Lua? This would allow having a very low-power, and resource-usage, daemon that sends information to the display without having to invoke a whole javascript engine. The module is connected over USB and has a USB CDC-ACM serial interface, so this application could control it over this interface, as done directly in the shared page using Python.
But i guess some people prefer javascript, so something could always be made using the Web Serial API.

When I proposed the idea of bar graphs i was originally thinking in terms of 9 bars each of full height, but I do like the idea of limiting the bars to say 20 or 25 pixels, with a clock at the top - or bottom, depending on the users preference.

As to which bar represents what I am thinking this would be configurable, so if someone was happy with a single bar for CPU, with others for network, disk battery, VU meter etc, then they can configure it that way, and the configuration would include which bar represented what. Similarly if someone wanted a bar per processor thread, then they could have it that way. If someone want 5 bars for surround sound sound, then fine, they can configure it like that.

This does seem to me to be a viable use for the LED matrix. I might have to order one when my machine gets to ship.

I’ve thought of another use for a bar, showing either how far it is through a tune or an album, or how long a tune or album has to run - again configurable to use either way.

I find it useful to know how far through a podcast I am to decide if I’m close enough to the end to let it finish before getting a drink, or to pause it and get it now.