diff --git a/_posts/0001-01-01-armcortex.markdown b/_posts/0001-01-01-armcortex.markdown
index 455e52a..87f71ae 100644
--- a/_posts/0001-01-01-armcortex.markdown
+++ b/_posts/0001-01-01-armcortex.markdown
@@ -37,8 +37,9 @@ are used particularly for [APRS](#aprs).
Thanks to an error in Revision C silicon we can't configure the
correct pin layout for the SERCOM used to talk to the radio. Currently
-it's just being [bit-banged][bitbang] as our suppliers bought large
-quantities of Revision C silicon. **TODO: Fix in future board revision??**
+it's just being [bit-banged][bitbang] as both Mouser and Farnell
+appear to have bought large quantities of Revision C silicon. **TODO:
+Fix in future board revision??**
[armcortexm0+]: http://www.arm.com/products/processors/cortex-m/cortex-m0plus.php
[samd]: http://www.atmel.com/products/microcontrollers/arm/sam-d.aspx
diff --git a/_posts/0002-01-01-gps.markdown b/_posts/0002-01-01-gps.markdown
index 80b1b8d..598afbb 100644
--- a/_posts/0002-01-01-gps.markdown
+++ b/_posts/0002-01-01-gps.markdown
@@ -1,7 +1,23 @@
---
title: Global Positioning System
-tagline: from ublox ag.
+tagline: ublox MAX-M8C
linkname: gps
x: 18%
y: 60%
---
+
+The MAX-M8C module is used for positioning. The _-M8C_ variant has a
+1.65V - 3.6V supply but doesn't include a RTC crystal. The ARM Cortex
+communicates over 9600 baud UART using the UBX protocol.
+
+The module is set in flight mode (Platform Model = `AIRBOURNE
+1G`). Whilst the module is capable of receiving two GNSS contellations
+at once it is set to only receive GPS. This allows the receiver to be
+set in power save mode (`lpMode = 1` in the `CFG RXM`
+message). **TODO: Update this after experiments with advanced
+powersave modes**
+
+[HAB Supplies](http://ava.upuaut.net/store/index.php?route=product/product&path=59_64&product_id=108)
+is a great supplier for this module.
+
+**TODO: Photo**
diff --git a/_posts/0003-01-01-radio.markdown b/_posts/0003-01-01-radio.markdown
index 12cd26b..7721f36 100644
--- a/_posts/0003-01-01-radio.markdown
+++ b/_posts/0003-01-01-radio.markdown
@@ -1,13 +1,33 @@
---
title: Radio
-tagline: Si 4060
+tagline: Si 4063/60
linkname: radio
x: 64.8%
y: 44.9%
---
+The tracker uses the Si4063/60 transmitter from Si-Labs, although the
+Si446x series of transceivers is pin-compatible. With a 1.8V - 3.6V
+supply and 142 - 1050MHz frequency range this transmitter is ideal.
+The Si4060 specifies a max output power of +13dBm, and the Si4063
+specifies +20dBm. Thus far we have used the Si4063 on a reduced power
+setting to give +6dBm of output power as measured by a signal
+analyser. **TODO: More testing to bring the output power up to the
++10dBm limit.**
-[jekyll]: http://jekyllrb.com
-[jekyll-gh]: https://github.com/jekyll/jekyll
-[jekyll-help]: https://github.com/jekyll/jekyll-help
+For FSK modes (RTTY, Contestia) the radio is set in CW mode and the
+`MODEM_FREQ_OFFSET` parameter is used to set the tone. The 16.369MHz
+clock from the TCXO gives a frequency resolution of 7.8053 Hz in this
+case.
+
+For AFSK (APRS) the radio is set in 2GFSK mode and the
+`MODEM_FREQ_DEV` parameter is used to set the FM deviation. GPIO1 is
+then used in direct mode as a modulation input. The radio applies a
+gaussian filter to this square wave which results in an acceptable
+spectrum. See this [ipython notebook] for more details on how the
+`MODEM_TX_NCO_MODE` parameters are chosen et cetera. (The internal
+filter is a 17-tap FIR filter that is by default configured as
+gaussian.)
+
+[ipython notebook]: https://github.com/bristol-seds/pico-tracker/blob/master/sim/si_fir_filter/si_fir_filter.ipynb
diff --git a/_posts/0006-01-01-debugging.markdown b/_posts/0006-01-01-debugging.markdown
index b79b479..e12531b 100644
--- a/_posts/0006-01-01-debugging.markdown
+++ b/_posts/0006-01-01-debugging.markdown
@@ -7,12 +7,10 @@ y: 23.5%
---
To program and debug the [ARM Cortex](#armcortex) we use a
-[Blackmagic Probe][bmp].
+[Blackmagic Probe][bmp]. The probe and its source are GPL-licensed and
+available in [the github repository][bmp-github].
-The probe and its source are GPL-licensed and available in
-[the github repository][bmp-github].
-
-You can build you own or [buy one online][bmp].
+You can build your own or [buy one online][bmp].
![bmp-image]
diff --git a/_posts/0014-01-01-gpsantenna.markdown b/_posts/0014-01-01-gpsantenna.markdown
index 27f13fa..3be01ce 100644
--- a/_posts/0014-01-01-gpsantenna.markdown
+++ b/_posts/0014-01-01-gpsantenna.markdown
@@ -5,3 +5,10 @@ linkname: gpsantenna
x: 7%
y: 33%
---
+
+A 1/4 wave piece of
+[guitar wire](http://www.ebay.co.uk/itm/Ernie-Ball-Custom-Gauge-Guitar-Single-Strings-Electric-or-Acoustic-Pack-6-13-/360959212478
+) is used for the GPS antenna. This has vertical
+polarisation which means it will be 3dB down compared to a right-hand
+circularly polarised antenna. However the antenna has such a clear
+view of the sky that this isn't an issue. **TODO: Good picture**
diff --git a/_posts/0015-01-01-telemetryantenna.markdown b/_posts/0015-01-01-telemetryantenna.markdown
index 188a857..b05b3ef 100644
--- a/_posts/0015-01-01-telemetryantenna.markdown
+++ b/_posts/0015-01-01-telemetryantenna.markdown
@@ -5,3 +5,12 @@ linkname: telemetryantenna
x: 84%
y: 42.5%
---
+
+The telemetry antenna is a 1/4 wave ground plane antenna that is tuned
+to 434 MHz. It's built from
+[guitar wire](http://www.ebay.co.uk/itm/Ernie-Ball-Custom-Gauge-Guitar-Single-Strings-Electric-or-Acoustic-Pack-6-13-/360959212478)
+with little bits of kapton tape on the end.
+
+**TODO How does this perform on 2 meters for APRS?**
+
+**TODO: Photo**
diff --git a/_posts/0018-01-01-watchdog.markdown b/_posts/0018-01-01-watchdog.markdown
index 3c28387..5cd0e55 100644
--- a/_posts/0018-01-01-watchdog.markdown
+++ b/_posts/0018-01-01-watchdog.markdown
@@ -6,7 +6,4 @@ x: 59%
y: 25%
---
-Windowed Hardware Watchdog because yolobtfdsusesif
-
-**you only live once but total failure due to sporadic unexpected
- software errors still isn't fun
+Windowed Hardware Watchdog
diff --git a/_posts/0019-01-01-radiofilter.markdown b/_posts/0019-01-01-radiofilter.markdown
index 1ffe94f..8965712 100644
--- a/_posts/0019-01-01-radiofilter.markdown
+++ b/_posts/0019-01-01-radiofilter.markdown
@@ -6,4 +6,4 @@ x: 79%
y: 55%
---
-5th order Chebyshev yolo
+5th order Chebyshev
diff --git a/_posts/0023-01-01-geofence.markdown b/_posts/0023-01-01-geofence.markdown
new file mode 100644
index 0000000..0f969ba
--- /dev/null
+++ b/_posts/0023-01-01-geofence.markdown
@@ -0,0 +1,21 @@
+---
+title: Geofence
+tagline:
+linkname: geofence
+software: true
+x: 70%
+y: 46%
+---
+
+The tracker uses geofences to decide which frequencies to operate on
+etc. APRS transmissions essentially follow this [map] and this [list]
+with exceptions for areas where airboune operation is not permitted.
+
+See this [ipython notebook] used to automatically generate the C
+header files used for geofencing.
+
+[map]: http://aprsisce.wdfiles.com/local--files/doc:frequencies/APRSVHFworldmap.png
+[list]: http://aprsisce.wikidot.com/doc:frequencies
+[ipython notebook]: https://github.com/bristol-seds/pico-tracker/blob/master/sim/geofence/geofence.ipynb
+
+**TODO: Actually test this**
diff --git a/index.html b/index.html
index 3ac23ec..a0dfd8f 100644
--- a/index.html
+++ b/index.html
@@ -13,7 +13,6 @@ scroll: true
{% if post.software %}
-