Wifi PCB Routing guideline?


#1

Dear Kicad Members,

Does anyone know a guideline for Wifi PCB design ?
Thanks


#2

Far from knowledgeable on the topic but you may need to be a tab bit more specific. Bandwidth becomes a consideration but are you talking specific components or general bandwidth implementations?


#3

I m thinking about bandwidth consideration and component specific, which is RTL8189, does anyone hv an infos? Thx


#4

?!?
Layout for the I/O lines?
Layout for the antenna part?

Shouldn’t the datasheet have this kind of information?

What kind of module are you using, or do you use the IC?

I got myself a couple of RTL8188ETV based modules here and want to mate them with a RPi compute module in due course, so I’ll stick around in case something for antennas comes up :wink:
Like this (I/O via USB):


#5

To echo other’s responses, anyone answering would need a LOT more information on what you are trying to do and EXACTLY which part you are using. The first step is the datasheet and/or manufacturer’s website. Perhaps this is the part you are referring to?

I would suggest, based on your question, starting with a complete module with an interface you are familiar with. The above part indicates an SDIO interface, which (I think) is not documented without paying a substantial membership fee.

Try a WiFi module with a built in antenna and an RS232, SPI, or I2C interface might be a much better place for you to start.

RF Design is such a huge field of study and design techniques that it would be virtually impossible for anyone to determine what you are trying to know.

Based on the information given, try using google with “WiFi PCB design” and read some manufacturer’s guidelines.


#6

That’s good idea thanks


#7

The Part is RTL8189FTV-VQ0-CG, and I can’t see any guideline for PCB layout, that’s why I want to find out ?
Any suggestion for SPI devices with PCB layout documentation ?
I can understand, with complete module, I don’t have to worry about antenna and Wifi PCB design

Does anyone know a good module to start with ? thanks


#8

That’s because Realtek does only give you that information after you contact them and ask nicely as they usually deal with big fish and not small fry like us.

Depends on the CPU/MCU/OS you want to use with it IMHO, unless you’re keen to at least cross-compile your own driver for your platform.
So, what platform do you want to pair the Wifi IC with?


#9

my CPU is Allwinner H3, OS = Linux


#10

https://www.google.com/search?q=Allwinner+H3+wifi+support

https://www.google.com/search?q=Allwinner+H3+wifi+compatibility

Gives something like this:

Keep in mind that most users get USB dongles or modules that they hook up to finished boards, so the most common I/O will be USB.


#11

That USB port solution is good although that’s not my idea, it’s better if the wifi chip is sticking together with my CPU, that’s what I’m thinking.
Or Wifi modules soldered to my board, I’ll make a footprint for that module,
will ESP8266 help ? or it’s a serial to Wifi ?


#12

Do you know any modules commonly used ? Popular ones ?


#13

Follow the link I gave you up there (or do your own search).

[quote=“rodolfo”]
The following USB-dongles are tested and work with Armbian_5.05 on OPI ONE ( little brother of OPI PC, uses same USB-firmware ) :

USB Device ID

0bda:8176 Realtek RTL8188cus ( cheap $1.70 dongle from Aliexpress )
0bda:0179 Realtek RTL8188eu ( cheap $1.60 dongle from Aliexpress )
7392:7811 Edimax EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] ( rather expensive, promoted for Raspberry Pi )

all three dongles work reliably, expect speeds of up to 80mbps ( depending on environment ) as compared to stable 95mbps on LAN.[/quote]

So ‘all you got to do’ is to find a suitable module (with antenna built in or u.FL connector) with one of those ICs on it (which are compatible) and you’re done, if you can hook it up via USB.
If you want to have more work on your plate, get the IC itself, the accompanying documentation + layout suggestions from the IC manufacturer and have fun implementing a firmware for the OS/MCU of your choice, as you then will probably interface via SPI (or MIPI), which none of the easily available solutions will provide.

Your choice.

PS: you really should be asking this kind of question in an Allwinner oriented support forum/community, as there will be people there who know this stuff.
Just for example - when I was searching for a RPi compatible USB dongle I checked out google and the RPi support forums. Which finally gave me a wiki-page which listed all the compatible modules with their features for the RPi. :wink:


#14

The ESP8266 is a wifi IC paired with an ARM cpu on a module.
You talk to the ARM CPU (via USB, RS232, SPI, I2C, etc.) which has got a Wifi stack running (firmware) that then controls the Wifi IC (might even be on package in the end, ARM+Wifi).
Over time (and after it got reverse engineered) Espressif even opened up the documentation and code for that ARM firmware for your own code to run on there and include the wifi stack. So for small projects there is no need to have an additional MCU on the outside, as your application code runs on the ESP8266.
That’s why people build stuff around this unit and it’s successor the ESP32.
They even ported micropython onto it.
It’s a complete package to have a MCU + Wifi for less than $3 you can run software on.

TL;DR: this thing enables you to omit the Allwinner completely, if you don’t need more resources than the ESPxx provides.


#15

Is it the module you’re talking about ?
https://www.aliexpress.com/item/ESP32-ESP-32F-module-adapter-board-WiFi-Bluetooth-low-power-dual-core-CPU-MCU-networking-Arduino/32833717699.html?spm=2114.search0104.3.215.4DSbNZ&ws_ab_test=searchweb0_0,searchweb201602_2_10152_10065_5000015_10151_10344_10068_10130_10345_10342_10547_10343_51102_10340_10341_10548_5130015_10609_10541_10084_10083_10307_10610_10131_10132_10133_5080015_10312_10059_10313_10314_10534_100031_10604_10603_10103_10605_10594_5060015_10142_10107,searchweb201603_25,ppcSwitch_5&algo_expid=75385a61-32ef-49e1-b180-d195e37cc40c-28&algo_pvid=75385a61-32ef-49e1-b180-d195e37cc40c&rmStoreLevelAB=0


#16

Have fun, a comunity dedicated to that MCU/CPU only:

www.esp8266.com

And if you want to code in python, check this out:

https://forum.micropython.org/viewforum.php?f=10&sid=4f5e2916dcdd6769c1bccb58c5ca0162