Splash-down, 27-Aug-2015 11:35 UT
Balloon update 27-Aug-2015 0200Z - Finland, and back to Sweden
Balloon update 26-Aug-2015 0200Z - Scandinavia
Balloon update 25-Aug-2015 0100Z - European tour!
Balloon update 24-Aug-2015 0600Z - Launch and transatlantic flight
Special WSPR telemetry protocol
David VE3KCL launched his fourth balloon flight S-4 on 21-Aug-2015 at approx 1340Z. Like the former flights, this one also used a special U3 firmware version on an Arduino Nano board, with QRP Labs Si5351A Synthesiser. Two foil "party" balloons were used, filled with hydrogen.
The S-4 balloon descended steadily at a rate of 920m every position report (12 minutes), and the last transmission was received at 11:30-11:34 UT. The altitude report was 1,120m but this would have been the snapshot of the GPS data at 11:23. Therefore the landing in the Norwegian sea would have been at around 11:35 approx. Congratulations to Dave VE3KCL on another fantastic flight! S-4 RIP!
On 27-Aug-2015 the balloon crossed Norway and headed out into the Norwegian see. Radio reception was difficult due to a solar storm affecting propagation, which was more severe at the high latitudes (70 degrees North) where the balloon was located.
The balloon began its descent at approx 10:00 UT, and took about 1.5 hours to descend 8,000m at a rate of about 80m every minute (250 feet/minute). Despite the very poor propagation it was possible to track the altitude down almost to sea level. The last position report was received during the two WSPR frames at 11:30 to 11:34 UT, reporting an altitude of 1,120m. However, this would have been a snapshot of the GPS data taken at 11:23 UT. Given the descent rate, the altitude of the balloon at the end of the final transmission would have only been a couple of hundred meters.
WSPR Daily Statistics
|Date||Best DX||Total reports||Report Start time||Report end time||% full reports||% partial reports|
|21-Aug-2015||5,830 km||808||13:54 UT||23:56 UT||100%||100%|
|22-Aug-2015||4,535 km||338||10:42 UT||23:08 UT||57%||81%|
|23-Aug-2015||18,540 km||621||08:30 UT||20:32 UT||89%||100%|
|24-Aug-2015||19,547 km||1,574||06:06 UT||18:44 UT||97%||100%|
|25-Aug-2015||17,357 km||1,976||04:18 UT||17:44 UT||100%||100%|
|26-Aug-2015||16,527 km||840||04:54 UT||18:54 UT||83%||96%|
|27-Aug-2015||2,244 km||38||04:20 UT||11:32 UT||27%||43%|
Report start and end time are the UT times that the balloon started reporting and ended reporting on the specified day. Remember that the power arrangements onboard are not yet optimised well enough to permit night-time operation, so the balloon only transmits during the day. The "Best DX" column shows the longest reception distance reported by WSPRnet for the standard WSPR message. It therefore misses out a station such as ZL1RS which sent a report of the telemetry WSPR message but not the standard one (I will fix that, soon).
The last two columns show the percentage of transmissions which were copied by at least one station. A "full report" is defined as a transmission timeslot where one where BOTH the standard WSPR transmission and the subsequent WSPR telemetry message were copied. A "partial report" is one where EITHER the standard WSPR message, or the special telemetry message, but not both. Remember that the standard WSPR message contains 4-character locator. The special WSPR telemetry message contains 5th and 6th Maidenhead locator characters, altitude, speed, battery voltage, temperature, and GPS status. Therefore both 2-minute messages must be reported by at least one station, in order to determine ALL the data. If only the standard message is received, then the balloon location is known approximately (Maidenhead square resolution i.e. 4 characters). If only the telemetry message type is received, then the location is not known, but altitude, speed, battery voltage, telemetry and GPS status are known.
The following stations reported the balloon on WSPRnet on 27-Aug-2015: LA9JO SM0EPX/RX2 G3XKR DD9LH LA6LU/RX2 SA6BSS ON7KO OH3HTI
After a brief visit to Finland, we're going back over Sweden, in the opposite direction! Altitude and all systems behaviour looks good still.
The following stations reported the balloon on WSPRnet on 26-Aug-2015: ZL1RS SM0EPX/RX2 ON7KO UNLIS PI4THT LZ1UBO G3XKR DK6UG OH6GAP G4ZFQ PA4MSA G8DYK F59706 GM4SFW G8XUL DL4MFC DF1VB EI7GSB ON5LT ON5DC G4PRJ G4FKK G3JKF G0MGM SP5XSB DD9LH PA/SWL32 ON7KB DL8HAF/P EI2KK DL1EKC DF2LV MW1CFN M0GBZ G8BKE OZ7IT LA9JO SM0VYI DF2JP OZ5XN G4ONV G4WCP DK0SC 2E0SHG DO3WBL G4GVM DM3FML M0RNI PA0HAH LA5GOA/RX2 G4JVF LY5AT LB9YE ON7AN G0MJI GM3PPE
The S-4 balloon passed leisurely over Sweden, right over the capital Stockholm. It must have been a very scenic view, for S-4! After the frantic rush across the North Atlantic and yesterday France, Luxembourg, Germany and Denmark, today the balloon took a well-earned break. Wind speed was very low, as S-4 drifted out over the Baltic sea. By sunset it had made it slowly across to the Estonian island of Hiiumaa. There were nearly 2,000 WSPR reports today, including some from Australia and New Zealand, by long path. Amazing for 16mW! Also today:
1) A very interesting analysis of the S-4 flight communications by Eduardo EA3GHS: http://ea3ghs.qrp.cat/balloon/s4.html
2) David VE3KCL provides this link for high altitude weather (all temperatures in minus numbers; balloon is between fl24, 24,000ft and fl30): http://www.avmet.ae/metcharts.
The following stations reported the balloon on WSPRnet on 25-Aug-2015: SM0EPX/RX2 SA6BSS PI4THT ON7KO ON7KB DG3OO ZL1RS G4ZFQ SM0FGT DK6UG UNLIS NL8992 ON5DC MW1CFN 2E0SHG GM4SFW EI7GSB M0GBZ DK0SC ON5LT LA9JO 2E0ILY SM0FUS G8BKE G3JKF G0MGM G0MJI SM0VYI DL4MFC G4PRJ DK8JP DL1EKC DF9JL HB9AMB DL8HAF/P G4JVF DF2JP DD9LH MM0XXW PA/SWL32 F1EHM SP5XSB DG4GAT PA3ABK DL5HCK OE3BUB G4FKK DL1GAJ PA1GSJ OZ1PIF DC1HR OZ5XN G3XKR LA3JJ/P OH8GKP DK4TJ LA5GOA/RX2 OH3HTI OH7AZL ON7AN DL6YCU ON0VA SM3ULC ZL2ABN PE1MXP/A VK4RV VK2JIW G8XUL G6ORN PE1KQP G8DYK G4USP G4ONV F59706 G1BLO DF1QQ
Congratulations Dave VE3KCL! S-4 successfully made it across the Atlantic! It passed quickly through France, Luxembourg and Germany, ending up in Denmark at sunset when the power shut down due to lack of sunshine on the solar cells.
The following stations reported the balloon on WSPRnet on 24-Aug-2015: ZL3LC VK3FFB UNLIS SM0EPX/RX2 PI4THT ON7KB GM4SFW DL5HCK DL4MFC DK6UG DK6IT DF2JP ON7KO DL8HAF/P DK0SC W3HH SA6BSS ON5LT OE3BUB ZL3TY ZL1RS IW2DZX F1EHM EI7GSB G4PRJ DL6YCU LA9JO G4ZFQ G4JVF DF2LV GM4JTJ M0GBZ 2E0SHG 2E0ILY VK5ABN G1BLO PA/SWL32 DK4TJ ON7AN ON5DC LA3JJ DM3FML G8FJG G0MJI PA1GSJ G8FDJ LZ1UBO G8HUH DD9LH DL1GHB PE1KQP ON0VA PA7KAT SM0FGT M6UBN G6WZA SP5XSB SM0FUS G4FKK G6ORN MW1CFN OH6GAP IH9YMC G4USP G4ONV ZL2ABN PE1IWT VK7DIK HA2DX DC7EJT OZ5XN OZ7IT IV3ONZ OZ1IDG F4FCQ G3JKF DG3OO M0MVA DG4GAT SV8RV SM7LEW G8BKE
The S-4 balloon has been very successful so far, travelling very quickly across the North Atlantic. Congratulations to Dave VE3KCL for the successful launch and timing it to get the S-4 balloon right into the jet stream. The total distance so far is 5,068km.
Thanks to the following lists of WSPR reporting stations
WSPR stations reporting on 21-Aug-2015: N4UW KJ4SPG K9AN K3ZV W4MO W3HH W3BI VA3ROM KD6RF KC1AWS K5XL W4ENN Q39KCL K4COD VE2DPF KC1CJN/2 W4ZSC KC4RSN N0UE KN8DMK K3XR ZL1RS W4DJW AE2EA WB9LVI W3BH KK1D VA3XCD VE6EGN WB3ANQ W4HBK KF4SF K4LY WB6YUY GM4SFW ON7KO YV4GJN DK6UG EI7GSB K4BYN G8DYK VE6PDQ/1 F1VMV DG3OO PI4THT IZ3LCH/P
WSPR stations reporting on 22-Aug-2015: W3BI W3BH N9CIF KC1AWS K9AN K8TLC WB3ANQ VA3ROM KN8DMK W3GXT VE3LJT W4MO VE2DPF K4COD K3XR KK1D N2NOM GM4SFW ON7KO ON7KB PA0ING DK6UG ON4CDJ DG3OO PE1KQP PC1Z IW6ATQ PI4THT 2E0ILY G4ONV LA9JO EI7GSB VA3XCD EI2KK G4PMB DJ1DPM W3HH OZ5XN F6HTL K1JT
WSPR stations reporting on 23-Aug-2015: GM4SFW EI7GSB ON7KO G4ONV NL8992 EI2KK W3BH GI0006SWL SM0EPX/RX2 PE1KQP KK1D KC1AWS K1BZ/1 G4PRJ ON7AN OZ1PIF 2E0ILY G1BLO G4ZFQ G0MJI OZ5XN DL8HAF/P PI4THT PC1Z ON7KB ON4PB M0GBZ G4FEV G4JVF G3JKF G4USP G8LDJ PA1GSJ 2E0SHG PA2W VK7DIK DG3OO LA5GOA/RX2 G8NDL LA9JO DL2GRF DK6UG SM3ULC G0HVQ DL4MFC M0HYE IW6ATQ SA6BSS ON5DC HB9AMB K9AN IW2DZX VA3XCD KE2M K1JT
The transmission schedule for the flight is based on a 12 minute transmission cycle, commencing on the hour and repeating every 12 minutes:
0:00 CW ID, and 22wpm CW on 30m, 20m and 17m bands
0:01 JT9 on 10,140,450: "#CS#AT" (callsign, altitude)
0:02 JT9 on 10,140,450: "#LT#A0" (latitude, temperature on analogue A0)
0:03 JT9 on 10,140,450: "#LN#A3" (longitude, battery on analogue A3)
0:04 JT9 on 10,140,450: "#M6#GS" (6-char Maidenhead locator, groundspeed)
0:05 JT9 on 14,078,450: "#CS_#M6" (callsign, 6-char Maidenhead locator)
0:06 WSPR on 10,140,250 (standard WSPR transmission)
0:08 WSPR on 10,140,250 with special data telemetry encoding
0:10 22wpm CW on 15m, 10m and 6m bands
Special WSPR data telemetry encodes 5th and 6th Maidenhead locator, altitude, temperature, battery voltage, ground speed, GPS status and Satellite coverage.
Example, WSPR reports at 13:18Z, 13:20Z are:
13:18 VE3KCL FN03 13 (normal WSPR)
13:20 0C0QQE RG74 43 (special telemetry data WSPR)
This telemetry decodes to:
The JT9 also contains some of the same data but receive station network coverage is likely to be less comprehensive. The advantage of the WSPR telemetry is that there is an existing vast network of WSPR receiving stations, automatically receiving and loging the data. The CW on multiple bands is such that it could be decoded by the reverse CW network i.e. "TEST TEST DE VE3KCL VE3KCL".
Click here for the actual transmission schedule, supplied by Dave VE3KCL.
As background, this is a very useful document by Andy G4JNT, explaining the process for encoding callsign, Maidenhead square, and power into the WSPR tones sequence. This document was used as the basis of the Ultimate3 source code for the WSPR mode. In particular, note that although standard WSPR messages transmit three pieces of information - callsign, locator and power - in fact, the encoding splits into two blocks: callsign, and locator/power.
Following is a brief explanation of the special WSPR telemetry protocol used on the S-4 balloon flight.
The callsign field in the WSPR protocol is 6 characters. The first character can be 0-9, A-Z or space. The second character can be in the range 0-9, A-Z (but cannot be a space). The third character must be a number in the range 0-9. The final three characters can be any letter A-Z, or a space.
Balloon messages identification:
The data from the S-4 balloon is sent with 1st and 3rd character being zero. For example. 0C0QQE. This permits the messages from the balloon to be identified in the WSPRnet database. The ITU does not allocate callsigns starting in "0" or "Q". So any callsign where the 1st character is "0" or "Q" and the third character is 0-9, could be used with the S-4 balloon telemetry. Therefore 20 "channels" exist so 20 balloons could operate simultaneously using this protocol.
Subsquare and altitude encoding:
The 4-character Maidenhead locator sent by a standard WSPR message, has a position accuracy of 100km or more (depending on where on Earth you are). See ARRL's page: "...measures approximately 70 x 100 miles in the continental US". Better position accuracy can be obtained by adding two further characters, making 6-character Maidenhead locators overall: "...corresponding to 3 x 4 miles in the continental US". For balloon tracking using WSPR, the position takes several minutes to send, and in the case of S-4, is sent every 12 minutes. The GPS position snapshot is taken at the start of the 12 minute cycle. The balloon will typically have moved considerably by the time the position report has been sent, received and decoded. So the Maidenhead subsquare resolution was felt to be adequate for tracking a long distance balloon.
The 5th and 6th Maidenhead characters (subsquare) are letters in the range "A" to "X". There are 24 possible values. For the two letters, there are 576 possible combinations. In the S-4 the altitude in meters, is divided by 20. A number in the range 0..1067 therefore represents altitude in the range 0..21,340m with a resolution of 20m. The encoding in the S-4 proceeds by converting the subsquare into a number in the range 0..575. E.g. "IQ" is (8 * 24) + 16, which is 208. The final number for encoding into the callsign is calculated as (1068 * subsquare) + (altitude / 20), where altitude in in meters. This number is in the range 0..613525 (i.e. 575 * 1067). For example, if the subsquare is "IQ" and altitude 1000m, then the the "callsign" number will be (208 * 1068) + (1000 / 20) = 222,194.
This decimal representation of the subsquare and altitude is converted into 4 characters that are overlaid on top of characters 2, 4, 5 and 6 of the callsign. Spaces are not used in this case. The 2nd character is base 36 (0-9 and A-Z), the 4th, 5th and 6th characters are base 26 (A-Z). There are 36 * 26 * 26 * 26 permutations which is 632,736. So (by design), the maximum possible subsquare/altiutude number 613,525 fits comfortably inside the number of permutations of characters 632,736.
Temperature, battery voltage, speed, GPS status, satellite status encoding:
Encoding of these additional parameters follows the above general procedure, over-writing the 4-character Maidenhead locator WSPR field and the power field, with values encoded from the required data. The first two Maidenhead locator characters are in the range A-R, having 18 possible values. The 3rd and 4th locator characters are in the range 0-9, i.e. 10 possible values. The power is base 19. This is because according to the WSPR protocol the power in dBm must be in the range 0..60dBm but can only occupy discrete power levels 0, 3, 7, 10, 13, 17 etc. up to 60dBm. There are 19 possible values. The number of permutations of 4-character Maidenhead locator and Power, in the WSPR fields, is therefore 18 * 18 * 10 * 10 * 19 which is 615,600. The required telemetry must therefore be compressed into a number not more than 615,600.
The temperature is coded by a number in the range 0..89, which represents temperatures in the range -50C to +39C with a resolution of 1C. On the balloon they came from an analogue temperature sensor, read by the ATmega328's ADC peripheral.
Battery voltage is coded by a number in the range 0..39, which represents battery voltage in the range 3.00 to 4.95V with a resolution of 0.05V. On the balloon battery voltage is measured by the ATmega328's ADC peripheral.
Speed in knots, is taken from the GPS NMEA serial data directly (ground speed parameter) and is measured in knots. It is coded by a number in the range 0..41, which represents 0 to 82 knots with a resolution of 2 knots.
Two GPS status bits follow; the first is 1 if the GPS data validity flag in $GPRMC is "A", 0 otherwise. The second bit is 1 if the number of tracked satellites is at least 8, which is a reasonable indication of good GPS reception health.
The maximum number of permutations of these pieces of data is therefore 90 * 40 * 42 * 2 * 2 = 604,800 which fits inside the available 615,600 permutations (see above). Encoding proceeds by calculating a total number to represent these pieces of data: Satellites + 2 * (GPS status + 2 * (Speed + 42 * (Battery + 40 * Temperature))). Once obtained, this number is encoded back into the 4-character locator and 19-level power fields, which are 5 items with base 18, 18, 10, 10, 19 respectively.
THIS SPREADSHEET illustrates the encoding and decoding. It can be used to decode WSPRnet reports, such as the example 0C0QQE RG74 43 given above.
The FLIGHTLOG spreadsheet contains the raw data and telemetry decoded for each position report, charts, and daily summary.
These photos from Dave VE3KCL show the flight payload and solar cell array.