<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <title>rothw.com</title>
    <link href="https://rothw.pages.dev/feed.xml" rel="self" />
    <link href="https://rothw.pages.dev" />
    <updated>2026-07-07T22:36:27-07:00</updated>
    <author>
        <name>Roth W</name>
    </author>
    <id>https://rothw.pages.dev</id>

    <entry>
        <title>Converting Equations to Images</title>
        <author>
            <name>Roth W</name>
        </author>
        <link href="https://rothw.pages.dev/equations-to-images.html"/>
        <id>https://rothw.pages.dev/equations-to-images.html</id>
        <media:content url="https://rothw.pages.dev/media/posts/9/pdflatex.png" medium="image" />

        <updated>2021-09-18T21:00:00-07:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://rothw.pages.dev/media/posts/9/pdflatex.png" alt="" />
                    Background There are a few options for inserting equations into a website.
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://rothw.pages.dev/media/posts/9/pdflatex.png" class="type:primaryImage" alt="" /></p>
                <h2>Background</h2>
<p>There are a few options for inserting equations into a website.</p>
<p>The easiest is a plugin that generates equations based on inline LaTeX/TeX. These load rendering scripts when a user visits the website, which isn’t fast since the user has to both download the scripts and render the equations. Having additional plugins or external scripts also has potential security issues. Examples of this approach are <a href="https://wordpress.org/plugins/katex/" target="_blank" rel="noreferrer noopener">KaTeX</a>, <a href="https://wordpress.org/plugins/simple-mathjax/" target="_blank" rel="noreferrer noopener">Simple Mathjax</a>, and <a href="https://wordpress.org/plugins/wp-katex/" target="_blank" rel="noreferrer noopener">WP-KaTeX</a>.</p>
<p>Another option is to use a plugin that pre-generates images such as <a rel="noreferrer noopener" href="https://wordpress.org/plugins/wp-quicklatex/" target="_blank">WP QuickLaTeX</a>. This plugin uses a remote server for processing the equations. By default, the images are hosted there as well, but by changing a few setting they can be cached locally. Also be aware of the license, “QuickLaTeX.com is a linkware, free for personal and non-commercial use in exchange to backlink”.</p>
<p>The more manual but configurable option is to generate images locally using tools then uploading them, which will be covered below.</p>
<h2>Sample TeX</h2>
<pre class="language-latex"><code>\documentclass{article}
\usepackage{amsmath}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{equation*}

\begin{document}

\Large

\[
t=
\dfrac{\text{capacity (Ah)}}{\text{current (A)}} *
\dfrac{\text{1 day}}{\text{24 hours}} *
\dfrac{\text{1 year}}{\text{365 days}}
\]

\[
t =
\dfrac{\text{capacity (Ah)}}{\text{current (A)}} *
\dfrac{\text{1 yr}}{\text{8760 h}}
\]

\[
t =
\dfrac{235*10^{-3}}{0.3*10^{-6}*8760} =
89.4 \text{ years}
\]

\end{document}</code></pre>
<p>Above was saved as all_equations.tex</p>
<h2>TeX to PDF</h2>
<pre class="language-bash"><code>sudo apt install texlive-latex-base texlive-latex-recommended preview-latex-style

mkdir -p pdf

pdflatex -output-directory=pdf all_equations.tex</code></pre>
<p>Creates all_equations.pdf (along with log and aux files)</p>
<p>Project Website: <a href="https://www.tug.org/texlive/" target="_blank" rel="noreferrer noopener">TeX Live</a></p>
<h2>PDF to SVG</h2>
<pre class="language-bash"><code>sudo apt install pdf2svg

mkdir -p svg_orig

pdf2svg pdf/all_equations.pdf svg_orig/equation-%02d.svg all</code></pre>
<p>Creates a separate equation-##.svg for each equation</p>
<p>Change 02 to zero pad a different amount</p>
<p>Equations are not cropped to content</p>
<p>Project Website: <a href="http://cityinthesky.co.uk/opensource/pdf2svg/" target="_blank" rel="noreferrer noopener">PDF2SVG</a></p>
<h2>Crop SVG</h2>
<pre class="language-bash"><code>sudo apt install inkscape

inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose svg_orig/*.svg</code></pre>
<p>Opens each equation in the Inkscape GUI, takes about 3 seconds per equation. Errors out on “New document 1” at the end with inkscape 0.92.4-3.</p>
<p>Had cropping issues with inkscape when using \LARGE in the TeX. The PDF looked good, so it must be an bug with inkscape.</p>
<p>Project Website: <a href="https://inkscape.org/" target="_blank" rel="noreferrer noopener">Inkscape</a></p>
<h2>Note about Mobile</h2>
<p>PNG images converted from the SVG files generated above look great on a desktop, but are blurry on mobile. The width varied between 142-345 pixels and height varied between 13-47 pixels.</p>
<p>One solution is to generate images 200% bigger and display them at 50%. Using this method increases the file size, but looks great on both mobile and desktop. The width varied between 266-648 pixels and height varied between 26-88 pixels.</p>
<h2>SVG to 200% SVG</h2>
<pre class="language-bash"><code>sudo apt install librsvg2-bin

mkdir -p svg

for FILE in svg_orig/*.svg; do rsvg-convert $FILE -o svg/$(basename $FILE) -z 2 -f svg; done</code></pre>
<p>The default format is PNG, so the format option is needed</p>
<p>Project Website: <a rel="noreferrer noopener" href="https://wiki.gnome.org/Projects/LibRsvg" target="_blank">Librsvg</a></p>
<h2>SVG to Optimized/Cleaned SVG</h2>
<pre class="language-bash"><code>sudo apt install python3 python3-pip

pip3 install scour

mkdir -p svg_scour

for FILE in svg/*.svg; do scour -i $FILE -o svg_scour/$(basename $FILE) --enable-viewboxing --enable-id-stripping --enable-comment-stripping --shorten-ids --indent=none; done</code></pre>
<p>Command above uses “maximum scrubbing” settings for scour</p>
<p>Project Website: <a href="https://github.com/scour-project/scour" target="_blank" rel="noreferrer noopener">Scour</a></p>
<h2>SVG to JPG/PNG/WebP</h2>
<pre class="language-bash"><code>sudo apt install imagemagick

mkdir -p jpg png webp

for FILE in svg/*.svg; do convert $FILE jpg/$(basename $FILE .svg).jpg; done
for FILE in svg/*.svg; do convert $FILE png/$(basename $FILE .svg).png; done
for FILE in svg/*.svg; do convert $FILE webp/$(basename $FILE .svg).webp; done</code></pre>
<p>Takes about 1 second per file</p>
<p>Project Website: <a href="https://imagemagick.org/index.php" target="_blank" rel="noreferrer noopener">ImageMagick</a></p>
<h2>PNG to Optimized PNG</h2>
<pre class="language-bash"><code>sudo apt install optipng

mkdir -p png_opt

optipng png/*.png -dir png_opt</code></pre>
<p>For this sample set, -o5 (slow) didn’t reduce the file size at all</p>
<p>Project Website: <a href="http://optipng.sourceforge.net/" target="_blank" rel="noreferrer noopener">OptiPNG</a></p>
<h2>File Sizes</h2>
<p>After converting 26 equations to each file type at both sizes, the results are summarized below.</p>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"><strong>File Type</strong></th>
<th class="has-text-align-left" data-align="left"><strong>100% Size</strong></th>
<th class="has-text-align-left" data-align="left"><strong>200% Size</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">SVG</td>
<td class="has-text-align-left" data-align="left">648.4kB</td>
<td class="has-text-align-left" data-align="left">787.0kB</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">SVG (Scour)</td>
<td class="has-text-align-left" data-align="left">362.9kB</td>
<td class="has-text-align-left" data-align="left">432.9kB</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">JPG</td>
<td class="has-text-align-left" data-align="left">105.0kB</td>
<td class="has-text-align-left" data-align="left">236.4kB</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">PNG</td>
<td class="has-text-align-left" data-align="left">67.0kB</td>
<td class="has-text-align-left" data-align="left">140.7kB</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">PNG (Optimized)</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">126.4kB</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">WebP</td>
<td class="has-text-align-left" data-align="left">47.2kB</td>
<td class="has-text-align-left" data-align="left">92.0kB</td>
</tr>
</tbody>
</table>
</figure>
<p>SVG has lossless scalable text, but is the largest size.</p>
<p>JPG has great compatibility, but is larger than PNG in this scenario.</p>
<p>PNG is a great compromise between size and compatibility.</p>
<p>WebP is the smallest, but might have compatibility issues.</p>
<h2>Script</h2>
<p>Converts a TeX file to optimized PNG files.</p>
<pre class="language-bash"><code>IN_FILE=all_equations.tex
OUT_FORMAT=equation-%02d

mkdir -p pdf

pdflatex -output-directory=pdf $IN_FILE

mkdir -p svg_orig

pdf2svg pdf/$(basename $IN_FILE .tex).pdf svg_orig/$OUT_FORMAT.svg all

inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileClose svg_orig/*.svg

mkdir -p svg

for FILE in svg_orig/*.svg; do rsvg-convert $FILE -o svg/$(basename $FILE) -z 2 -f svg; done

mkdir -p png

for FILE in svg/*.svg; do convert $FILE png/$(basename $FILE .svg).png; done

mkdir -p png_opt

optipng png/*.png -dir png_opt</code></pre>
            ]]>
        </content>
    </entry>
    <entry>
        <title>N64 Memory: Battery Backed SRAM</title>
        <author>
            <name>Roth W</name>
        </author>
        <link href="https://rothw.pages.dev/n64-memory.html"/>
        <id>https://rothw.pages.dev/n64-memory.html</id>
        <media:content url="https://rothw.pages.dev/media/posts/8/n64_2a_sram.jpg" medium="image" />

        <updated>2021-08-31T21:00:00-07:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://rothw.pages.dev/media/posts/8/n64_2a_sram.jpg" alt="" />
                    Background To save progress, the N64 uses either an external Controller Pak&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://rothw.pages.dev/media/posts/8/n64_2a_sram.jpg" class="type:primaryImage" alt="" /></p>
                <h2>Background</h2>
<p>To save progress, the N64 uses either an external Controller Pak or saves directly to the Game Pak. A few games don’t support saving at all.</p>
<p>These save files are stored in memory which can either be volatile or non-volatile. Volatile memory such as SRAM will not retain data when unpowered unless accompanied by a battery backup. Non-volatile memory such as EEPROM or Flash on the other hand will retain data unpowered, typically for many years.</p>
<p>According to <a href="http://micro-64.com/database/gamesave.shtml">Micro-64</a> the Controller Pak uses SRAM and the Game Paks uses either EEPROM, SRAM, or Flash.</p>
<p>EEPROM and Flash typically retain data for over 100 years according to <a href="http://www.mosaic-industries.com/embedded-systems/_media/sbc-single-board-computers/freescale-hcs12-9s12-c-language/mc9s12a512-mc9s12dp512-datasheets/9s12dp512dgv1-mc9s12dp512-device-guide-v01.25.pdf">Motorola</a> and <a href="https://www.microchip.com/design-centers/memory">Microchip</a>.</p>
<p>Data retention for SRAM has a more limited life span since it relies on a battery.</p>
<h2>Controller Pak Memory Swap</h2>
<p>If you plug a Controller Pak in these days, your save files might be corrupted. Let’s disassemble the Controller Pak using a 3.8mm security bit to find out why.</p>
<div class="gallery-wrapper"><div class="gallery" data-is-empty="false" data-translation="Add images" data-columns="3">
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_1a_bits.jpg" data-size="1024x1024"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_1a_bits-thumbnail.jpg" alt="" width="768" height="768"></a>
<figcaption>Security bits</figcaption>
</figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_1b_ext.jpg" data-size="1024x1024"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_1b_ext-thumbnail.jpg" alt="" width="768" height="768"></a>
<figcaption>External</figcaption>
</figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_1c_int.jpg" data-size="1024x1024"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_1c_int-thumbnail.jpg" alt="" width="768" height="768"></a>
<figcaption>Internal</figcaption>
</figure>
</div></div>
<div class="pgc-sgb-cb wp-block-pgcsimplygalleryblock-grid " data-gallery-id="39c23910">
<div class="pgcsimplygalleryblock-grid-collection action-lightbox">
<div class="pgcsimplygalleryblock-grid-content"><span style="font-size: inherit;">The memory soldered on the board is a Toshiba TC55257DFL-85V. Looking at the </span><a href="http://www.datasheetcatalog.com/datasheets_pdf/T/C/5/5/TC55257DFL-85V.shtml" style="font-size: inherit;">datasheet</a><span style="font-size: inherit;">, this is an SRAM that requires 2V minimum for data retention. Hence there’s a CR2032 battery soldered on the other side of the board.</span></div>
</div>
</div>
<p>One option to prolong the life of a Controller Pak would be to just replace the battery, but let’s see if there’s a more permanent solution using non-volatile memory.</p>
<p>Looking at the datasheet again, this SRAM is 256Kbit organized as 32K x 8 in a 28-pin SOP package. The supply voltage was measured to be 3.38V.</p>
<p>After a quick search on DigiKey for non-volatile memory using these parameters, there were only 3 results in a few different package options. We’ll exclude the one EEPROM since the write cycle time is 10ms, which is 10<sup>5</sup> times slower than SRAM or FRAM.</p>
<p>The two FRAM results:</p>
<ul>
<li>Cypress FM18W08-SG</li>
<li>Cypress FM28V020-SG</li>
</ul>
<p>Both datasheets state “SRAM compatible” and “Industry-standard 32K × 8 SRAM pinout”. Data retention is 151 years at 65C. The main difference between the two is supply voltage, 2V-3.6V for the FM18W08-SG and 2.7-5.5V for the FM28V020-SG, so either should work. Old stock might be labeled Ramtron since they were acquired by Cypress in 2012.</p>
<p>The SRAM can be removed with a heat gun, masking off the surrounding components with Kapton tape is recommended. Next, the pads can be cleaned with solder braid before soldering the FRAM, a Ramtron FM28V020-SG in this case. Finally, the battery can be removed using a solder sucker since it’s no longer needed.</p>
<div class="gallery-wrapper"><div class="gallery" data-is-empty="false" data-translation="Add images" data-columns="3">
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_2a_sram.jpg" data-size="1024x1024"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_2a_sram-thumbnail.jpg" alt="" width="768" height="768"></a>
<figcaption>SRAM and battery removed</figcaption>
</figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_2b_fram.jpg" data-size="1024x1024"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_2b_fram-thumbnail.jpg" alt="" width="768" height="768"></a>
<figcaption>FRAM soldered</figcaption>
</figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_2c_zoom.jpg" data-size="1024x1024"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_2c_zoom-thumbnail.jpg" alt="" width="768" height="768"></a>
<figcaption>Checking solder</figcaption>
</figure>
</div></div>
<figure class="wp-block-table is-style-regular"></figure>
<div class="pgc-sgb-cb wp-block-pgcsimplygalleryblock-grid " data-gallery-id="ca323912">
<div class="pgcsimplygalleryblock-grid-collection action-lightbox">
<div class="pgcsimplygalleryblock-grid-content">
<div class="pgcsimplygalleryblock-grid-item pgc-image" data-id="623">
<div class="pgcsimplygalleryblock-grid-main-wrap pgc-image" data-index="0">
<div class="pgcsimplygalleryblock-grid-item-wrap">
<p>Most games that use the Controller Pak will identify the new memory as corrupted and ask to repair. After repairing, everything works as it should.</p>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"><strong>Item</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Cost</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Controller Pak</td>
<td class="has-text-align-left" data-align="left">$7</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">FRAM (Package of 2)</td>
<td class="has-text-align-left" data-align="left">$11</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Security Bits</td>
<td class="has-text-align-left" data-align="left">$3</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$21</strong></td>
</tr>
</tbody>
</table>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
<figure class="wp-block-table is-style-regular"></figure>
<h2>Battery Life Calculations</h2>
<p>We now have a solution that lasts more than a lifetime. Out of curiosity, let’s find out how long the battery backup solution should last.</p>
<p>Looking at a few CR2032 datasheets:</p>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"><strong>Brand</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Nominal</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Capacity</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Self-Discharge</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Maxell</td>
<td class="has-text-align-left" data-align="left">3V</td>
<td class="has-text-align-left" data-align="left">220mAh</td>
<td class="has-text-align-left" data-align="left">~1%/year</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Energizer</td>
<td class="has-text-align-left" data-align="left">3V</td>
<td class="has-text-align-left" data-align="left">235mAh</td>
<td class="has-text-align-left" data-align="left">~1%/year</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Omnergy</td>
<td class="has-text-align-left" data-align="left">3V</td>
<td class="has-text-align-left" data-align="left">210mAh</td>
<td class="has-text-align-left" data-align="left">&lt;2%/year</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Varta</td>
<td class="has-text-align-left" data-align="left">3V</td>
<td class="has-text-align-left" data-align="left">230mAh</td>
<td class="has-text-align-left" data-align="left">&lt;1%/year</td>
</tr>
</tbody>
</table>
</figure>
<p>Graphs from the datasheet:</p>
<div class="gallery-wrapper"><div class="gallery" data-is-empty="false" data-translation="Add images" data-columns="3">
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/CR2032_Discharge_Padded.png" data-size="994x662"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/CR2032_Discharge_Padded-thumbnail.png" alt="" width="768" height="511"></a></figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/CR2032_Pulse_Padded.png" data-size="994x662"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/CR2032_Pulse_Padded-thumbnail.png" alt="" width="768" height="511"></a></figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/CR2032_Temp_Padded.png" data-size="994x662"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/CR2032_Temp_Padded-thumbnail.png" alt="" width="768" height="511"></a></figure>
</div></div>
<div class="pgc-sgb-cb wp-block-pgcsimplygalleryblock-grid " data-gallery-id="cde23916">
<div class="pgcsimplygalleryblock-grid-collection action-lightbox">
<div class="pgcsimplygalleryblock-grid-content">
<div class="pgcsimplygalleryblock-grid-item pgc-image" data-id="442">
<div class="pgcsimplygalleryblock-grid-main-wrap pgc-image" data-index="0">
<div class="pgcsimplygalleryblock-grid-item-wrap">
<div class="pgcsimplygalleryblock-grid-item-hover"><span style="font-size: inherit;">Conveniently and probably uncoincidentally, the CR2032 battery capacity is measured until the voltage drops to 2V, which is the same as the SRAM minimum data retention voltage.</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>The battery will be drained by the SRAM, but also from self-discharge. Let’s look at these two factors individually and then combined.</p>
<h3>SRAM Standby</h3>
<p>The SRAM datasheet shows 0.3uA typical and 2uA maximum standby current for 3V at 25C.</p>
<p>A capacity of 235mAh will be used since 220mAh is for a nominal discharge current of 0.2mA (200uA) which is much higher than this application. This is approximately where the “1 Mohm continuous” line intersects 2V on the Pulse Discharge Characteristics graph (1 Mohm is 2-3uA at 2-3V respectively, which is much closer to the standby current).</p>
<p>Formula for time in years</p>
<div class="is-layout-flex wp-container-2 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized post__image"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/n64-eq_01.png" alt="" width="309" height="42" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_01-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_01-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_01-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_01-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Combining</p>
<div class="is-layout-flex wp-container-4 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized post__image"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_02.png" alt="" width="208" height="42" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting and solving with typical standby current</p>
<div class="is-layout-flex wp-container-6 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_03.png" alt="" width="257" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_03-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_03-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_03-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_03-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting and solving with maximum standby current</p>
<div class="is-layout-flex wp-container-8 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_04.png" alt="" width="244" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_04-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_04-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_04-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_04-lg.png 1024w"></figure>
</div>
</div>
</div>
<h3>Battery Self-Discharge</h3>
<p>The CR2032 that was removed is a Maxell, so we’ll use a self-discharge rate of 1% per year in future calculations.</p>
<p>Assuming linear rate since it wasn’t specified</p>
<div class="is-layout-flex wp-container-10 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_05.png" alt="" width="281" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_05-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_05-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_05-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_05-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting and solving for current</p>
<div class="is-layout-flex wp-container-12 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_06.png" alt="" width="235" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_06-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_06-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_06-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_06-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting and solving for self-discharge time</p>
<div class="is-layout-flex wp-container-14 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_07.png" alt="" width="266" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_07-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_07-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_07-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_07-lg.png 1024w"></figure>
</div>
</div>
</div>
<h3>Combining Standby and Self-Discharge</h3>
<p>Substituting and solving for typical standby current and self-discharge</p>
<div class="is-layout-flex wp-container-16 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_08.png" alt="" width="324" height="44" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_08-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_08-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_08-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_08-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting and solving for maximum standby current and self-discharge</p>
<div class="is-layout-flex wp-container-18 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_09.png" alt="" width="310" height="44" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_09-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_09-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_09-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_09-lg.png 1024w"></figure>
</div>
</div>
</div>
<h2>Controller Pak</h2>
<p>Since we have an actual data point, let’s see how close it matches the calculations.</p>
<p>The battery measured 2.88V unloaded. A battery should be loaded for an accurate measurement. For a pulse measurement, the datasheet uses a 300 ohm resistor for 5 seconds. The battery measured 2.51V after applying the pulse load.</p>
<p>The CR2032 that was removed has a date code that’s 21 years and 9 months old (21.75 years). Using the 1Mohm line on the Pulse Discharge Characteristic graph since it’s the lowest current draw (3uA at 3V) shows that at 2.5V it has consumed about 230mAh.</p>
<h3>Current Draw</h3>
<p>Determining the current using the previous formula</p>
<div class="is-layout-flex wp-container-20 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_02.png" alt="" width="208" height="42" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting 230mAh at 2.5V, since it’s close enough to the measured 2.51V</p>
<div class="is-layout-flex wp-container-22 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_11.png" alt="" width="142" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_11-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_11-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_11-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_11-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Isolating and solving</p>
<div class="is-layout-flex wp-container-24 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_12.png" alt="" width="202" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_12-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_12-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_12-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_12-lg.png 1024w"></figure>
</div>
</div>
</div>
<h3>Battery Life</h3>
<p>Next let’s determine how much capacity is left until the battery reaches 2V.</p>
<p>We’ll use the 1Mohm line on the Pulse Discharge Characteristic graph again. The plot seems to drop somewhat linearly after 2.6V, so let’s approximate the slope:</p>
<div class="is-layout-flex wp-container-26 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_13.png" alt="" width="279" height="38" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_13-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_13-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_13-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_13-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Determining the capacity remaining from 2.51V to 2V</p>
<div class="is-layout-flex wp-container-28 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_14.png" alt="" width="202" height="38" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_14-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_14-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_14-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_14-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Using the same formula again</p>
<div class="is-layout-flex wp-container-30 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_02.png" alt="" width="208" height="42" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Using the previously calculated current and capacity remaining</p>
<div class="is-layout-flex wp-container-32 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_16.png" alt="" width="266" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_16-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_16-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_16-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_16-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Adding the elapsed time to the estimated time remaining for the total life</p>
<div class="is-layout-flex wp-container-34 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_17.png" alt="" width="200" height="16" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_17-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_17-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_17-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_17-lg.png 1024w"></figure>
</div>
</div>
</div>
<h2>Game Pak</h2>
<p>Let’s disassemble a Game Pak that uses an internal SRAM.</p>
<div class="gallery-wrapper"><div class="gallery" data-is-empty="false" data-translation="Add images" data-columns="3">
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_3a_front.jpg" data-size="1024x768"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_3a_front-thumbnail.jpg" alt="" width="768" height="576"></a>
<figcaption>Front</figcaption>
</figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_3b_back.jpg" data-size="1024x768"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_3b_back-thumbnail.jpg" alt="" width="768" height="576"></a>
<figcaption>Back</figcaption>
</figure>
<figure class="gallery__item"><a href="https://rothw.pages.dev/media/posts/8/gallery/n64_3c_inside.jpg" data-size="1024x768"><img loading="lazy" src="https://rothw.pages.dev/media/posts/8/gallery/n64_3c_inside-thumbnail.jpg" alt="" width="768" height="576"></a>
<figcaption>Inside</figcaption>
</figure>
</div></div>
<div class="pgc-sgb-cb wp-block-pgcsimplygalleryblock-grid " data-gallery-id="8b123933">
<div class="pgcsimplygalleryblock-grid-collection action-lightbox">
<div class="pgcsimplygalleryblock-grid-content">
<div class="pgcsimplygalleryblock-grid-item pgc-image" data-id="628">
<div class="pgcsimplygalleryblock-grid-main-wrap pgc-image" data-index="0">
<div class="pgcsimplygalleryblock-grid-item-wrap"><span style="font-size: inherit;">The memory can be identified as Sharp LH52V246A. Unfourtunately no datasheet could be found after an hour or two of searching.</span></div>
</div>
</div>
</div>
</div>
</div>
<p>The battery measured 2.94V unloaded and 2.32V after applying the pulse load. Note that the unloaded voltage measured higher than the Controller Pak, but the loaded voltage measured lower. Hence why you can’t tell how much battery life is left just using an unloaded measurement.</p>
<h3>Current Draw</h3>
<p>The CR2032 battery has a date code that’s 21 years old. Using the 1Mohm line on the Pulse Discharge Characteristic graph, 2.5V has consumed about 230mAh.</p>
<p>First lets estimate the total capacity used. The graph shows 230mAh used at 2.5V. The slope after 2.6V has been determined to be 10mAh/V. Then the voltage drop after 2.5V is</p>
<div class="is-layout-flex wp-container-36 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_18.png" alt="" width="142" height="13" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_18-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_18-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_18-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_18-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Multiplying by the slope to determine the addition capacity used</p>
<div class="is-layout-flex wp-container-38 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_19.png" alt="" width="202" height="38" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_19-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_19-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_19-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_19-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Adding to the 2.5V capacity</p>
<div class="is-layout-flex wp-container-40 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_20.png" alt="" width="170" height="14" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_20-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_20-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_20-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_20-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Determining the current using the previous formula</p>
<div class="is-layout-flex wp-container-42 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_02.png" alt="" width="208" height="42" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_02-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Substituting</p>
<div class="is-layout-flex wp-container-44 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_22.png" alt="" width="133" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_22-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_22-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_22-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_22-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Isolating and solving</p>
<div class="is-layout-flex wp-container-46 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_23.png" alt="" width="200" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_23-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_23-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_23-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_23-lg.png 1024w"></figure>
</div>
</div>
</div>
<h3>Battery Estimate</h3>
<p>Determining the capacity remaining from the measured 2.32V until 2V</p>
<div class="is-layout-flex wp-container-48 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_24.png" alt="" width="202" height="38" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_24-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_24-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_24-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_24-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Using the historical current draw of 1.26uA to determine the estimated time remaining</p>
<div class="is-layout-flex wp-container-50 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_25.png" alt="" width="266" height="40" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_25-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_25-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_25-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_25-lg.png 1024w"></figure>
</div>
</div>
</div>
<p>Adding the elapsed time to the estimated time remaining for the total life</p>
<div class="is-layout-flex wp-container-52 wp-block-columns">
<div class="is-layout-flow wp-block-column">
<div class="wp-block-image">
<figure class="alignleft size-large is-resized"><img src="https://rothw.pages.dev/media/posts/8/n64-eq_26.png" alt="" width="177" height="16" loading="lazy" decoding="async" sizes="(max-width: 1024px) 100vw, 1024px" srcset="https://rothw.pages.dev/media/posts/8/responsive/n64-eq_26-xs.png 300w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_26-sm.png 480w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_26-md.png 768w ,https://rothw.pages.dev/media/posts/8/responsive/n64-eq_26-lg.png 1024w"></figure>
</div>
</div>
</div>
<h2>Conclusion</h2>
<p>Compiling all the results:</p>
<figure class="wp-block-table is-style-regular">
<table style="border-collapse: collapse; width: 100%;">
<thead>
<tr>
<th class="has-text-align-left" data-align="left"><strong>Condition</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Current</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Time</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">SRAM Typical</td>
<td class="has-text-align-left" data-align="left">0.3uA</td>
<td class="has-text-align-left" data-align="left">89.4yr</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">SRAM Maximum</td>
<td class="has-text-align-left" data-align="left">2uA</td>
<td class="has-text-align-left" data-align="left">13.4yr</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Self-Discharge</td>
<td class="has-text-align-left" data-align="left">0.27uA</td>
<td class="has-text-align-left" data-align="left">99.4yr</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">SRAM Typ + Self-Discharge</td>
<td class="has-text-align-left" data-align="left">0.57uA</td>
<td class="has-text-align-left" data-align="left">47.1yr</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">SRAM Max + Self-Discharge</td>
<td class="has-text-align-left" data-align="left">2.27uA</td>
<td class="has-text-align-left" data-align="left">11.8yr</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Controller Pak Estimate</td>
<td class="has-text-align-left" data-align="left">1.16uA</td>
<td class="has-text-align-left" data-align="left">22.2yr</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Game Pak Estimate</td>
<td class="has-text-align-left" data-align="left">1.26uA</td>
<td class="has-text-align-left" data-align="left">21.3yr</td>
</tr>
</tbody>
</table>
<figcaption></figcaption>
Nominally, the battery will be drained to the point it can no longer retain data after 47 years. Worst-case though, this could happen in 12 years. Using one Controller Pak and Game Pak as data points, 21-22 years was estimated which is reasonably somewhere between the nominal and worst-case calculations.</figure>
<p>Therefore, it’s not unreasonable for a Controller Pak or Game Pak with an original battery to no longer retain data these days. Luckily, non-volatile memory that’s a drop-in replacement is relatively inexpensive and readily available.</p>
            ]]>
        </content>
    </entry>
    <entry>
        <title>Same Glasses, Different Prices</title>
        <author>
            <name>Roth W</name>
        </author>
        <link href="https://rothw.pages.dev/glasses-prices.html"/>
        <id>https://rothw.pages.dev/glasses-prices.html</id>
        <media:content url="https://rothw.pages.dev/media/posts/7/glasses_web.jpg" medium="image" />

        <updated>2021-08-30T21:00:00-07:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://rothw.pages.dev/media/posts/7/glasses_web.jpg" alt="" />
                    Background I wanted to try photochromic lenses so I didn’t have to&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://rothw.pages.dev/media/posts/7/glasses_web.jpg" class="type:primaryImage" alt="" /></p>
                <div class="entry-content si-entry">
<h2>Background</h2>
<p>I wanted to try photochromic lenses so I didn’t have to carry around an extra pair of glasses. I had already found a pair of frames that I liked, so I priced out a few options. The frames were Luxottica, so there is no direct comparison to other popular options that only have house brand frames.</p>
<p>The prescription quoted is standard index, single vision. The following sections are ordered from most to least expensive with a summary table at the end. Besides the least expensive option that I went with, all other businesses will be described in terms of in or out of network and the service they offer, actual business names will not be included.</p>
<h2>Out of Network – Eyewear Store</h2>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>Clear</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Photochromic</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Frames</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$261</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Lenses (Polycarbonate)</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$199</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Anti-Reflective Coating</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$149</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Photochromic Coating</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$149</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Subtotal</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$758</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Sale</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">-$208</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>N/A</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$550</strong></td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total with VSP</strong> <strong>Reimbursement</strong></td>
<td class="has-text-align-left" data-align="left"><strong>N/A</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$450</strong></td>
</tr>
</tbody>
</table>
</figure>
<p>The price was so high that I didn’t ask about clear lenses.</p>
<h2>Out of Network – Optometrist</h2>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>Clear</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Photochromic</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Frames</td>
<td class="has-text-align-left" data-align="left">$190</td>
<td class="has-text-align-left" data-align="left">$190</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Lenses</td>
<td class="has-text-align-left" data-align="left">$195</td>
<td class="has-text-align-left" data-align="left">$195</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Photochromic Coating</td>
<td class="has-text-align-left" data-align="left">$0</td>
<td class="has-text-align-left" data-align="left">$130</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$385</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$515</strong></td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total with VSP Reimbursement</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$285</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$415</strong></td>
</tr>
</tbody>
</table>
</figure>
<h2>In Network – Optometrist</h2>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>Clear</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Photochromic</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Frames</td>
<td class="has-text-align-left" data-align="left">$68</td>
<td class="has-text-align-left" data-align="left">$68</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Lenses (Polycarbonate)</td>
<td class="has-text-align-left" data-align="left">$31</td>
<td class="has-text-align-left" data-align="left">$31</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Anti-Reflective Coating</td>
<td class="has-text-align-left" data-align="left">$95</td>
<td class="has-text-align-left" data-align="left">$95</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Photochromic Coating</td>
<td class="has-text-align-left" data-align="left">$0</td>
<td class="has-text-align-left" data-align="left">$75</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Copay</td>
<td class="has-text-align-left" data-align="left">$25</td>
<td class="has-text-align-left" data-align="left">$25</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>N/A</strong></td>
<td class="has-text-align-left" data-align="left"><strong>N/A</strong></td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total with VSP</strong><strong>‏‏‎ ‎</strong>‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎<strong>‎</strong>‎<strong>‎</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$219</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$294</strong></td>
</tr>
</tbody>
</table>
</figure>
<p>Frames were $265 before insurance, wasn’t given non-insurance pricing for the others. Frame cost on the manufacturer’s website was $266.</p>
<h2>Amazon + Costco</h2>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>Clear</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Photochromic</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Frames (Amazon)</td>
<td class="has-text-align-left" data-align="left">$108</td>
<td class="has-text-align-left" data-align="left">$108</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Lenses (Costco)</td>
<td class="has-text-align-left" data-align="left">$60</td>
<td class="has-text-align-left" data-align="left">$100</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Frame Pattern Fee (Costco)</td>
<td class="has-text-align-left" data-align="left">$25</td>
<td class="has-text-align-left" data-align="left">$25</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$193</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$233</strong></td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total with VSP Reimbursement</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$93</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$133</strong></td>
</tr>
</tbody>
</table>
</figure>
<p>You have to be a Costco member to purchase frames or lenses. The discount compared to an optometrist was more than the price of a yearly membership though ($60 per year plus tax). A valid prescription from any optometrist can be used. The optometrist at Costco is independent and does not require a membership.</p>
<p>The lenses include an anti-reflective coating and are made of Mitsui Chemicals’ MR series by default. Polycarbonate is available if requested, but I went with their recommendation of the default material.</p>
<p>I’m not sure how easy it is to get Amazon frames approved for out of network reimbursement typically. I didn’t have an issue and I think it helped that the model number was a vision only frame, sold by Amazon not a third party, and “prescription eyeglass frames” was in the title.</p>
<p>Frames were roughly the same cost on Amazon as some eBay sellers, but I figured Amazon would have a higher chance of reimbursement since Echo frames are eligible.</p>
<p>One word of caution for this option, the person giving you the eye exam isn’t the same person being held accountable for how much you like your prescription. This likely isn’t an issue since Costco usually has a great return policy, but it should be noted.</p>
<p>If you’re able to find a frame for under $70 and want clear lenses, with VSP the total cost could be as low as $70 – $70 + $60 + $25 – $30 = $55.</p>
<p>The $25 frame pattern fee sounds odd at first, but it’s the same cost as a typical copay or lab fee.</p>
<h2>Summary</h2>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>Clear</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Clear (VSP)</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Photochromic</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Photochromic (VSP)</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Out – Eyewear Store</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$550</td>
<td class="has-text-align-left" data-align="left">$450</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Out – Optometrist</td>
<td class="has-text-align-left" data-align="left">$385</td>
<td class="has-text-align-left" data-align="left">$285</td>
<td class="has-text-align-left" data-align="left">$515</td>
<td class="has-text-align-left" data-align="left">$415</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">In – Optometrist</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$219</td>
<td class="has-text-align-left" data-align="left">N/A</td>
<td class="has-text-align-left" data-align="left">$294</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Amazon + Costco</td>
<td class="has-text-align-left" data-align="left">$193</td>
<td class="has-text-align-left" data-align="left">$93</td>
<td class="has-text-align-left" data-align="left">$233</td>
<td class="has-text-align-left" data-align="left">$133</td>
</tr>
</tbody>
</table>
</figure>
<p>Amazon + Costco even without VSP was less expensive than all the other options with VSP.</p>
<p>The table above can help determine if VSP is worth the cost. If your employer covers a significant percentage of the cost and you use the benefits, it likely makes sense, even if it’s just for the $100 out of network reimbursement for frames and lenses ($70 and $30 respectively).</p>
<p>For finding a frame that will look decent with photochromic lenses, find a frame that’s sold both for prescription glasses and sunglasses. For example, the Persol PO3092V is a prescription frame and the PO3092SM is a sunglasses frame.</p>
<p>Finding a few frames on Amazon with free returns is a great way to try on a few pairs with minimal effort.</p>
<p>If you have a FSA, remember to use it and hopefully this helps estimate how much to add during open enrollment.</p>
<h1>Bonus</h1>
<p>Below are some other miscellaneous prices I’ve gathered. Since it’s not as direct of a comparison, it’s in a separate section.</p>
<h2>In Network – Optometrist</h2>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>BP Frames</strong></th>
<th class="has-text-align-left" data-align="left"><strong>BP Frames (VSP)</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Moscot Frames</strong></th>
<th class="has-text-align-left" data-align="left"><strong>Moscot Frames (VSP)</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Frames</td>
<td class="has-text-align-left" data-align="left">$425</td>
<td class="has-text-align-left" data-align="left">$196</td>
<td class="has-text-align-left" data-align="left">$295</td>
<td class="has-text-align-left" data-align="left">$92</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Lenses (CR39)</td>
<td class="has-text-align-left" data-align="left">$100</td>
<td class="has-text-align-left" data-align="left">$0</td>
<td class="has-text-align-left" data-align="left">$100</td>
<td class="has-text-align-left" data-align="left">$0</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">A/R D Regular</td>
<td class="has-text-align-left" data-align="left">$140</td>
<td class="has-text-align-left" data-align="left">$95</td>
<td class="has-text-align-left" data-align="left">$140</td>
<td class="has-text-align-left" data-align="left">$95</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Copay</td>
<td class="has-text-align-left" data-align="left">$0</td>
<td class="has-text-align-left" data-align="left">$25</td>
<td class="has-text-align-left" data-align="left">$0</td>
<td class="has-text-align-left" data-align="left">$25</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$665</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$316</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$535</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$212</strong></td>
</tr>
</tbody>
</table>
</figure>
<p>BP is the Barton Perreira – Princeton BAT, $405 on the manufacturer’s website.</p>
<p>Moscot is the Authur, $290 on the manufacturer’s website.</p>
<h2>In Network – Optometrist</h2>
<p>Pricing for lenses only:</p>
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th class="has-text-align-left" data-align="left"> </th>
<th class="has-text-align-left" data-align="left"><strong>No Insurance</strong></th>
<th class="has-text-align-left" data-align="left"><strong>With VSP</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="has-text-align-left" data-align="left">Lenses (Trivex)</td>
<td class="has-text-align-left" data-align="left">$220</td>
<td class="has-text-align-left" data-align="left">$51</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">A/R Coating D (TechShield Elite)</td>
<td class="has-text-align-left" data-align="left">$180</td>
<td class="has-text-align-left" data-align="left">$75</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left">Copay</td>
<td class="has-text-align-left" data-align="left">$0</td>
<td class="has-text-align-left" data-align="left">$25</td>
</tr>
<tr>
<td class="has-text-align-left" data-align="left"><strong>Total</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$400</strong></td>
<td class="has-text-align-left" data-align="left"><strong>$151</strong></td>
</tr>
</tbody>
</table>
</figure>
<p>Ray Ban RB5283 frames were $196 without insurance, $189 on the manufacturer’s website.</p>
<h2>In Network – Optometrist</h2>
<p>Ray Ban RB5283 frames were $119 with insurance, $189 on the manufacturer’s website. It’s likely not a coincidence that the discount is the same as the $70 out of network frame reimbursement</p>
<p>Lenses with no coatings were just the $25 copay amount.</p>
</div>
            ]]>
        </content>
    </entry>
    <entry>
        <title>Firmware for Older Routers</title>
        <author>
            <name>Roth W</name>
        </author>
        <link href="https://rothw.pages.dev/router-firmware.html"/>
        <id>https://rothw.pages.dev/router-firmware.html</id>
        <media:content url="https://rothw.pages.dev/media/posts/6/wndr3700_web.jpg" medium="image" />

        <updated>2021-08-16T21:00:00-07:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://rothw.pages.dev/media/posts/6/wndr3700_web.jpg" alt="" />
                    Background Having a WNDR3700v1 from 2009 and a WNDR3700v4 from 2013 begs&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://rothw.pages.dev/media/posts/6/wndr3700_web.jpg" class="type:primaryImage" alt="" /></p>
                <h2>Background</h2>
<p>Having a WNDR3700v1 from 2009 and a WNDR3700v4 from 2013 begs the question, what firmware to use in the year 2021?</p>
<h2>OEM</h2>
<p>The latest version for v1 is 1.0.16.98 and was released in 2011. The latest version for v4 is 1.0.2.102 and was released in 2018.</p>
<p>Due to security reasons, it’s not recommended to run 3-10 year old firmware. Let’s look at some third-party options</p>
<h2>Gargoyle</h2>
<p>Based off OpenWrt, the latest version is 1.12.0 released at the end of 2019.</p>
<p>Again, due to security reasons, it’s not recommended to run 1.5 year old firmware.</p>
<h2>DD-WRT</h2>
<p>Latest Stable release was v24 SP1 in 2008. There are beta versions released every few days to few weeks. Currently there is a beta version for both routers only 9 days old.</p>
<p>This option is only recommended if there is a unique feature of DD-WRT that makes it preferable at the expense of stability.</p>
<h2>OpenWrt</h2>
<p>Last on the list is OpenWrt with the latest version 19.07.7 released a few months ago in early 2021.</p>
<p>This option is recommended for stability and security.</p>
<h2>Summary</h2>
<figure class="wp-block-table is-style-regular">
<table>
<tbody>
<tr>
<td><strong>Firmware</strong></td>
<td><strong>Stable Release</strong></td>
<td><strong>Beta Release</strong></td>
</tr>
<tr>
<td>OEM</td>
<td>Years</td>
<td>N/A</td>
</tr>
<tr>
<td>Gargoyle</td>
<td>Years</td>
<td>N/A</td>
</tr>
<tr>
<td>DD-WRT</td>
<td>Years</td>
<td>Days</td>
</tr>
<tr>
<td>OpenWrt</td>
<td>Months</td>
<td>Weeks</td>
</tr>
</tbody>
</table>
</figure>
            ]]>
        </content>
    </entry>
    <entry>
        <title>WearOS Smartwatches: Q4 2020</title>
        <author>
            <name>Roth W</name>
        </author>
        <link href="https://rothw.pages.dev/smartwatches-2020.html"/>
        <id>https://rothw.pages.dev/smartwatches-2020.html</id>
        <media:content url="https://rothw.pages.dev/media/posts/5/moto360_gen3.jpg" medium="image" />

        <updated>2021-02-01T21:00:00-08:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://rothw.pages.dev/media/posts/5/moto360_gen3.jpg" alt="" />
                    OS, Processor, RAM Initial requirements Referencing wikipedia to make a list of options Cost&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://rothw.pages.dev/media/posts/5/moto360_gen3.jpg" class="type:primaryImage" alt="" /></p>
                <h2>OS, Processor, RAM</h2>
<p>Initial requirements</p>
<ul>
<li>WearOS for a larger choice of apps</li>
<li>Snapdragon 3100/4100 and 1GB of RAM for performance and future proofing</li>
</ul>
<p>Referencing <a href="https://en.wikipedia.org/wiki/List_of_Wear_OS_devices">wikipedia</a> to make a list of options</p>
<ul>
<li>Fossil Gen 5</li>
<li>Louis Vuitton Tambour Horizon</li>
<li>Montblanc Summit 2</li>
<li>Motorola Moto 360 Gen 3</li>
<li>Skagen Falster 3</li>
<li>Suunto 7</li>
<li>Mobvoi Ticwatch Pro 3</li>
</ul>
<h2>Cost, Size, Appearance</h2>
<p>Cost of under $300, reasonable size, and looks good</p>
<p>Eliminated</p>
<ul>
<li>Louis Vuitton Tambour Horizon (over $2000)</li>
<li>Montblanc Summit 2 (over $1000)</li>
<li>Suunto 7 ($400, size)</li>
<li>Mobvoi Ticwatch Pro 3 ($300, size and appearance)</li>
</ul>
<p>Remaining</p>
<ul>
<li>Fossil Gen 5 ($200)</li>
<li>Motorola Moto 360 Gen 3 ($200)</li>
<li>Skagen Falster 3 ($200)</li>
</ul>
<h2>Features</h2>
<p>The Fossil Gen5 and Skagen Falster 3 are the same watch with different enclosures, so choose the more appealing one. Personally, that’s the Skagen Falster 3.</p>
<figure class="wp-block-table is-style-stripes">
<table class="has-fixed-layout">
<thead>
<tr>
<th> </th>
<th class="has-text-align-left" data-align="left">Skagen<br>Falster 3</th>
<th class="has-text-align-left" data-align="left">Motorola<br>Moto 360<br>Gen 3</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Speaker</strong></td>
<td class="has-text-align-left" data-align="left">Yes</td>
<td class="has-text-align-left" data-align="left">No</td>
</tr>
<tr>
<td><strong>Back</strong></td>
<td class="has-text-align-left" data-align="left">Glued</td>
<td class="has-text-align-left" data-align="left">Screws</td>
</tr>
<tr>
<td><strong>Satellites</strong></td>
<td class="has-text-align-left" data-align="left">GPS<br>GLONASS</td>
<td class="has-text-align-left" data-align="left">GPS<br>GLONASS<br>Beidou<br>Galileo</td>
</tr>
<tr>
<td><strong>Low Battery Mode</strong></td>
<td class="has-text-align-left" data-align="left">Yes</td>
<td class="has-text-align-left" data-align="left">No</td>
</tr>
<tr>
<td><strong>Charging</strong></td>
<td class="has-text-align-left" data-align="left">Wireless</td>
<td class="has-text-align-left" data-align="left">Pins</td>
</tr>
<tr>
<td><strong>Buttons</strong></td>
<td class="has-text-align-left" data-align="left">3</td>
<td class="has-text-align-left" data-align="left">2</td>
</tr>
<tr>
<td><strong>Made By</strong></td>
<td class="has-text-align-left" data-align="left">Fossil</td>
<td class="has-text-align-left" data-align="left">eBuyNow</td>
</tr>
</tbody>
</table>
<figcaption><em>Table 1: Feature Comparison</em></figcaption>
</figure>
<p>The Skagen Falster 3 has wireless charging, but the glued on back has historically caused issues.</p>
<p>The Motorola Moto 360 Gen 3 was personally a better choice for supporting more satellites and having a back with screws. The speaker and low battery mode would be nice to have, but were not important enough to change the decision.</p>
            ]]>
        </content>
    </entry>
</feed>
