Data Logging Fully Operational

After  a long break (seasonal, really) I am finally back with yet another good news ~ I have finally saved time and devoted rainy afternoons and many sleepless nights to the long-promised feature – the data logging.

It had had been such a long run mainly due to my initial intention the code must be original, based on “pure” STL and every part must be clearly explainable, no black boxes and fuzzy libraries. Hence, to make the FAT live on the uSD connected via SPI  was  anyhow close to a piece of cake (as obviously is for the other folks our there). There were virtually no clues how to bend Chan’s FatFS library to my needs. Until after a  considerably long desperate days of hopeless searching I have discovered this site which old version contains a treasure box in form of these two blog entries that really made my day. Cheers buddy, whoever you are!! 🙂

After having mastered the FatFS operations there was another riddle to solve – the format in which to store the data. Initially, the .IGC seemed to be a natural choice (and also many suggested so) but as we need to store some more information than the IGC format supports (e.g. acceleration data), this was not the right one. Additionally, the IGC seems to be rather verbose and since there is no plan or vision to make the OGN Cubes certified FAI recorder we do not need the record to be signed and processed in the traditional way. On the contrary, human readability of the recorded files would be beneficial.

For that reason we came to the conclusion a simple CSV file with meaningful header could be the best choice. It can be easily read by a spreadsheet processor, converted to various formats (GPX for example) and the resulting files are of reasonable size also in case of considerably long flights.

You can see an example of selected recording lines right here:

$OGNR;HHMMSS;gpsFix;pressure[Pa];lat;lon;gpsAlt[m];gpsSpeed[m/s];gpsTrackCourse[deg];ax;ay;az*CRC
$OGNR;112332;3;92884;49.860138;17.613463;727;56.4;327.2;0.222;-0.886;1.370*2a
$OGNR;112341;3;92917;49.864000;17.609517;726;57.7;326.6;0.598;-0.640;1.093*28
$OGNR;113317;3;91468;49.898227;17.543775;852;46.2;246.3;0.592;-1.177;1.069*25
$OGNR;114233;3;93324;49.815882;17.234948;686;52.5;78.9;-0.697;-1.389;1.520*3f

Each flight record starts with a header describing consequent lines. There can be multiple flights in one file which are separated by a header. Flight start and finish are controlled by certain conditions in the tracker’s code (ground speed & interval of inactivity). The data is stored on the SD card in single file per day with its filename in formatted as 20181022.ogn (i.e. YYYYMMDD.ogn).

As the logging feature is finally in its mature state can been released to the wild. Those of you who have a tracker box with the uSD card slot present will receive firmware update shortly. The update procedure is  as described in the leaflet. You will need to use the firmwareLoader to upload the new binary to the unit from your laptop via bluetooth.

The work on further releases is still not done, however. In the upcoming weeks and months the plan is to implement:

  • Android app to download and flash the firmware updates seamlessly,
  • to download the flight logs from the unit using the same app so we don’t need to remove and put back the tiny uSD card every time,
  • to integrate the accelerometer to the PCB (there is still a lot of work, experimenting and decisions to be made),
  • and finally, one day, to add the you-know-whose protocol support.

And that’s all for this time! 🙂

Tale of the First Twenty Magic Boxes

May turned into its second half when a package with so much expected PCBs finally arrived from Apama (a local manufacturer in Brno). During the following weeks they gradually migrated from one box to other, then yet another and back until they grew up and matured to their shiny functioning state.

This is the story how it all happened.

Breaking up the frame into separate little boards was a pure pleasure.

Followed a thorough visual inspection of each piece from its top and bottom side. You know, when electric check is not enough..

First populated power source & MCU. Bringing it to life and also first test of correct battery operation on the second revision of the PCB.

Soldering a single MCU is a piece of cake. Five is still OK. But TWENTY?!

Adding microUSB and SMA connectors.

All SMDs are finally on board – let’s start with modules!

Populating pressure sensors means to solder only 20 x 6 = 120 legs. Easy! 🙂

Bluetooth modules ready for soldering as the next; they go to the bottom side.

GPS and radio modules.

And first fully populated OGN tracker is alive! Hooray! 🙂

They are starting to pile up..

.. till they are everywhere!

Each and every antenna was carefully packed in a tiny plastic bag. Unpack one is a short operation, but twenty of them took some time.

Aren’t they cute? 🙂

Every tracker comes with a tiny but still powerful battery (nothing for the drumming rabbits). The fella in the shop was looking a bit suspiciously when I was requesting 22 of those, asking what do I need so many Nokia phones for.. B-)

And seriously,

 

OGN Cube TWO – Flying Prototypes

It has taken some time but this waiting was worth it. First two prototypes of the Cube TWO have been tested both on ground and in the air and at this moment I can proudly announce they work reliably under all reasonable conditions and thus can be released into the vast airspaces around us! What an announcement, right? 🙂

There are two flavours of the box – one specially designed for competitions with an internal battery. This required to develop and validate a battery charging and protection circuitry which makes it a reason for being so late into the season.

OGN Cube TWO “Competition” with internal battery

On the device front facing side there is a switch to power the tracker up and down and a micro USB connector to charge the battery from a 5V power source/phone charger. Finally,  there is an indication LED which gives you instant information about state the device is in. The battery capacity is 1070 mAh and lasts for approximately 30 hours when fully charged.

The latter flavour of our tracker is intended to be permanently mounted on board of your sweetheart. It is powered through a standard RJ45 socket which gives you the opportunity to power it directly from your 12V batteries. It also brings the opportunity to control the transmission mode via a three-way switch on your dashboard: normal TX mode, competition mode (with the competition flag set) and finally a TX-disable mode (while keeping the reception on).

In addition to all of this, there is a slot for a micro-SD card to log your flights or encounters for later use. However, this functionality is not implemented yet and this can perceived be this is a preparation for future firmwares.

Both versions are also equipped with bluetooth connectivity so you can see all the information right in you navigation device. The bluetooth interface is also used from relatively seamless firmware updates.

OGN Cube TWO On The Way

With the upcoming season time has come to present the shiny OGN Cube in second generation. What is new, different and (of course) better?

Firstly, and most importantly – there will be only a limited amount of Chinese components. Despite being so tempting to use stuff with free shipping from the country behind the wall, my experience from the past two years is so dark that I refuse to use them more anymore. But still, I had to bite my tongue and use two of them as procuring them from the reliable sources is impossible (the BMP and the BT).

The obsolete GPS receiver is being replaced by the GPS/GLONASS-capable Quectel L86 module with 33 concurrent channels and antenna with greater gain. Radio module will now be the RFM69HCW and as the barometric sensor the BMP280 is going to be populated.

The back side of the board is occupied by a bluetooth (bt) module with two features. The main are firmware updates (as the only current possibility to do so is to crack the box open and flash the firmware using a dedicated programmer – not very handy in the field). The process is now provided by a python script running on a bt-capable computer but in the near future this will be done using an Android phone (no fruit options!) directly on-line from the web. The secondary (although also primary :)) use for the bt is connection to navigation software to transfer spatial information about other planes in the surroundings.

The second new development on the rear side is presence of a micro SD socket to store flight recordings and who knows what else..

The OGN Cube TWO is designed in two strains – for competitions and for cross country flights. The former is distinguishable by a micro USB connector used to charge the internal (BL-4C / BL-5CB) battery. This battery is a widely known and used Nokia model which can (and hopefully will be for long time) easily available everywhere. The MCP73811T will take care for its correct charging together with all the madness around that clever chip.

The latter variant is a box to be fixed into the dashboard. It connects through the RJ45 jack which is present in all the other device we already have on board. Additionally, it lets you connect a three-pole switch to control the competition mode (do-not-track flag), no-TX and the regular mode.

New board also requires a new box, right? It needs to be a bit bigger than before but will let you to open it for possible tuning, changes or even (unlikely) improvements. There are going to be another two options: a 3D-printed ABS plastic box of various colours and combinations or an sweet aluminum enclosure with possible black anodised coating.

It’s gonna be a piece of art. Stay tuned! 🙂

OGN Cube 1.5

With the new season we want a new tracker! (said someone on the airfield’s bar). I have already had some ideas where to aim further development and what could be done better, nicer and in a more nifty way.

First big issue is interfacing the rest of the plane – the other devices on board. The RJ-12 or RJ-45 connectors had somehow become a common thing in our realm of flying but their bulkiness is a pain. Employing a microUSB connector, on the other hand, saves a lots of space but gives the user a false feeling there is an USB interface while there is not. The miniUSBs on the Cube ONE were intended primarily to power the tracker. The D+/D- pins provide I/O for debugging serial line (and that’s why they shan’t be connected to anything on the other side).

The second big thing are firmware updates. Bugs are a programmer’s daily bread, combined with the inflow of new features on standardized and well designed hardware making this a significant reason to explore this option.

Combination of these resulted into creation of a new transitional version (1.5) of the tracker for experimental purposes. It is 5 mm shorter than the first one, with more components from the bottom side (and there are going to be even more!) but still built with remaining the off-the-shelf Chinese components from the last year.

Here it comes – a large RJ-12 from the top providing six pins for power and serial line on within a solid and safe lock-in connector. The UART is needed for the brand newly opened feature – an information flow about the other airplanes in vicinity.

The tremendous disadvantage is the connector’s height. It rises well above the original enclosure making the box ugly and .. somehow crooked. A chance is to use low-profile RJ-45 which is a bit wider but could keep the profile neatly low. This, however, brings another clumsy issue – a low profile plug which – again – is not an easily available stock. And there is a third option – an in-the-PCB halfly “submerged” RJ-45 which is even wider but making the board of acceptable height. That, on the contrary, would push the microUSB connector from the bottom of the board somewhere else while there is not such space anymore. An endless dilemma..

The better and shiny new tracker shall then comprise of:

  • new connector. Be it RJ-12 or some kind of RJ-45?
  • confusing microUSB which does not deliver USB connectivity?

Tough to decide. What would YOU say is the best choice?

It is already certain most of the components will be replaced:

  • items originating from china for the legit ones,
  • GPS for 33-channel Qectel L-86 with a greater antenna,
  • and finally the radio for smaller and more powerful RFM69HCW.

From the bottom of the board there will be an optional bluetooth module for direct connection to PDA (most of them are bluetooth capable) for (possible) configuration and mainly for the aforementioned positional data.

Regarding the configuration – the third big issue: It could be handy to turn on the do-not-track flag for the competitions or turn off the transmission of current location completely. That could be done in two ways – either from the PDA (while the navigation software would have to support that – I guess the LK8000 could possibly be first ice-breaking one) or through the numerous pins and unused pins on the RJ-45 – changing these features using a simple 3-way switch on the dashboard. A question also is if these features are wanted or needed.

Tell me, what do you desire? ]:-)

On OGN Cube ONE Range Compared to FLARM

One of the first questions ever asked was What range is the tracker compared to FLARM. At fist it was a pretty insidious one as nobody actually knew.

As we learned already in the kindergarten, there are numerous parameters entering the radio-signal propagation equation and having almost zero tools it is not that easy to come up with reasonable answers.  It is a matter of a good antenna its counterbalance and location of the device in the fuselage so neither the GPS nor the OGN antennas were obstructed.

The first attempts to discover range of our box were udertaken during days not feasible for gliding. We’ve placed a tracker on-board of an UL-Fox (that time with it’s engine still working somehow fine) and flew away from the airfield (LKKA OGN receiver) until PK (that’s a friend’s nickname) sitting on the control tower told us over radio we are not on the tracking website anymore. Consequently, we kept flying across various tracks back and there towards the airfield till we finally appeared  on the web again. Hitting the boundary of the signal we’ve somehow established range of less the tracker and more the receiver antennas on the tower. Tough life of the experimenters 🙂

A few months later we’ve encountered the KTRAX Range Analyzer where one can establish the actual range way better and perhaps also more objectively.

So what is the range if the first experimental tracker built?

Hell great! 🙂 The signal strength is way high above the average (on the chart above – the green line is average signal strength in the OGN network, the blue one is us!). Of course, it depends also on the receiver location, antenna, LNA or other details. Nonetheless, the KTRAX record is based on a long-term statistics so this effect is hopefully negligible.

What about FLARMs? It is difficult to asses. I’ve taken 30 randomly chosen IDs and looked on their properties while encountered a lot of differences.

I’ve chosen the DD932F as a typical example but we could easily use also the DD94DD or DD9A1C. In 40km distance only on at the edge of 10dBs.

At this spot I boldly dare to say the FLARM range is a half of our OGN tracker’s range. 🙂 That either means a job well done or I just misinterpreted what the KTRAX stats actually show. Please correct me in the comments if I am wrong.

Those who have ever seen the guts of a FLARM box would probably not be so surprised. Antenna in form of an ugly rubber-wire connected to the PCB, which could (does it?) serve as a dirty counter balance (judging by the size of copper fill on the back side of the board). As my education in the field of radio black magic is very limited and the guys and gals from Switzerland have their work very well reqarded I can only assume the know their craft.

Very important aspect is also the unit’s antenna location. During the competition I’ve seen a FLARM antennas fastened to an iron-beam with a metallic tape or another one hidden under a carbon coaming. And with one contestant even a combination of those above!

Very weak examples can be DDEB14 or DDDDC9 where the signal strength is most likely limited by antenna location and obviously also the pilot him/herself. And there are even a worse examples to be discovered.

If there is enough time I will try to analyse signal strengths from the data acquired during this summer season (I’ve got some 20GBs from 150km around LKKA) and statistically compare the range of FLARMs and various OGN trackers also made by all the folks around. If there were someone who wanted to do such analysis (mainly due to impartiality reasons – don’t trust to stats which you’ve not tampered personally) the data is available upon request ( .. of course to trustworthy individuals only 😉 )

Save

Save

Competing with OGN Trackers on PMRG2017

With the culminating preparations of regionals in Křižanov someone suggested to build some more trackers for the competition.

Hence I’ve started to gather all requisites – meaning the parts for the PCB. And yet another trouble was to be encountered. Arrow advertises an “overnight shipping” which was to save my day, however, I did not expect the “overnight” means the package will travel to various locations around the globe every night until it finally arrived to my doorsteps after 20 days of adventurous journey.

It was a season of vacations meaning Laďa was gone and so his 3D printer. That meant to search for a backup one resulting into use leftovers of various materials of variable qualities and properties. After having printed numerous experimental enclosures the material choice for the competition trackers seem to become a spool of white ABS with lids of multifarious colours.

The source of screws to fix the lid originating from a salvaged microscope camera was already depleted so also the fastening had to be changed. Although a click-mechanism would be better, the lid is now glued in the box with acetone as the printer cannot print  such small details.

I’ve also experimented with translucent PETG (polyethylene terephthalate glycol-modified). Unfortunately, as it cannot be neither smoothened with acetone nor polished without losing its crisp translucency so the final decision went to snow-white ABS for the boxes and red, green and blue (yes, RGB 🙂 ) ABS for the lids.

The original mini-usb connector needed to be replaced for a fixed cable as some trackers were losing contact while the connector slid out. On the other hand the power from the USB battery was left as it kept the options open when needed to replace batteries in case discharge of failure.

A situation that appeared clumsy at first turned into and advantage. The two thingies – the tracker and the battery – loosely connected with a cable let us to put the battery into a side pocket or anywhere else while the tiny tracker can be placed on top of the stuff piled up in the centroplan to have a clear view for the GPS and OGN antennas while making all the organizers and the contestants happy.

Eight new OGN trackers found its way among the contestants while having served well reliably till the last competition day, last landing and last glass of beer.

Save

Save

First OGN Cube ONE is Out!

April turned to May and the bombastic success was coming – first PCB (of ten) was populated, brought to life and even tested in the air by flying once around the airfield in Fox. The last step in development was closing – what enclosure to use for the tracker? This turned out it should had been the first step of the design..

The mounting holes were originally intended to fix the antenna counterbalance from the bottom side of the PCB. Dimensions of the already existing board do not fit any existing box or the available are  either too hideous (large and just ugly) or incredibly expensive (and still too big; e.g. Fischer elektronik AKG 55 24 xx – I have bought one but it’s not really a fit).

Purely by coincidence a friend of mine -“Glidertools” Laďa – went by saying – “Man, what’s the trouble? I can print you one!”. And thus we started fitting the tracker board into an experimental box made on a 3D printer.

At the beginning it was kinda disaster. We were fiddling with available materials (PLA sucks), ABS, ASA and later we also experimented with PETG. The main goal at that time was to find a way how to separate the antenna counterbalance from the PCB so nothing went off in magic blue smoke. At the same time the box had to be closed for which a printed lid and three screws from salvaged microscope camera served very well. The gray ASA (acrylonitrile styrene acrylate) quickly proved as a well suited material resistant to high temperatures and therefore the first two trackers now fly in this suit.

Another struggle was the OGN antenna. The GPS module with integrated antenna is soldered on the PCB in horizontal position and shall be situated facing the sky, or space respectively. Therefore the box must be oriented the same way (image facing skywards). The radio antenna, on the contrary, is supposed to be vertically polarised – samewise as the receiver’s antennas. That results into requirement of an antenna that could be bent or even better with a joint.

Searching for such one took me almost a year. Again, by a pure coincidence I have found a splendid one when visiting the Ampér 2017 fair, where the exhibitors did not want to understand why I demand an immediate sample and do not want to wait for order from their e-shop to arrive..

Perfect, ain’t it? 🙂

Bugs Crawling Everywhere!

April debugging smoothly transcended to highway to hell. Over the last fortnight trying to find a bug in SPI communication and that bastards is hiding so well that even colleagues MacGyver cooperating with Chuck Norris would be troubled.

All can be blamed to hasty transition from F042 to F103 and to that related change of architecture resulting into libraries refactoring. I’ve already deployed all I’ve got and even borrowed some heavy guns.. and still no idea, nothing changed.

Should start some other business.. beekeeping perhaps?

A (Pre)production Unit

With the end of year 2016 some more folks wanted to have a tracker on board and therefore I started to ponder how to build more units in a nicer or even, let’s say – a professional form.

The amount and complexity of code was growing while not only 8kB nor 32KB FLASH was not enough. 1000 bytes of RAM would be still enough but various almost-undetectable problems started to arise – mainly rare unexpected memory leaks followed by a bit more expected watchdog reboots. It was the highest time to leave the Atmel AVR realm and move to some other, unexplored area where code can be debugged better that by prints into serial terminal.

A new design based on mighty STM32 microcontroller was born. In this case it was the STM32F042 chip – possessing 32 still well-solderable legs, 64kB of FLASH, 32kB RAM, clocked up to 48MHz – a “perfect” embedded supercomputer until the moment 64kB of FLASH was not enough again.

Having spent some considerable amount of time on thinking, searching and comparing various ICs the choice was obvious – STM32L152. It is a low power (good!) microcontroller with 128kB of FLASH, 32kB RAM. Its 48 tiny legs with considerably smaller pitch among them (and that is not so good).

During January a perfect schematic was drawn in Kicad with even better layout. Having double-checked the dimensions of everything at hand I ordered PCB manufacturing and waited. As soon as the boards arrived I’ve started ordering all the parts. This day entered history as Mr. Farnell who claimed to have the L151s readily available for shipment gave me a call that those are not available anymore and asked if I wanted to wait for another 6 months. Luckily are the ST comrades quite smart so the missing hole can be (relatively easily) replaced by the ubiquitous F103.

Physical footprint match is one thing. The architecture is other.  While the F042 is Cortex-M0, the F103 is Cortex-M3 which means all the libraries accessing particular registers need to be again rewritten to reflect all the bloody nuances of that or the other architecture. Shit hit the fan.

Moreover, its March and season is so close..