element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Source Hardware
  • Technologies
  • More
Open Source Hardware
Forum How to build a simple low cost reliable antenna switching circuit
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Source Hardware to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 18 replies
  • Answers 10 answers
  • Subscribers 311 subscribers
  • Views 6571 views
  • Users 0 members are here
  • ble 5.1
  • rf switch
  • timer circuit
Related

How to build a simple low cost reliable antenna switching circuit

BigG
BigG over 4 years ago

I'm looking to build a simple (MVP: minimal viable product) BLE antenna array circuit to test BLE direction finding (AoA/AoD) functionality.

 

I'm not wanting precision just yet. So, for my MVP I'm looking at just 3 maybe 4 antennas. For that I will need an RF switch and if I look on any of the major distributor websites I can find plenty single pole 3 or 4 throw (SP3T/SP4T) options.

 

My question is how to build the input control side, which usually consists of logic table like this one (for a SP4T RF switch):

 

Input 1Input 2
Output Mode
00RF1 on
01RF2 on
10RF3 on
11RF4 on

 

 

The switching frequency is at the microsecond(s) level.

 

My BLE chip is a single 3V3 MCU so I don't want to use this MCU to handle the switching as well as the other stuff. It's not a dual core PSoc, for example, where I could've used their hardware timer blocks etc.

 

So what IC options do I have with a power rail of 3V3.

 

Is it a case of using a precision Timer IC with some logic gates (e.g. OR, AND, NAND etc.) or would something like a tiny 8-bit MCU do the trick. Basically looking for as few components as possible which is low cost and reliable etc.

 

Looking to experts for some practical advice.

 

Thanks

  • Sign in to reply
  • Cancel

Top Replies

  • shabaz
    shabaz over 4 years ago +8 suggested
    Hi Colin, By coincidence we're thinking on the same track : ) I've been looking at a silabs reference design, and aim to work as closely as possible to it, although it will take longer and is a pain due…
  • Fred27
    Fred27 over 4 years ago +7 suggested
    I recently needed to test out a NFC reader with multiple antennas. I grabbed a Peregrine Semi evaluation board (EK42441-03). It worked very well and it seems to fit your requirements, including the control…
  • BigG
    BigG over 4 years ago in reply to shabaz +5 suggested
    Just to add that when it costs less than $10, including postage, to get some prototype boards made I simply could not help myself... So I went ahead with a basic design. My limited understanding is that…
  • shabaz
    0 shabaz over 4 years ago

    Hi Colin,

     

    By coincidence we're thinking on the same track : )

    I've been looking at a silabs reference design, and aim to work as closely as possible to it, although it will take longer and is a pain due to the component sizes (smaller than I've ever fitted, so I might get it done for me).

    However, generally for RF switches, traditional popular choices are Peregrine Semiconductor and Skyworks, although there are options from others now too, e.g. NXP may have some. They are easy-ish to use, provided a few rules are followed. They mostly work with 3.3V logic. The inputs/outputs would need to be microstrip, that would be easiest, and there are online calculators for it. Some of the Peregrine parts are hand-solderable, and others may be too.

    For things like SP4T as you mention, one technique is to just use SPDT, and arrange one to feed two of them, i.e. a total of three SPDT can make a SP4T. The benefit being that sometimes it is easier to more symmetrically make the paths if you can spread them across separate chips, so that all paths are the same length (if that's what is desired depending on usecase).

    The chips can be controlled by normal logic gates, they are compatible with that, so a microcontroller to directly control them is fine too.

    Other than that, some basic RF prototyping rules can be followed, like complete ground plane, and any top side ground (generally just around the perimeter) must have lots of vias (spaced a couple of millimetres apart at a guess) to the underside ground. You might also want to consider 4-layer, in case it helps with the microstrip, since the width of that is determined by the distance to the groundplane, as you'll see with the calculators or use thinner PCB. Also, boards will warp, so with 2-layer you might want to consider having slightly more ground plane on top again with lots of vias, it's a balancing act. 4-layer and using the closest-to-top layer as ground plane is an option. Personally I'd go with 4-layer for this.

    • Cancel
    • Vote Up +8 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • BigG
    0 BigG over 4 years ago in reply to shabaz

    Hi Shabaz

     

    There's a saying "great minds think alike" but I think in my case it's just coincidence image

     

    Yes, the Silabs reference design is very handy alright.

     

    I've also come across a reference design from TI.

    http://software-dl.ti.com/simplelink/esd/simplelink_cc2640r2_sdk/2.30.00.28_new/exports/examples/rtos/CC2640R2_LAUNCHXL/…

    https://www.ti.com/lit/an/tida029/tida029.pdf

     

    And this project on Hackaday: https://hackaday.io/project/174175-micro-music

     

    My question is very basic and simply highlights my lack of electronics design know how and my uncanny knack of over complicating things.

     

    I'm simply wanting to evaluate or look at different hardware design options to offload the clock timer signal to trigger the RF switch logic as I have this notion that a micro second interrupt timer on my MCU will get in the way of doing other things.

     

    C://

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • BigG
    0 BigG over 4 years ago in reply to shabaz

    Just to add that when it costs less than $10, including postage, to get some prototype boards made I simply could not help myself...

     

    So I went ahead with a basic design. My limited understanding is that if your RF traces are very short on the PCB then width of trace is not too critical. I went for u.Fl connectors like those used on Hackaday project rather than the more common SMA connector if you're not using pcb trace antennas.

     

    This is a 2 layer board too. My intention was to use a 1mm board thickness as this provides me with a ground plane closer to the traces but it would've cost more so went with 1.6mm.

     

    I'll find out soon enough if this was a waste of $10 (I like to learn by my mistakes and still only know electrical impedance and EMI/EMC theory).

     

     

    image

     

    I'm using a Skyworks SP3T on this board. They are still tiny!

     

    https://www.skyworksinc.com/-/media/SkyWorks/Documents/Products/301-400/SKY13317_373LF_200914K.pdf

     

    I'll check out the ones from Peregrine Semiconductor as you suggested as it looks like the Skyworks stock levels are very low.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • shabaz
    0 shabaz over 4 years ago in reply to BigG

    Hi Colin,

     

    As I understand (I could be wrong) the BLE stack on the chip is in control of the switching pins, so there's no need for any further consideration, apart from (perhaps) if you need to do any translation in logic to map to the signals required by the switches. If you're maybe aiming to do this yourself in your own code (wouldn't it need to be sync'd with the BLE chip tx or rx somehow? I don't know enough to be sure) then as far as microcontrollers go, as a ballpark, I think a 16MHz clocked processor would take about 1usec to get to a state from a timer interrupt where you have saved off enough registers and are ready to begin performing whatever you needed to do (of course, this is dependant on processor, RISC/CISC etc), so realistically you'd want at least a 48 MHz processor if not more. This is assuming you want to be using C and not assembler. I think I'd be wanting to process all three or 4 measurements within one timer interrupt when it occurs (and then you don't need as speedy a processor or as frequent timer interrupts). But this is still assuming that the BLE stack really cannot do it, so it's worth double-checking.

    Finally if you're just looking at repeatedly switching between antennas asynchronously that could be done with logic gates but I don't think this will work, so I guess I've misunderstood the requirement.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • shabaz
    0 shabaz over 4 years ago in reply to BigG

    Hi Colin,

     

    Even worst-case if it doesn't work to optimal performance, it's still a handy test board for testing out your code, confirming the switch behaviour, and checking footprints and so on.. definitely makes sense to test things cheaply quickly too.

    By the way, for the next prototype iteration, one more benefit of 4-layer, since you're using very small parts, the low-cost manufacturers produce 4-layer boards to slightly tighter specs (I feel/believe from what I've seen so far, but I have no confirmed evidence!).

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • BigG
    0 BigG over 4 years ago in reply to shabaz

    Thanks for the feedback Shabaz.

     

    Once again it pays to ask questions to the community... as I hadn't considered that may be the case... looking at the silabs docs again, the statement "The firmware for direction finding allows users to select antenna parameters such as the antenna array type" now makes sense. I hadn't put two & two together and considered the firmware aspect relating to antenna hardware design.

     

    I think I best read the documentation again.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Fred27
    0 Fred27 over 4 years ago

    I recently needed to test out a NFC reader with multiple antennas. I grabbed a Peregrine Semi evaluation board (EK42441-03). It worked very well and it seems to fit your requirements, including the control logic. The development board wasn't cheap (£83 incl. VAT) but the PE42441 seems more reasonably priced if you're spinning up your own board.

    • Cancel
    • Vote Up +7 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 4 years ago in reply to shabaz

    shabaz  wrote:

     

    ... the BLE stack on the chip is in control of the switching pins,...

    Not the exact same use case, but in the ballpark:

    On the 2 LoRa boards you gave me, there are two antenna connectors. They are for 433 MHz and the sub-1 GHz operation.

    image

     

    They use PE4259 3 MHz switches.

     

    What's different:

    • the frequency is lower than BLE, but it's getting there ..
    • the destination are two different pins in the radio IC.
    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • BigG
    0 BigG over 4 years ago in reply to shabaz

    Just found this AoA design for an automotive application by TI. Uses just 2 dipole antennas. https://www.ti.com/lit/ug/tidue70a/tidue70a.pdf

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 4 years ago in reply to BigG

    Nice find, interesting to see that two antennas are sufficient for good results!

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube