diff --git a/.github/workflows/jekyll-github-pages.yml b/.github/workflows/jekyll-github-pages.yml new file mode 100644 index 0000000..36654f3 --- /dev/null +++ b/.github/workflows/jekyll-github-pages.yml @@ -0,0 +1,34 @@ +name: Build and deploy Jekyll Site to GH pages +on: + push: + branches: gh-pages-local-dev +jobs: + jekyll: + runs-on: windows-latest + steps: + - name: 📂 setup + uses: actions/checkout@v2 + + # include the lines below if you are using jekyll-last-modified-at + # or if you would otherwise need to fetch the full commit history + # however this may be very slow for large repositories! + # with: + # fetch-depth: '0' + - name: 💎 setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + + - name: 🔨 install dependencies & build site + uses: limjh16/jekyll-action-ts@v2 + with: + enable_cache: true + + - name: 🚀 deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./_site + # if the repo you are deploying to is .github.io, uncomment the line below. + # if you are including the line below, make sure your source files are NOT in the "main" branch: + publish_branch: gh-pages diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..07d3afd --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Ignore metadata generated by Jekyll +_site/ +.sass-cache/ +.jekyll-cache/ +.jekyll-metadata + +# Ignore folders generated by Bundler +.bundle/ +vendor/ diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..8468a7c --- /dev/null +++ b/Gemfile @@ -0,0 +1,45 @@ +source "https://rubygems.org" + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 3.9.0" + +# This is the default theme for new Jekyll sites. You may change this to anything you like. +#gem "minima", "~> 2.0" +gem "minimal-mistakes-jekyll" + +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do + gem "tzinfo", "~> 1.2" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform? + +# kramdown v2 ships without the gfm parser by default. If you're using +# kramdown v1, comment out this line. +gem "kramdown-parser-gfm" + + +git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } + +gem 'jekyll-font-awesome-sass' + +gem "github-pages", "~> 214", :group => :":jekyll-plugins" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..456f74c --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,294 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.0.3.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.8) + dnsruby (1.61.5) + simpleidn (~> 0.1) + em-websocket (0.5.2) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.14.0) + ffi (>= 1.15.0) + eventmachine (1.2.7-x64-mingw32) + execjs (2.7.0) + faraday (1.4.1) + faraday-excon (~> 1.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-excon (1.1.0) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.1.0) + ffi (1.15.0-x64-mingw32) + font-awesome-sass (5.15.1) + sassc (>= 1.11) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (214) + github-pages-health-check (= 1.17.0) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.6) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.7.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.4) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.1) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.10.4, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.0) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 2.0.2, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.0) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.9.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-font-awesome-sass (0.1.1) + font-awesome-sass (>= 4) + jekyll (>= 2.5, < 4.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.1) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.5.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minimal-mistakes-jekyll (4.22.0) + jekyll (>= 3.7, < 5.0) + jekyll-feed (~> 0.1) + jekyll-gist (~> 1.5) + jekyll-include-cache (~> 0.1) + jekyll-paginate (~> 1.1) + jekyll-sitemap (~> 1.3) + minitest (5.14.4) + multipart-post (2.1.1) + nokogiri (1.11.3-x64-mingw32) + racc (~> 1.4) + octokit (4.21.0) + faraday (>= 0.9) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.6) + racc (1.5.2) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.26.0) + ruby-enum (0.9.0) + i18n + ruby2_keywords (0.0.4) + rubyzip (2.3.0) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sassc (2.4.0-x64-mingw32) + ffi (~> 1.9) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.9) + thread_safe (~> 0.1) + tzinfo-data (1.2021.1) + tzinfo (>= 1.0.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7-x64-mingw32) + unicode-display_width (1.7.0) + wdm (0.1.1) + zeitwerk (2.4.2) + +PLATFORMS + x64-mingw32 + +DEPENDENCIES + github-pages (~> 214) + jekyll (~> 3.9.0) + jekyll-feed (~> 0.6) + jekyll-font-awesome-sass + kramdown-parser-gfm + minimal-mistakes-jekyll + tzinfo (~> 1.2) + tzinfo-data + wdm (~> 0.1.0) + +BUNDLED WITH + 2.2.16 diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..41ffa2a --- /dev/null +++ b/_config.yml @@ -0,0 +1,84 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +# title: Your awesome title +# email: your-email@example.com +# description: >- # this means to ignore newlines until "baseurl:" +# Write an awesome description for your new site here. You can edit this +# line in _config.yml. It will appear in your document head meta (for +# Google search results) and in your feed.xml site description. +# baseurl: "" # the subpath of your site, e.g. /blog +# url: "" # the base hostname & protocol for your site, e.g. http://example.com +# twitter_username: jekyllrb +# github_username: jekyll +# +# # Build settings +markdown: kramdown +# theme: minima +theme: "minimal-mistakes-jekyll" +minimal_mistakes_skin: "air" + +plugins: + - jekyll-feed + - jekyll-font-awesome-sass + +#theme: minimal-mistakes-jekyll +title: ECHO +description: External Calibrator for Hydrogen Observatories +#header: ECHO_page_header4.png +#header: Mk7_header.JPG + + +defaults: + # _posts + - scope: + path: "" + type: posts + values: + layout: single + author_profile: true + read_time: false + comments: false + share: false + related: true + - scope: + path: "" + type: links + values: + sidebar: + nav: "links" + - scope: + path: "" + type: "pages" + values: + sidebar: + nav: "links" + header: + image: /assets/images/ECHO_page_header5.png + #image: /assets/images/Mk7_header.JPG +font-awesome: + assets: true +baseurl: "/ECHO" +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +# exclude: +# - Gemfile +# - Gemfile.lock +# - node_modules +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_data/navigation.yml b/_data/navigation.yml new file mode 100644 index 0000000..0a6b4cb --- /dev/null +++ b/_data/navigation.yml @@ -0,0 +1,20 @@ +main: + - title: "About" + url: /about/ + - title: "Memos" + url: /memos/ + - title: "FAQ" + url: /faqs/ + - title: "Hardware" + url: /hardware/ + # - title: "Software" + # url: /software.html + # - title: "Community" + # url: /community.html +links: + - title: Resources + children: + - title: " Github" + url: https://github.com/dannyjacobs/echo + - title: " ReadTheDocs" + url: "https://external-calibrator-for-hydrogen-arrays-echo.readthedocs.io/" diff --git a/_posts/2021-04-26-welcome-to-jekyll.markdown b/_posts/2021-04-26-welcome-to-jekyll.markdown new file mode 100644 index 0000000..783ae83 --- /dev/null +++ b/_posts/2021-04-26-welcome-to-jekyll.markdown @@ -0,0 +1,25 @@ +--- +layout: single +title: "Welcome to Jekyll!" +date: 2021-04-26 09:19:14 -0700 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: https://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/about.md b/about.md new file mode 100644 index 0000000..9351874 --- /dev/null +++ b/about.md @@ -0,0 +1,31 @@ +--- +layout: single +title: About +permalink: /about/ +--- + +The ECHO project is an open source hardware/software project. Join us! + + + * We have an active "Slack Connect" channel, accessible to anyone with a Slack account. To be invited, email Danny + * Ask questions on [Github Discussions](https://github.com/dannyjacobs/ECHO/discussions) + * Analysis code on [ Github](https://github.com/dannyjacobs/echo) + * Code documentation on [ReadTheDocs](https://external-calibrator-for-hydrogen-arrays-echo.readthedocs.io/) + * Hardware also on [ Github](https://github.com/dannyjacobs/ECHO/tree/master/hardware) + * Build logs, flight reports, and other topics are covered in the [Memo series](/memos/) + * ECHO is organized by [Professor Daniel Jacobs](https://danielcjacobs.com) in the [Low frequency Cosmology Lab](https://loco.lab.asu.edu) at Arizona State University. + + + + +[![Field Work Photo Album](/ECHO/assets/images/photo_stream.JPG "Photo album")](https://photos.app.goo.gl/FhfUff5KtNi9NXTG2) + +# Presentations +Presentations etc + * “External Calibration of Hydrogen Arrays” M. Gopalkrishna, URSI-NRSM + * “Drone-based Beam Mapping of the LWA.”, D. Jacobs, University of New Mexico, LWA Users Meeting, July 2020 ([pptx](http://danielcjacobs.com/uploads/ECHO_LWAUM_2020.pptx)) + * “The Airborne External Calibration for Precision Low Frequency Instrumentation”, D. Jacobs, Caltech, March 2019 ([pdf](http://danielcjacobs.com/uploads/ECHO_March2019_small.pdf)) + * “The External Calibrator for Hydrogen Observatories”, D. Jacobs, URSI Boulder, January, 2016 (slides lost to ravages of time etc etc) + + +[jekyll-organization]: https://github.com/jekyll diff --git a/assets/css/main.scss b/assets/css/main.scss new file mode 100644 index 0000000..8940006 --- /dev/null +++ b/assets/css/main.scss @@ -0,0 +1,26 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- +@charset "utf-8"; + +@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin +@import "minimal-mistakes"; // main partials + +$fa-font-path: "fonts/font-awesome/"; +@import 'font-awesome'; + +html { + font-size: 14px; // change to whatever + + @include breakpoint($medium) { + font-size: 16px; // change to whatever + } + + @include breakpoint($large) { + font-size: 18px; // change to whatever + } + + @include breakpoint($x-large) { + font-size: 20px; // change to whatever + } +} diff --git a/faqs.md b/faqs.md new file mode 100644 index 0000000..58dc369 --- /dev/null +++ b/faqs.md @@ -0,0 +1,48 @@ +--- +layout: single +title: Frequently Asked Questions +permalink: /faqs/ +--- + **Whats the backstory to this project?** + The project began in 2012 at Arizona State University as a student powered instrumentation development. It has been supported by the National Science Foundation (AST-1407646, AST-1711179) + + **Do you buy drones or build your own?** + We have used both Commercial drones and custom builds. The current Mark 7 platform (ca 2019) is a custom build using kit parts. (build log in memo 51) + + **What kind of antenna do you use** + We use the [Aaronia Bicolog 5070](https://aaronia.com/antennas/bicolog-series-biconical). It is a calibrated biconical rated from 30MHz to 2GHz. There are higher frequency models available. It is robust to abuse and has a very smooth frequency response. + + **How high do you fly?!** + We are limited by FAA regulations to a height of 400ft above ground. Much higher and one loses line of sight anyway. + + **How long can the drone stay up?** + Flight time: 45min hover, 30 minute mapping sorties + + **How do you mount everything?** + This is the main question! We're always making new mounts. They are generally 3D printed PLA and fixed beneath the drone between the legs. + + **Doesn't the presence of the drone distort the calibrator beam?** + Modeling suggests that proximity to the drone is not the dominant uncertainty in the drone beam. + + **Does the Mk7 battery really mount on top?** + Yes. This is somewhat novel for a battery of the size we're using, but despite seeming dreadfully unstable it works fine + + **What is the frequency Coverage?** + We've tested with tones at 137Mhz and at 70MHz. Eventually our goal range is 50 to 250MHz with at least 20MHz simultaneous coverage. + + **What is the drone position accuracy?** + We estimate 8cm uncertainty using RTK GPS. The actual positioning accuracy is less. + + **What transmitters do you use?** + * Transmitter V1 used dual tone Valon 5009 VCO (23 - 6GHz). + * TX V2 will add chopping. + * TX V3 will add 20MHz band limited noise + + **Who does the flying?** + Danny is Part 107 certified pilot with 7 years, 45 hours on controller with a 100+ flights. + + **What is in your field kit?** + 3 spare drones (essential!), 2 spare antennas, SAS542 folding bicone + stand for auxiliary receiver. The whole mess fits into 4 custom pelican cases. + + **How much does the drone build cost?** + The Mk7 cost ~$1200 each in parts in 2018 diff --git a/hardware.md b/hardware.md new file mode 100644 index 0000000..6de7ecc --- /dev/null +++ b/hardware.md @@ -0,0 +1,21 @@ +--- +sidebar: + nav: "links" +layout: single +permalink: /hardware/ +--- +![image-right](/ECHO/assets/images/GB_2015_1.jpg){: .align-left} +# Drones +We have built and bought different drone platforms since 2012. Much has changed in +that time as companies come and go, new capabilities emerge, and our techniques improve. Currently we are on Mark 7, a custom build hexacopter based on power and frame kits from DJI. In testing drones Mk 1-6 we developed a set of requirements + which are described in [memo 40](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO040_ECHO_Drone_Requirements.pdf). See [memo 52](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO052_Drone_Evaluation_2020.pdf) for a summary of recent testing and our motivation for the current design. + + +![image-right](/ECHO/assets/images/Mk7_mountApril2021_2in.png){: .align-right} +# Payload Mounts +We typically mount the payload (transmitter, filters, antenna) beneath the drone. Most of the time we use 3D printed plastic. It is lightweight and rigid. Solid model files are [here](https://github.com/dannyjacobs/ECHO/blob/master/hardware/ECHO_hardware_summary.rst). + + +# Transmitters + * [Valon 5009](https://www.valonrf.com/frequency-synthesizer-6ghz.html) + * TituTx V1 (ASU custom, memo TBD) diff --git a/index.md b/index.md new file mode 100644 index 0000000..90dc3d1 --- /dev/null +++ b/index.md @@ -0,0 +1,46 @@ +--- +layout: splash +header: + overlay_color: "#000" + overlay_filter: "0.5" + overlay_image: /assets/images/Mk7_header.JPG +excerpt: The External Calibrator for Hydrogen Observatories - Precision measurement of radio receivers with a drone-based source. + +#toc: true +#toc_label: "On this page" +#toc_icon: "gear" +#toc_sticky: true +sidebar: + nav: "links" + +gallery: + - url: /assets/images/mk3_GB_HERA.jpg + image_path: /assets/images/mk3_GB_HERA.jpg + alt: "ECHO at HERA GB" + title: "above HERA dish at Green Bank, WV" + - url: /assets/images/mk7_chiropter.jpg + image_path: /assets/images/mk7_chiropter_cropped.JPG + alt: "mk7 chiropter" + title: "chiropter (ECHO mk 7)" + - url: /assets/images/beam_2017.jpg + image_path: /assets/images/beam_2017_cropped.jpg + alt: "beam 2017" + title: "beam 2017" + +--- +# Drone-based calibration of wide-field radio instruments. + +Many modern radio arrays have very wide fields of view. The antenna directional response can be difficult to characterize. High redshift 21cm experiments like EDGES, OVRO LWA or HERA are particularly sensitive to unexpected systematics in beam response. With a transmitter mounted to a drone we can provide a known signal at a known location. Such measurements also support a wider range of science applications including stellar activity, exoplanets, planetary magnetospheres, and cosmic ray observatories. [Learn More](/about/) + +The method paper answers many common questions. (Jacobs et al 2017, [journal](https://ui.adsabs.harvard.edu/abs/2017PASP..129c5002J/abstract), [arxiv preprint](https://arxiv.org/abs/1610.02607)) + +{% include gallery caption="Beam mapping campaign, recent drone setup, and an example map" %} + + + + +# Open Source Hardware project +Software, hardware specs, 3d printable models etc on [ Github](https://github.com/dannyjacobs/ECHO/) + + +ECHO is supported by the National Science Foundation, and the [Low frequency Cosmology lab](https://loco.lab.asu.edu) at Arizona State University diff --git a/memos.md b/memos.md new file mode 100644 index 0000000..dff1b65 --- /dev/null +++ b/memos.md @@ -0,0 +1,35 @@ +--- +layout: single +permalink: /memos/ +--- + +ECHO Project Memo Series (2014 - present) + + +1. Not all numbers in the sequence are posted here. Usually because they were used for internal purposes. +2. Other interesting memo series: [LoCo@ASU](http://loco.lab.asu.edu/loco-group-memoranda/), [HERA](https://reionization.org/science/memos), [EDGES](http://loco.lab.asu.edu/memos/), [VLA](https://library.nrao.edu/vla.shtml), [Lightwork](https://github.com/WVURAIL/lightwork) +3. Add your contribution! Send submissions to [Danny](https://danielcjacobs.com) or [submit a PR on Github](https://github.com/dannyjacobs/ECHO) +{: .notice--info} + +* \#[000](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO000_Memo_template.pdf) 26/01/2020 Template, How To Write A Good Memo, D. Jacobs +* \#[001](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO001_First_field_test_2014.pdf) 29/11/2014 First Field Test, M. Denny and M. Busch +* \#[007](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO007_Flight_Log_2015.pdf) 12/2/2015 An Exciting Crash Report, M. Leatham +* \#[009](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO009_Flight_Log_2015.pdf) 6/4/2015 Another Flight Report, M. Leatham +* \#[012](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO012_Photo_Mapping_Test.pdf) 6/6/2015 Photo Mapping Test, D. Jacobs and B. Stinnett +* \#[013](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO013_Position_Data.pdf) 30/6/2015 Is camera position pose inference as good as GPS? Anonymous +* \#[015](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO015_Drone_Design_Specs.pdf) 20/10/2017 ECHO Drone Design Specs, M. Horn +* \#[016](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO016_Docker_Setup_for_GNURadio_testing.pdf) 1/5/2018 Notes On A Docker Setup for GNUradio testing M. Horn +* \#[019](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO019_Oblix_Blimp_Mounting_Strategy.pdf) 1/5/2018 A Mounting Strategy for the ObliX blimp, M. Horn +* \#[020](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO020_CST_to_Examine_Beam_Pattern_Differences_from_Solidworks_Models.pdf) 1/12/2018 How to use CST to examine beam differences from Solidworks Models, M. Horn +* \#[026](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO026_drone_trade_study_2017_horn.pdf) 1/8/2017 Drone Trade Study, M. Horn +* \#[027](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO027_2017_drone_selection_data.pdf) 18/8/2017 Drone Selection Study, M. Horn +* \#[029](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO029_Logged_GPS_Data_Explanation.pdf) 8/24/2019 Logged GPS Data Explanation, M. Horn +* \#[030](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO030_mitigation_of_drone_rfi.pdf) 18/9/2019 Mitigation of Drone RFI, M. Gopalkrishna, M. Horn, S. Davis, D. Jacobs +* \#[031](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO031_Field_Procedure.pdf) 10/9/2019 ECHO Calibration Procedure, M. Horn +* \#[040](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO040_ECHO_Drone_Requirements.pdf) 7/2/2018 ECHO Drone Requirements, M. Horn, D. Jacobs +* \#[042](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO042_LWASV_survey_marker_position.pdf) 16/4/2020 LWA-SV Survey Marker Position, M. Gopalkrishna +* \#[047](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO047_Chiropter_Channel_Configuration.pdf) 1/7/2020 Chiropter RC Channel configuration, M. Horn +* \#[048](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO048_Anechoic_Chamber_Background_Measurements.pdf) 12/10/2020 Background inside large ASU anechoic chamber, M. Horn, D. Jacobs +* \#[050](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO050_Drone_History_Table.pdf) 1/10/2020 Tabular summary of drone requirements and testing M. Horn, D. Jacobs +* \#[051](http://danielcjacobs.com/echo/echo-memos/ECHO051_Chiropter_Build_Log.pdf) 19/1/2019 Chiropter (ECHO Mk 7) build log M. Horn +* \#[052](http://danielcjacobs.com/uploads/ECHO_Memos/ECHO052_Drone_Evaluation_2020.pdf) 24/03/2021 Evaluation of Drone Options D. Jacobs diff --git a/memos/index.html b/memos/index.html index be61ca0..5749334 100644 --- a/memos/index.html +++ b/memos/index.html @@ -262,6 +262,9 @@

Skip links

  • #050 1/10/2020 Tabular summary of drone requirements and testing M. Horn, D. Jacobs
  • #051 19/1/2019 Chiropter (ECHO Mk 7) build log M. Horn
  • #052 24/03/2021 Evaluation of Drone Options D. Jacobs
  • +
  • #053 28/1/2021 Chopper Board Switch Isolation, M. Horn
  • +
  • #057 2/1/2022 Bench testing the Chopper Board, M. Gopalkrishna
  • +
  • #059 9/28/2022 On Off Modulation with the RC Chopper, D. Jacobs