StatusNotifierItem: How Standard Non-Standards Tear Linux Desktops Apart

Theoretically when you write a GUI-based application for Linux there are standards to follow, with these all neatly documented over at the Freedesktop website. However, in reality, Freedesktop is more of a loose collection of specifications, some of which are third-party specifications that have somehow become the de facto standard. One example of this is the StatusNotifierItem spec that provides a way for applications to create and manage a ‘system tray’ icon.

This feature is incredibly useful for providing a consistent way to users for quickly accessing functionality and to see application status. Unfortunately, as [Brodie Robertson] notes in a recent video, not everyone agrees with this notion. Despite that Windows since 95 as well as MacOS/OS X and others provide similar functionality, Gnome and other Linux desktop environments oppose such system tray icons (despite a popular extension), with an inevitable discussion on Reddit as a result.

Although the StatusNotifierItem specification is listed on the Freedesktop website, it’s under ‘Draft specifications’ along with another, apparently internal-but-unfinished System tray proposal. Meanwhile DEs like KDE have integrated first-party support (KStatusNotifierItem) for the specification. There’s currently an active Freedesktop Gitlab discussion on the topic, whether StatusNotifierItem should even be in the list, or become an approved specification.

With the specification mired in bureaucracy and multiple camps pushing their own idea of what ‘the Linux desktop’ should look like, it feels like a real shame that the Linux Standard Base effort died a decade ago. Users and developers just want their desktop environment to come with zero surprises, after all.

Continue reading “StatusNotifierItem: How Standard Non-Standards Tear Linux Desktops Apart”

Snail Mail Notifier’s Simple Power Management To Maximize Battery Life

There are no weird, specialized components nor esoteric sleep mode tricks behind the long battery life of [Zak]’s WiFi mail slot watcher. Just some sensible design and clever focus on the device’s purpose: to send an HTTP request whenever it detects that the front door’s mail slot has been opened. The HTTP request is what kicks off useful notifications, but it’s the hardware design that’s really worth a peek.

The watcher’s main components are a ESP-M2 WiFi module, a reed switch, and a single lithium cell. Here’s how it works at a high level: when the mail slot is opened (detected by the reed switch), the ESP module is powered up just long enough to connect to the local WiFi network and send a single HTTP request, after which it shuts back down. The whole process takes between four and ten seconds.

As mentioned, the power control isn’t managed by any unusual components; it comes down to a NAND gate with a single inverted input, and a MIC5504 3.3 V regulator responsible for feeding the ESP board. The logic gate controls whether the voltage regulator is enabled or disabled, and therefore whether the microcontroller receives any power at all. Most of the time the regulator is disabled, but when the reed switch triggers, its input to the NAND gate is pulled low and the regulator is turned on, booting up the ESP board.

In order to stay on, the first thing the ESP board does is use a GPIO pin to drive the inverted input of the NAND gate high in order to keep the regulator enabled, and it has a window of about half a second to do this. Once the HTTP request is sent (and the battery voltage sensed), the ESP board pulls that pin low, disabling the regulator and turning itself off until the reed switch once again begins the process.

After seven months of use, the battery has dropped from 4.2 V to 3.9 V, so there’s plenty of life left. The project’s GitHub repository has the necessary code if you’d like to apply some of its ideas to your own projects. Alternately, you may wish to consider supercapacitors and solar in lieu of batteries. Even if ultra-level power savings isn’t your bag, when WiFi and networking is involved, there are software-level opportunities to be more efficient. Even a judicious 1 ms delay can save a surprising amount of power in the right circumstances.

A clock with a VFD display in an orange TV-like case

Never Miss An Email With This 1970s Style Desktop Notifier

If you like the 1970s aesthetic but think bell-bottoms, big hair and psychedelic wallpaper are a bit too much in this day and age, you might want to have a look at [Pierre Muth]’s latest build, The Absurd Notifier. It’s a useful desk accessory that adds just a little bit of ’70s flair to your office: housed inside what looks like an orange TV standing on shiny metal feet is a little gadget that can tell you if you’ve got important email messages waiting or an appointment coming up.

[Pierre] built the system around a Garmin Vivosmart 3 smartwatch that he bought very cheaply because it had a broken display. The display’s pinout and protocol were of course undocumented, so [Pierre] hooked up his logic analyzer to try and figure out how it worked. It turned out to be a simple SPI setup, and with a bit of trial and error he was able to extract the images that the watch was sending out.

To replace the broken screen, [Pierre] turned to some 128×64 pixel VFD displays that he had left over from an earlier project. Their resolution was exactly the same as the Garmin’s original OLED display, but their interface wasn’t: the VFDs expected 115k2 serial data. Programming a PIC microcontroller with an SPI port on one side and a UART port on the other made for a simple bridge between the two.

[Pierre] then designed and 3D printed a case reminiscent of a 1970s TV, with matching bright orange color. The end result is a funky little retro clock that shows notifications on a vintage green display. If you like desktop notifiers, we seen several neat ones alerting their owners about things ranging from new YouTube subscribers to the ISS passing by.

Continue reading “Never Miss An Email With This 1970s Style Desktop Notifier”

Never Miss A Doorbell With This Notifier

[PatH] tells us that he tragically missed a craft beer delivery to his home, and vowed never to let this happen again. His problem was that he’d missed the doorbell, resulting in one of those annoying notes from the delivery guy. His solution? An ESP8266-driven doorbell detector, that both sends him an SMS and records each doorbell press to a Google Sheet.

The doorbell detection is surprising but simple and non-intrusive, instead of running a GPIO line through some kind of interface to the button itself he’s added a reed switch to his ESP8266 board and used that to detect the magnetic field of the bell solenoids. It’s a convenient method, but one that only works with an old-style bell.

When the bell rings the magnetic field triggers the reed switch, and in turn the sketch running on the ESP calls out to IFTTT which triggers both an SMS and a write to a Google Sheets document that records each doorbell activation.

The ESP8266 seems to be a popular choice with doorbell automatprs probably because of its built-in networking and low price, but it’s not the only option. This optocoupler-sensed effort for example uses a Particle Xenon.

A Battery Sipping Cellular Mailbox Notifier

Like many of us, [Zak Kemble] has an indeterminate number of tiny packages coming his way from all over the globe at any given time. Unfortunately, the somewhat unpredictable nature of the postal service where he lives meant he found himself making a lot of wasted trips out to the mailbox to see if any overseas treasures had arrived for him. To solve the problem, he decided to build an Internet-connected mailbox notification system that could work within some fairly specific parameters.

For one thing, the mailbox is too distant to connect directly to it over WiFi. [Zak] mentions that 433 MHz might have been an option, but he decided to skip that entirely and just connect it to the cellular network with an A9G GPRS/GSM module from A.I. Thinker. This device actually has its own SDK that allows you to create a custom firmware for it, but unfortunately the high energy consumption of the radio meant it would chew through batteries too quickly unless it had a little extra help.

Not wanting to have to change the batteries every couple months, [Zak] added a ATtiny402 to handle the notifier’s power management needs. By using a P-MOSFET to completely cut power to the A9G, the notifier can save an incredible amount of energy by only activating the cellular connection once it actually needs to send a notification; which in this case takes the form of an HTTP request that eventually works its way to a Telegram group chat.

To cut a long story short, testing seems to indicate that the notifier can fire off approximately 800 requests before needing its 10440 lithium battery recharged. Given how often [Zak] usually receives mail, he says that should last him around five years.

The A9G module, the ATtiny402, a BME280 environmental sensor (because, why not?), the battery, and all the ancillary support hardware are on a very professional looking PCB. That goes into a relatively rugged enclosure that’s designed to keep the electronics from shorting out on the mailbox’s metal case as well as keeping any particularly weighty parcels from crushing it.

If you’ve got the freedom so mount whatever you want outside, then you can certainly build a more technically impressive mailbox. But considering the limitations [Zak] had to work around, we think he did an excellent job.

An Optocoupler Doorbell Notifier

Over the years we’ve seen several attempts at adding Internet connectivity to the lowly wired doorbell. Generally, these projects aim to piggyback on the existing wiring, bells, and buttons rather than replace them entirely. Which invariably means at some point the AC wiring is going to need to interface with a DC microcontroller. This is often where things get interesting, as it seems everyone has a different idea on how best to bridge these two systems.

That’s the point where [Ben Brooks] found himself not so long ago. While researching the best way to tap into the 20 VAC pumping through his doorbells, he found a forum post where somebody was experimenting with optocouplers. As is unfortunately so often the case, the forum thread never really had a conclusion, and it wasn’t clear if the original poster ever figured it out.

DIY optocouplers wrapped in electrical tape

[Ben] liked the idea though, so he thought he would give it a shot. But before investing in real optocouplers, he created his own DIY versions to use as a proof of concept. He put a standard LED and photoresistor together with a bit of black tape, and connected the LED to the doorbell line with a resistor. Running the LED on 60 Hz AC meant it was flickering rapidly, but for the purposes of detecting if there was voltage on the line, it worked perfectly.

Wanting somethingĀ slightly more professional for the final product, [Ben] eventually evolved his proof of concept to include a pair of 4N35s, a custom PCB, and a 3D printed enclosure. Powered by a Particle Xenon, the device uses IFTTT to fire off smartphone notifications and blink the lights in the house whenever somebody pushes the bell.

If you’re still wondering why it’s so tricky to connect a microcontroller up to your door bell, a quick look at some of the similar projects we’ve covered should give you a pretty good idea of how annoying these systems can be to modernize.

A Wearable Space Station Notifier

If you don’t live in northern Europe, Alaska, or the extreme southern part of South America, there’s a 400-ton, $150 Billion space station flying over your head several times a day. It’s the International Space Station, and it’s the most complex and expensive construction project of all time. Look up at the right time, and you can see a point of light rising in the sky, brighter than any star, darting across to the opposite horizon.

ISS-Above is a simple tool that will tell you when you’ll be able to see the ISS passing overhead next, and the creator of the project, [Liam Kennedy] has a new crowdfunding project to turn this space station notifier into a wearable. It’s called the Pulsar, and with the help of an RFduino and a real time clock, it will alert you to an upcoming station pass with a bit of wearable electronics.

ISS
Viewing the ISS at the most recent Hackaday Pasadena Meetup.

The ISS-Above is a great device to keep tabs on the six astronauts currently orbiting our globe, but if you want to see the space station rise over the horizon… well, lugging a Raspi and an HDMI monitor outside isn’tĀ the best solution. The Pulsar is a tiny wearable board with a ring of LEDs programmed with 50 future passes of the space station. When the station is overhead, the LEDs light up, and a bright object appears over the western horizon.

[Liam] brought his Pulsar to the most recent Hackaday Pasadena meetup, and as his wearable LEDs lit up, the ISS appeared right on cue. The evening was only tainted by a crazy lady who decided to argue the existence of the International Space Station.

Video below.

Continue reading “A Wearable Space Station Notifier”