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

https://www.youtube.com/watch?v=2H1JJJihsQ0
Ingredient Amount
salted butter (softened) 1/2 cup
powdered sugar 3 cup
almond extract 1 tsp
milk1-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.

Auto location on OpenStreetMap in Firefox

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.