MisterHW
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee
  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    1
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # How to (not) ruin your PCB antenna PCB antenna structures sense their immediate surroundings. Electric permittivity, conductivity and magnetic susceptibility of nearby elements directly impact the resonant frequency. In high speed PCB design, the 20H and 3W rules give an idea how to minimize coupling between planes and traces, respectively, https://www.autodesk.com/products/eagle/blog/top-10-tips-high-speed-pcb-design/ (please find other source, do not promote Autodesk) but it's also the primary mission in DC/DC converter design to make very bad antennas, as unintentional radiators are what causes device to fail radiated emissions compliance. "The goal of our DC/DC converter design is to make bad antennas out of the loops that carry the high di/dt currents." https://www.ti.com/lit/an/snva638a/snva638a.pdf?ts=1650145296240 Things to look out for thus include measures that would otherwise be implemented to prevent radiated emissions. Look out for * conductive elements near the antenna, especially extended planes, but also stray wiring or screws, * metalized stickers on the enclosure, * plastic elements next to or on top of the antenna (keep ~10mm distance, some module datasheets (u.blox?) specify good practices rules), * larger circuit components next to the antenna and connectors. The author has first-hand experience in ruining the range of bluetooth modules mounted centimeters next to steel brackets, and completely eliminating module function with a drop of PU resin seeping into RF shielded sections. Bad design is everywhere though. On the bright side, some simple methods can help ensure design success, and in turn help build intuition. Below you may find a few basics covering the characteristics of PCB antennas (mostly for 2.4 GHz), followed by a growing list of examples found out in the wild that are likely to have degraded performance by making individual sets of mistakes when implementing a design containing such an antenna. Finally, some references are given to help with one's own antenna design and integration, which come down to: - **understanding factors that lead to detuning** of antenna resonance frequencies and altered radiation patterns, - design (or use) of planar inverted-F antennas (PIFA) taylored to the final PCB / PCB stack thickness, - physically **tuning** antenna structures in prototypes, and - finding appropriate values for the **impedance matching** netork. <!-- ## How hard can it be to make a good antenna? Sure, one can make an antenna out of sea water... https://hackaday.com/2017/01/09/pumping-up-an-antenna-from-a-stream-of-sea-water/ but when it comes to small, integrated antennas, dielectric resonators (chip antennas) and planar antenna structures (e.g. inverted-F) have become the most prevalent. In transmit mode, electromagnetic waves emenate from an antenna structure and continue to propagate in free space into infinity: ![](https://i.imgur.com/9e7eUTm.png) https://www.kindpng.com/imgv/mmwwwJ_radio-waves-emanate-from-the-antenna-hd-png/ ### Shitty Transmitter Antennas Are Shitty Receiver Antennas When watching an animated version of this wave generation process in reverse, one is tempted to assume that time reversal implies antenna reciprocity: https://resources.system-analysis.cadence.com/blog/msa2021-understanding-the-circuit-and-antenna-reciprocity-theorem However, there's more to it: https://ieeexplore.ieee.org/document/6347959 PCB integrated antennas are very cost-effective, but antennas aren't simply components that can be placed and work out of the box. Any solution to a real-world antenna problem contains the interaction of electric and magnetic fields with surrounding matter. Example: Dipole antennas under water are surrounded by a high-permittivity medium, which lowers the resonant frequency: https://www.quora.com/Does-an-underwater-antenna-need-to-be-tuned-to-a-different-length-than-an-antenna-in-air-at-the-same-frequencies --> ## E and H Fields FEM and FDTD simulations are set up and run routinely to extract characteristic curves (S-parameters and [impedance linked to them](https://www.analog.com/en/technical-articles/converting-sparameters-from-50937-to-75937-impedance.html)), but also to obtain the radiation pattern in the far field (via near-field to far-field transform (NF2FF), which is also used [experimentally](https://nf2ff.sourceforge.net/)). E and H fields in time domain however can be extracted at every location in the simulation volume and their plots help understand how an antenna structure is not just a shape on the PCB, but include the space around it. [JTL Engineering B.V.](https://jtl-engineering.com/antenna.html) (not affiliated) shares these views of the electric and magnetic fields. E-Field: as the antenna structure resonates, the highest voltages are observed at the far end of the meandered trace. The animation however shows the electric field as the gradient strength, putting the electric potential in context with the distance to the nearest ground plane. The take-away from the animated plot is that the antenna structure "sees" (is affected by) a fair bit of its immediate surroundings. ![](https://i.imgur.com/pUdJy0C.gif) H-Field: Energy in the magnetic field is mostly localized around the inductive loop and meander near the feed line. At 2.4 GHz, the skin depth in Cu is below 1.4 µm, so even a 25µm thick inner layer is not penetrated. Take-away: even though the shorting path is at ground potential near DC, it is surrounded by an AC magnetic field which cannot be ignored. No components should be placed closer than a few mm away from the loop, and no copper pour should impede the free space shape of the magnetic field lines. ![](https://i.imgur.com/ru2OJ5D.gif) <!-- ![](https://i.imgur.com/76ptkiu.png) ([source](https://electronicstechnician.tpub.com/14092/css/Figure-3-41-Probe-Coupling-In-A-Rectangular-Waveguide-75.htm)) --> ## Effect Of Ground Plane Under The Antenna ![](https://i.imgur.com/QaPMcBB.png) Ground Effects The size and shape of the ground plane will affect the radiation pattern. Figure 15 shows an example of how the ground plane affects the radiation pattern. If for example a GND plane is extended, when an antenna board is being plugged onto a base board, this has effects to the antenna match compared to using the antenna board as stand alone. The change in size and shape of the ground plane not only changes the gain but the radiation pattern. Since many SRD applications are mobile, it is not always the peak gain that is most interesting. The TRP and antenna efficiency gives a better indication on power level that is transmitted from the DUT. In Figure 15 one can see that the toroid is flattened in the bottom area, which will result in no power output in that direction. ([source](https://www.thethingsnetwork.org/forum/uploads/default/original/2X/0/01a147d119fadd0421ec77c0e56099d8349e7748.pdf)) ## A Selection Of Sins ### Metal Next To The Antenna * metal and mounting hole left of the antenna * copper and a connector on the right side of the antenna. ![](https://i.imgur.com/eHoXTTy.png) https://aliexpress.com/item/4000437975620.html * antenna not on the edge of the PCB assembly * antenna surrounded by copper pour ![](https://i.imgur.com/X0IOeit.png) https://hackaday.io/project/184660-9-pisquare-can-connect-multiple-hats-wirelessly * antenna surrounded by copper pour ![](https://i.imgur.com/emfUu7Z.jpg) LTT: https://www.youtube.com/watch?v=QoC8R3KHk8E ... which is probably this relay board product: ![](https://i.imgur.com/bx6Y9M5.png) https://usa.banggood.com/5V-or-7-28V-Power-Supply-8-Channel-ESP8266-WIFI-8-way-Relay-Module-ESP-12F-Development-Board-Secondary-Development-Board-p-1833055.html A rather interesting antenna design comes under the name "ProAnt Niche", a planar resonant cavity antenna licensed by the Pi foundation, put into its BT / Wifi supporting products, and probably regularly suffering from sub-optimal use in target applications: - antenna in the middle of the PCB - antenna surrounded by copper and other conductive elements - FR4 material likely not removed underneath antenna structure - stackable design guides users towards adding a copper plane in 12-15mm distance over the antenna structure, with two of the sides connected to both PCBs via stacking headers to create a partial shielding cage. ![](https://i.imgur.com/CcLEDjD.png) Information regarding the design and how mistakes could have been prevented are openly available. - Abracon (formerly ProAnt AB) Niche antenna: https://abracon.com/niche-antennas - PRO-EB-592 Antenna eval board: https://abracon.com/parametric/antennas/PRO-EB-592 - Nominal antenna behavior and as-intended antenna environment can usually be gleaned from FCC lab test setups: https://fcc.report/FCC-ID/2ABCB-PICOW/ - third-party radiation pattern measurements by Antenna Test Lab: https://antennatestlab.com/antenna-examples/raspberry-pi-model-3b-antenna-evaluation-gain-pattern - Pico documentation (general): https://raspberrypi.github.io/pico-sdk-doxygen/weblinks_page.html - Design Guide "Hardware Design With RP2040": https://rptl.io/rp2040-design / https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040.pdf - some useful links can be found in this ycombinator discussion as well: https://news.ycombinator.com/item?id=16874208 - Official introduction of the antenna design in RPi products: https://magpi.raspberrypi.com/articles/pi-zero-w-wireless-antenna-design - ArdiPi Kickstarter page: https://www.kickstarter.com/projects/picobarcodescanner/ardipi-modern-solution-using-cutting-edge-technologies?lang=en To quote from `Hardware Design With RP2040`: If anything is placed close to the antenna (in any dimension) the effectiveness of the antenna is reduced. Raspberry Pi Pico W should be placed on the edge of a board and not enclosed in metal to avoid creating a Faraday cage." ![](https://i.imgur.com/MiXrkvx.png) Obviously, there is an abundance of information on how to design with this antenna-containing module, as the Pico W eval board shows in no uncretain terms: the antenna structure is supposed to be at the edge of the parent PCB, and dielectric material is supposed to be removed underneath: ![](https://i.imgur.com/pcPijMi.png) The Kickstarter images do not expose how the underside of the two products looks, but it would appear that they lack the requisite antenna-shaped cutouts. ### Metal Under Antenna * groundplane underneath antenna * connector right next to antenna * PCB traces routed underneath antenna ![](https://i.imgur.com/1Vqk2Mp.jpg) later released as a Kickstarter project, leaving the groundplane in place. ![](https://i.imgur.com/J3gfgPf.jpg) https://www.kickstarter.com/projects/picobarcodescanner/roundy-round-lcd-board-based-on-pico ### Copper Fill Into Antenna Structure * non-functional copper fill into meander pattern * meander has suspicious aspect ratio * no ENIG finish * antenna not bounded by groundplane edge but components (original PCB has top and bottom groundplane and via stitching) * backside is also solid copper infill ![](https://i.imgur.com/lDlCK4p.png) ![](https://i.imgur.com/raxIfmq.png) https://hackaday.com/2022/03/26/reverse-engineering-your-own-bluetooth-audio-module/ ### Dielectric Material On Antenna * perforated PCB might be acceptable * connectors, cables and probably traces next to, under and over antenna * large blob of hot-snot on antenna ![](https://i.imgur.com/77NTBwd.png) https://hackaday.com/2018/06/07/wifi-pool-controller-only-cost-20/ * module with antenna extends over the edge of the parent PCB, unclear whether the antenna is designed for the resulting PCB thickness * heat shrink over antenna, effect unclear ![](https://i.imgur.com/WWDc8G2.png) https://de.aliexpress.com/item/32699819094.html? Anecdotally, here's a report on enclosures influencing GPS reception. With 1-3mm of plastic on top of a dielectric resonator antenna, the number of satellites seen and accuracy achieved indeed dropped in a quick experiment. More distance from the antenna might be needed. ![](https://i.imgur.com/tQS3HTg.png) https://meshtastic.discourse.group/t/the-importance-of-gps-antennas-and-request-to-3d-case-documentation-people/1505/3 ## What Needs To Be Done Design rules-of-thumb, PCB manufacturing issues and when/when not to worry about RF aspects: "Practical RF Hardware and PCB Design Tips - Phil's Lab #19" https://www.youtube.com/watch?v=_Hfzq1QES-Q If you want the full antenna design experience: ![](https://i.imgur.com/9tE5K30.png) https://lcantennas.com/a-complete-guide-for-pcb-2-4g-antenna-design/ Known good antenna designs are available, e.g. ![](https://i.imgur.com/Yo76lMx.png) https://www.silabs.com/documents/public/application-notes/an1088-designing-with-pcb-antenna.pdf If you fancy the "community edition", inverted-F antennas are now also part of a KiCad library: ![](https://i.imgur.com/43GBKmm.png)![](https://i.imgur.com/kGIL81B.png) https://twitter.com/sad_electronics/status/1517874391803179008 https://github.com/sad-electronics/wch-kicad-lbr This AliExpress item also looks very suspiciously like someone copy-pasted a known good meandered inverted-F antenna design: ![](https://i.imgur.com/iCiYJLM.png) Once implemented, they should be measured or tuned: ![](https://i.imgur.com/malQV3h.png) "Tektronix - If you’re integrating an off-the-shelf antenna with a wireless module, you need to ensure that the impedance of the antenna matches the impedance of the wireless module. Mismatch can result in reduced data packets, signal range and wasted battery life. In this video, we show you how to improve the design and verify the performance of the antenna matching circuit placed between the antenna and wireless transceiver module, using the TTR500 Network Vector Analyzer." take-away is also that footprints for matching network components always need to be in place for proper adjustment capabilities. Real-world performance always has the final say. https://www.youtube.com/watch?v=recnhI5Uj7w ESP8266 and kin almost usually have recommendations or unpopulated matching network components in their typical application schematics. A common sight is that the shunt inductors have been omitted and only the series capacitor is placed. ![](https://i.imgur.com/yhRKq9O.png) sometimes the antenna structure itself needs mechanical trimming to adjust: ![](https://i.imgur.com/PQ5lh4q.png) https://twitter.com/maanil_ee/status/1511392806350245891 https://twitter.com/maanil_ee/status/1511398050043998208 Uncertainty about whether to mount on top of a PCB or free-standing never gets old. ![](https://i.imgur.com/Vh2b8r7.png) https://twitter.com/mikerankin/status/1578787493209866241 ESP32 design guide: https://www.espressif.com/sites/default/files/documentation/esp32_hardware_design_guidelines_en.pdf ![](https://i.imgur.com/DcmbyUK.png) Adding u.fl connector footprints ![](https://i.imgur.com/X27xsNY.png) https://www.megiq.com/blog/item/40-ufl-connectors-in-vna-measurements ![](https://i.imgur.com/f4tiyPc.png) ![](https://i.imgur.com/yHTHi6r.png) https://www.gsm-modem.de/M2M/antenna-test/antenna-tests/ Systematic antenna matching with a VNA by trimming: ![](https://i.imgur.com/KA8zbKc.png) https://www.lairdconnect.com/resources/white-papers/antenna-matching-within-enclosure Antenna on a human wrist ![](https://i.imgur.com/EPMUe7X.png) https://ieeexplore.ieee.org/document/5615201 https://cora.ucc.ie/bitstream/handle/10468/518/JB_DetuningAV2010.pdf?isAllowed=y&sequence=1 ## Good-looking Implementations ### PCB Chip Antenna Hardware Design - Phil's Lab #130 02:02 Trace vs Chip Antenna 04:55 Pre-Certified Modules 05:58 Chip Antenna Selection 12:54 Matching, Tuning, and Schematic 20:27 Footprint 22:31 PCB Design https://www.youtube.com/watch?v=tdUZ2IjO9do ### tCam Mini (Ver. 5) - free-standing PIFA - some distance to mounting holes - no components left and right of antenna ![](https://i.imgur.com/Wo3rMJi.png) https://circuitstate.com/featured/tcam-mini-open-source-wireless-thermal-imaging-module-based-on-flir-lepton-3-5-and-esp32/ previous iteration (Ver. 4) shows the antenna still on a piece of FR4, potentially impacting performance: ![](https://i.imgur.com/KBbw9jM.png) http://www.danjuliodesigns.com/products/tcam_mini.html ## Future Developments: Aperture Tuning In the future, we may perhaps be seeing modules that integrate a vacator diode (https://shop.richardsonrfpd.com/docs/rfpd/Skyworks%20Low%20Cost%20Antenna%20Tuning%20using%20Skyworks%20PIN%20Diodes.pdf) driven via a PWM channel (or other low-cost alternatives to digitally tuned capacitors) to correct for antenna deturning. ![](https://i.imgur.com/cFgqPx5.png) If 2 bit are enough for coarse corrections RichWave RTC6603, RTC6607 SPDTs or similar (RTC6617S SP3T, Peregrine Semiconductor / muRata PE613050 SP4T) may see some use. From https://doi.org/10.1109/APMC46564.2019.9038800 : ![](https://i.imgur.com/DW4WKcP.png) While a rare sight in low-cost applications, antenna tuners have long become a relevant component in 4G/5G systems (see https://www.qorvo.com/design-hub/blog/4-things-to-know-about-antenna-tuning-in-4g-5g-smartphones). ![](https://i.imgur.com/w1VhzXd.png) ![](https://i.imgur.com/bIRSxvw.png) ## Lab Testing and Qualification (and legal aspects) Under particular conditions, an alternative antenna can be used with an already certified product. (see https://linxtechnologies.com/wp/blog-post/antenna-fcc-certification/) "CFR 47 Part 2.1043 defines three types of permissive changes The summary of these documents is that a Class 1 permissive change is allowed if the new antenna is equivalent to the antenna with which the product was tested. They define an equivalent antenna as well. Equivalent antennas must be of the same type (e.g., yagi, dish, etc.), must be of equal or less gain than an antenna previously authorized under the same grant of certification (FCC ID), and must have similar in-band and out-of-band characteristics (consult specification sheet for cutoff frequencies). This gives three conditions that must be met: - Same type - Equal or lesser gain - Similar in-band and out-of-band characteristics " The general case though is a full qualification process, as referenced below for the example of the ESP12F module. ![](https://i.imgur.com/WKvjDOB.jpg) https://fcc.report/FCC-ID/2AHMR-ESP12F ### Other Lab Setups From the aforementioned Pico W test: https://fcc.report/FCC-ID/2ABCB-PICOW/5969741 ![](https://i.imgur.com/YaE0zug.png)

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully