Crumbl Cookies
Going off-the-grid with an add-on for the Star Labs StarBook – and pretty much every other laptop – that adds situational awareness through various sensors and removes the need for privacy-invasive cloud services for things like GPS positioning and current temperature.

Sugar Cookie
Ingredient | Amount |
---|---|
salted butter | 1 cup |
granulated sugar | 1 cup |
eggs | 2 |
vanilla extract | 1 tsp |
almond extract | 1/2 tsp |
all purpose flour | 3 cups |
baking powder | 2 tsp |
Sweet Almond Icing
Ingredient | Amount |
---|---|
salted butter (softened) | 1/2 cup |
powdered sugar | 3 cup |
almond extract | 1 tsp |
milk | https://www.youtube.com/watch?v=2H1JJJihsQ01-3 Tbs |
neon pink food coloring (optional) | 4 drops |
starshieldd
The starshieldd
is the Starshield daemon, which communicates with the Arduino
board and serves the data in more usable JSON formats through different HTTP
APIs. Its main API simply outputs all the values as JSON object and is used by
the Waybar script. It’s secondary API implements the geo provider API used by
Firefox and replies with GPS data.
Waybar

I wrote a small script that I run as a custom Waybar module, which queries the
starshieldd
and displays the current environmental readings on my menubar. The
script will work regardless of whether the Starshield is connected or whether
the starshieldd
is running, as it will simply output zero values if either of
that should be the case.
GPS

It is possible to make use of the GPS data provided by the Starshield through
the use of starshieldd
as geo provider. In Firefox/Firefox-based browsers,
visit about:config
and search for geo.provider.network.url
. Change the value
of the setting to http://127.0.0.1:3232/location
. Make sure that geo.enabled
is set to true
. All the other settings don’t matter to much, because the
Starshield daemon won’t care about the clues that Firefox sends, as it solely
returns GPS data from the integrated GPS module.

It is also possible to use Mepo, by modifying its
user pin script so that it makes use of the same geo
provider API that is available to Firefox. Hopefully at some point
Organic Maps will become available through Gentoo portage, at which
point it makes sense to look into how its requesting GPS data and how
starshieldd
can be integrated to provide that data.
Why not use gpsd
?
Because gpsd has proven to be super unreliable during my initial tests when
directly feeding it the NMEA data from this specific GPS module, as well as two
other u-blox modules, with crashes occurring on a regular basis. Besides it
would have greatly increased the complexity of implementing the Starshield, as
well as the starshieldd
, as it’s not easily possible to stream and receive
data alongside of NMEA over a single USB connection.
Sources
You can find the STLs for the case, as well as the source code for Arduino and the Waybar script here. The sources for the daemon (written in Go) can be found here. An example of how I run the daemon can be found in my dotfiles.

Enjoyed this? Support me via Monero, Bitcoin, Lightning, or Ethereum! More info.