Do you think: This is an April fools day hoax?
No, it is not.
Instead, it is the ugliest ESP32 I ever saw.
It looks like a T-shirt.
So what is it, and how is it useful?
Let s have a closer look.
Gr ezi YouTubers.
Here is the guy with the Swiss accent.
With a new episode and fresh ideas around sensors and microcontrollers.
Remember: If you subscribe, you will always sit in the first row.
Do you need a proof that this chip exists?
Digikey and mouser sell it, also in large quantities under the name WROOM-DA.
But what is it?
It is a more-or-less standard WROOM module with eight instead of 4MB flash.
And these arms are PCB antennas.
Subscribers of my second channel know how such antennas work.
They also know that they have some directivity and hear more from one side than from another.
As we know, standard WROOM modules only have one antenna.
That is the difference.
But why did they build such a module?
And how does it work?
Let s have a look at the block diagram.
First, we find a standard ESP32 chip with flash memory and a crystal inside the module.
Then a matching circuit adapts the impedance to the RF switch.
Finally, the switch selects one or the other antenna.
But not both.
And it needs control signals for the switching.
That is all.
But what is the purpose of the design?
Wi-Fi does not work over long distances, and inside buildings, it can easily be blocked
by walls and ceilings.
So two antennas should be better than one.
This principle is also used by many access points and routers which often have more than
one antenna.
So this seems to be a good idea.
But how can we use this module?
And what is its performance?
Before we can answer these questions, we have to solve a few other problems: The first is:
How can we connect anything to this module?
The castellated pins are small and narrow.
So I used this breadboard-friendly PCB.
We could also use one of those prototyping boards.
If we turn them, we can use them also for ESP8266 modules, BTW.
Or we use one of those barebone PCBs.
Both are not ideal because a part of the PCB covers the antennas.
If you do your own design, you should mount the module closer to the edge of the PCB to
get the antennas away from the FR4 material, as Espressif does with their board.
When I soldered it to the board, I discovered that it has more pins than the standard WROOM
module.
It uses the layout of the new -S3 modules, which have more pins.
A quick check reveals that these two pins are NC, not connected on our module.
So no worries.
By comparing the pinout with the standard WROOM, we see that also other pins are not
connected on our new module.
And GPIO2 and 25 also are only available as test pads because they are used to operate
the antenna switch.
And: You are right: To select between two switching positions, one pin would be sufficient.
But the switch they used obviously needs two.
Next, we need a USB-to-serial adapter for programming.
And we need a method to switch the antennas.
Fortunately, this is taken care of by the newest 2.0.3 version of the ESP32 boards'
definitions.
For the moment, they have released the RC1 version, which can be installed by changing
the JSON file to the development release before you install the ESP32 in your Arduino IDE.
After the installation, we can select the -DA module.
Then the antenna selection should be set to automatic.
Or we select the regular ESP32 Dev Module and add a command as I did.
And here is the example file.
It starts with the definition of the two antenna switch pins and continues as usual with the
definition of station mode.
Then it initializes the dual antenna configuration.
Here we see that we can select ant0, ant1, or auto.
Also here, the hardware and the software engineers have not been well connected: The datasheet
uses Antenna1 and two and the software ant0 and 1.
We can choose the receiving antenna independently from the transmitting antenna.
Only if we choose one as automatic the other is set to automatic, too.
I do not see a reason not to use the same antenna for RX and TX.
The loop scans all available Wi-Fi networks and lists them.
That s all.
For your sketch, you can insert this antenna switch command.
It should not influence the Wi-Fi functionality other than the signal strength because of
the two antennas.
So let s do a test using this sketch.
Before scanning, I switch the antenna to ant0, ant1, or auto.
Like that, we should be able to compare the performance of the two antennas and should
see if auto makes a good choice.
Why do I think that receiving-only is a good test?
If we assume a proper antenna matching, it should perform similarly on receiving and
transmitting.
At least relatively.
And if we do the test on my roof, we should be able to get some networks quite far away.
So let s start the test.
I place the antenna away from the iron curtain and in three directions: West, east, and south.
Like that we will see its performance.
The fourth direction is towards the house and therefore not considered.
One thing is essential: Modern networks use different access points with the same name
to enable the devices to roam if you change the floor, for example.
This is why I also log their MAC address.
So now we can distinguish between them.
But what about a standard ESP32 module?
That should also be included in a comparison!
So I did the same tests with this standard board also mounted on a PCB.
And here are the results from the direction west.
The dual antenna module detects 64 MAC addresses, and the single module only 56.
So it definitively has an advantage.
The same for the south: 49 vs. 42 and the east: 52 vs. 41.
Now we have a look at the T-shirt module and want to know if the automatic mode works:
In direction west, Antenna0 picks up 30 MAC addresses.
Antenna1 57!
What would you expect from the auto function?
I would expect that it receivers at least 57 and probably more because, in some cases,
antenna0 is the only one who receives the access point.
But the result is different.
On auto, the module only detects 20 access points.
Less than antenna0.
This is not good.
The same is true for the other directions, BTW.
Something seems to be wrong here.
So we do what we always do as a last resort: Let s read the fine manual, in this case,
the datasheet.
Unfortunately, we do not see anything about the antenna design nor the switching algorithm
only the usual ESP32 blabla, which is not different from a standard WROOM module.
But they have a wiki.
So let s check there.
For sure, we will find the explanation.
But, no, unfortunately, also there is no description.
Just the command we already know.
Dear Espressif engineers: I like this module because it is a good idea to add a second
antenna, and the results show that it can be crucial for some situations.
But we need the information to decide when to use this module and when a standard module
is good enough.
And we need a clear understanding of how the automatic function works.
Maybe the scan function is not representative, and I should have used another test?
Or is it a bug?
Because A1 performed better in all directions, I asked Pedro from Espressif to do a similar
test at his location.
There, A0 and A1 received a similar number of stations.
So I can assume that the two antennas have a similar performance.
They also look the same, BTW.
So what began as an April s fool day hoax showed some potential.
The module performed better than a standard module which can be important.
I even could imagine that such a design would become more standard for sensors because it
is small enough, and the additional manufacturing cost cannot be very high.
A strong signal could allow us to reduce output power and save battery power.
For access points, the standard also evolved to more than one antenna.
That was all for today.
As always, you find all the relevant links in the description.
I hope this video was useful or at least interesting for you.
If true, please consider supporting the channel to secure its future existence.
Thank you!
Bye