Release Elite Observatory - Search your journal for potentially interesting objects, or notify you of new ones on the fly while exploring!

I somehow forgot about this board completely when I posted this in the Exploration board last Thursday. Well, here I am now!

What even is this?
Elite Observatory is a small tool which can read and monitor your Elite Dangerous journal for objects which might be "interesting" so you can go take a closer look.

What is "interesting?"
A lot of things, potentially. Currently there are built-in checks for:

  • Landable and terraformable (might not be interesting to look at, but you can go there and dream of what might be!)
  • Landable with atmosphere (I know it can't happen.... but what if it did?!)
  • Landable high-g (>3g)
  • Orbiting close to parent body
  • Shepherd moons (orbiting closer than a ring)
  • Close binary pairs
  • Colliding binary pairs
  • Moons of moons
  • Tiny objects (<300km radius)
  • Fast and non-locked rotation
  • Fast orbits
  • High eccentricity
  • Large landable objects (>18000km radius)
  • Wide rings (> 1 light-second)
  • Good premium FSD boost material availability (5/6 materials on a single body)
  • Full premium FSD boost material availability within a single system
  • Full premium FSD boost material availability on a single body (pretty sure this can't happen, but I'm watching for it anyway)
These checks are all individually toggleable if there are some you don't want to see.

I don't care about any of that!
Well, you can add your own. A set of user-defined criteria can be created so you can find the things you like. The caveat here is that I have not built a GUI for it, and the system for reading them is very crude at the moment (I'm working on it), so you'll be awkwardly editing xml by hand. There is a description of how to do so in the readme on github, which I will link below. If you need more help, give me a shout!

You said it monitors, do I have to alt-tab constantly to check on what has been found?
No! You can enable pop-up notifications or text-to-speech!

This sounds vaguely familiar...
Well, it should. /u/imathrowback on reddit created a very similar tool a few months ago, which served as my inspiration, so I'd like to thank them for that. They also said at the time:

maybe some nice soul will copy it and make it better and awesome
I don't know how nice I am, or how awesome this is, but here you go!

What does it look like?
A little like this: Source:

Where do I get it?
Right here:

A few people I know have been testing earlier versions, but I've been waiting on getting custom criteria implemented before doing a wider release.

What do I need to run it?
Probably nothing you don't already have. Strictly speaking it requires .NET 4.5, but if you don't have that you're probably not running Elite either.

Is it safe?
Well, I say it is, but it's up to you whether or not you trust that. You can read the source on github if you like, and to be extra safe build it yourself.

Sure, let's take a look at that source!

Yeah, there's some stuff in there I'm not super proud of. None of it is malicious though...

This is broken garbage!
Report a bug! Either on github or here is fine.

I have an idea!
Let me know! Or submit a pull request! Or fork the project and just do it all yourself! Or rewrite it all from scratch! Or fail to muster up the motivation and do nothing! I'm fine with all of those options.

Changes coming "soon" include more control over the text-to-speech voice (including volume control), a wider selection of data available for custom criteria, and some fine tuning on existing built-in checks (I think the "close binary" check is a little too tight at the moment). Those will probably show up within the next week or so.
Further down the road I'm going to investigate using the companion API to get journal data for console players so they can use this as well. Though I expect I will not be able to do the same "all your logs since the beginning of time" parse, or the realtime monitoring. It will most likely be an on-demand check for recently scanned items, assuming I get it working at all.
Last edited:
New release, get it while it's hot!

Getting this one out before everything I planned was done in order to fix an issue cause by some very odd values showing up in some people's journal files.

  • Fixed issue caused by INRA log text being inserted into journal file in place of the localised name of some procedural systems. (what?!)
  • Performance during "read all logs" should also be improved
  • Loosened "close binary" criteria, extremely few bodies were qualifying
  • Added volume adjustment for Text-to-Speech voice
  • More informative error messages are now available
Not sure what "full up" means in this context. If you mean storage space this is less than 1MB. It also uses very little CPU while monitoring.

Full up in this context means that I've quite a few other things I need to finish, before I can get to play with new stuff.
Thanks for keeping this great tool going forward. Loaded it up last night, added a few custom criteria, and went exploring, found a few interesting planets I would have ignored. brilliant.
That was a +1 from me. I can't say anything about the program (flying on Playstation) but publishing the source code under a free license (not the GPL though … I wonder why) AND encouraging people to check the code is something worth +1000 … But I can click the button just once.
(not the GPL though … I wonder why)
MIT is less restrictive about how other people can use the code than GPL. If someone else wants to take this and make it part of a closed-source project they can, while GPL forbids that. There are other differences, but that's probably the most significant. I just wanted to be very clear that anyone is free to adapt this in any way they want to.
First Release of 2020 - New features and several bugfixes!

...but still no cAPI support. Sorry, PS4 and Xbone Elite players, but it's coming I swear!
There ended up being more work than I anticipated getting it working, and an ever increasing pile of other fixes and features started to build up in the meantime, so rather than continue waiting for a monster of a release with everything dropping at once I'm withholding my work so far on cAPI support and releasing the rest of what's done. This will also allow a (hopefully) cleaner foundation for the cAPI release, with any bugs in what is being added now resolved before then.
In this update:
  • New Features
    • Codex data transmission to the Intergalactic Astronomical Union.
      This data is completely anonymous, containing only information that is found in CodexEntry journal lines (which isn't much). If you want to help a group of players catalogue the various biological and geological signals throughout the galaxy simply enable "Transmit Codex Discoveries to IGAU discovery catalog" in the settings window.
      The foundation of this change was added by @CMDR Urania Minora, so questions about the particulars of why they collect this data should be directed there.
    • Notifications via Telegram.
      You can now receive Observatory notifications via the Telegram messaging service. This feature was added by @MattG. Please direct all questions about this functionality there.
    • "Codex Discoveries" criteria added.
      This setting is independent of the IGAU transmission, you don't need to see the codex lines in order to transmit them. I just figured that while I was reading them I might as well offer the option to see them as well.
    • "All Surface Materials (system)" criteria added.
      Also known as "Gold" systems. These are systems within which every surface prospectable material can be found.
    • Version number added to title bar. (#17)
    • Added "Select All" and "Select None" buttons for built-in criteria.
  • Bug Fixes
    • #12 - Window offscreen on startup
      Will now ensure that window location on startup is visible.
    • #16 - Custom criteria error for some users
      Both dots and commas are now treated as decimal separators in customer criteria values, regardless of user regional settings.
    • #21 - Asking for journal location every launch
      Non-standard journal file locations are now remembered and should not be asked for again.
    • Fixed an issue nobody else noticed that would cause Elite Observatory to progressively use more and more memory if a user repeatedly performed "Read All Logs" in a single session.
  • Under-The-Hood Changes
    • Tracking materials found now uses enumerated flags instead of crazy string replacement. Should be more performant, but more importantly it's now easier to maintain and expand functionality surrounding materials going forward.
    • Changed internal web requests from System.Net.WebClient to System.Net.Http.HttpClient singleton. Should be easier to add more web based functionality going forward.
    • Improved custom criteria error handling. Users should now see more useful errors in the event something goes wrong.
As usual if there are any issues, please let me know!
Have just downloaded and run V0.4.20.018. I am surprised that it didn't ask for my journal ocation, and hitting "read all logs" does nothing - though I would have thought that in the years I have been exploring, I would have found something interesting.
Have I done something wrong. I have just the observatory app - no config or ini files...?
Have just downloaded and run V0.4.20.018. I am surprised that it didn't ask for my journal ocation, and hitting "read all logs" does nothing - though I would have thought that in the years I have been exploring, I would have found something interesting.
Have I done something wrong. I have just the observatory app - no config or ini files...?
Not asking is normal. Usually the journal location can be found automatically. Finding nothing after years of exploration is not. It's hard to say why that might be though.

If you don't mind you could send me your journals in a PM and I could at least confirm if there's anything in there, and if there isn't we can start digging further.
New release:

This is a big one.

Companion API support has been added, which means console players can now use Elite Observatory to scan their logs. When enabling cAPI in the settings you will see an option to retrieve logs in the main window, which will prompt you for a Frontier account login when started. The retrieval of your logs can take some time so be patient. You'll see a display in the main window for which day's logs are currently being requested.
In the interest of not constantly hammering Frontier's API endpoint realtime monitoring is not implemented, nor do I know if it's even possible as I'm not sure about the delay between an in-game event and it becoming available via the API.
This is largely untested (I don't have a PS4 or Xbone), so please let me know of any issues.

Also new is a built-in window for editing the criteria xml, which also has a rudimentary validity check before saving to prevent malformed criteria files. The editor is very basic, so copying xml snippets from a more capable editor such as Notepad++ or Visual Studio Code is probably recommended if you have criteria of any real complexity, but this will at least save you the trouble of hunting down the xml location.

Some new custom criteria options have come along for the ride as well, mostly related to planetary rings. Details will be added to the wiki soon.

The final big change is that an application installer is now available for those who would like to use one. The default install location is inside the user appdata folders, as the criteria xml file currently lives in the same folder as the executable, so installing into a user-writable location is necessary.
The exe created by the installer is not statically linked and therefore not quite as portable, but the original portable exe remains available for anyone who doesn't want to make the switch.

I also have a fancy new icon which was created using SpaceEngine.

Other minor changes are in the list below:

  • Companion API Support (#8)
  • Criteria Edit Window added (#7, ish)
  • New Icon
  • Application Installer (#9)
  • Minor TTS changes for how rings are announced
  • Precision of orbital eccentricity details has been increased
  • Automatic detection of journal file location improved (#25)
  • Minor changes to data sent to IGAU
  • New Custom criteria added
New release available, folks!


This is a relatively small release. Working from home for the past few weeks and losing the physical work/home separation has robbed me of a lot of my motivation to work on my own projects in my free time, so I apologise to anyone who was hoping for more in upcoming releases.
Nevertheless,I've got a couple of bugfixes and some new functionality added that I'd like to get out to people. All three of the new features were requests from users, so thanks for your suggestions, and keep them coming!

"Uncommon secondary stars" will alert you to the presence of any secondary star that is not main sequence, a brown dwarf, or T Tauri class. These are sometimes non-obvious, especially in systems without planetary bodies where you might not even bother to check your system map.

The auto-clear list option should be self-explanatory. It will clear the visible list of interesting objects any time a scan comes in for an object that doesn't match the system of the previous scan. Keeping your list clean and easier to consume at a glance while flying.

The final new functionality is a new right click option to mark uninteresting bodies as interesting so they stay in the list. Elite Observatory is obviously not the final arbiter of what's interesting. If you see something interesting that's not covered by any criteria you can now stop it from disappearing from the list on next scan, to help ensure that you don't forget it before leaving the system.
Note that this does not persist between sessions, and bodies you mark in this way will not reappear in subsequent results when reading all journals.

Other bugfixes below:
  • Added new built-in criteria for uncommon secondary stars
  • Add option to auto-clear list on system changes
  • Add ability to mark "uninteresting" bodies so they are not removed on next scan
  • Fix issue with gold system reporting being repeated
  • Periodically trim internal system dictionary to reduce resource usage and improve performance with large journal sets
  • Prevent visual flicker when list updates
  • Custom criteria sample file now has criteria commented by default
  • ">50% size of planet" sample criteria blocked
As with the previous release, you have the option of running the standalone/portable exe, or using the msi to do a "proper" installation.
New release!

Spreadsheet And CSV Export

New feature that's probably one of the oldest outstanding requests, exporting the content of the main window to a file!
There are two ways to export, both accessible by right clicking the list, "export selected" and "export all". What they do is hopefully self-explanatory. You will also have two options for file types for the export, Office Open XML (.xlsx), and semicolon delimited text (.csv).
Why xlsx and not some other format like ods? Mostly on account of PicoXLSX being the smallest spreadsheet writing library I could find.
As ever, if there are any issues let me know.

Top Bottom