Call to arms | Teensy + WiFi = true

In addition to Arduino Giga, I ordered a couple of this eval board with the 1XK module. Will make a M.2 adaptor PCB soon...

1XK is more expensive, but it's dual band. Most routers have 5 GHz Wifi and many upstream internet connections are usually fast enough to support it, so perhaps the more expensive 1XK will be worth its extra cost?
 
In addition to Arduino Giga, I ordered a couple of this eval board with the 1XK module. Will make a M.2 adaptor PCB soon...

1XK is more expensive, but it's dual band. Most routers have 5 GHz Wifi and many upstream internet connections are usually fast enough to support it, so perhaps the more expensive 1XK will be worth its extra cost?
We should absolutely get the 1XK to work as well. I'm all for that. Will let you know the second the 1DX's and 1YN's ship from factorym should be in a few days.
 
I drafted a quick PCB layout to connect the 1XK eval board to Teensy 4.1.

Hopefully both will arrive by next week.

1751568852040.png

1751568860962.png


If anyone's curious, here's my notes about the connections.

Code:
M.2     Signal          Teensy          1XK     Notes
---     ------          ------          ---     -----
1       GND
2       3.3V
3       nc
4       3.3V
5       nc
6       nc
7       GND
8       BT_PCM_CLK      4               8 g6
9       SDIO_CLK        23              4
10      BT_PCM_SYNC     3               9 g7
11      SDIO_CMD        22              6       pullup resistor required
12      BT_PCM_OUT      2 or 5          14 g5   resistors to route to Teensy pins 2 or 5
13      SDIO_D0         40              5       pullup resistor required
14      BT_PCM_IN       5 or 2          11 g4   resistors to route to Teensy pins 2 or 5
15      SDIO_D1         41              56      pullup resistor required
16      nc
17      SDIO_D2         17              3       pullup resistor required
18      GND
19      SDIO_D3         16              55      pullup resistor required
20      BT_HOST_WAKE_L                  17 g14  drives with OD buffer, pullup resistor required
21      WL_HOST_WAKE_L                  12 g1   drives with OD buffer, pullup resistor required
22      BT_UART_TXD     34              54 g10
23      nc

32      BT_UART_RXD     35              7 g9
33      GND
34      BT_UART_RTS     inv->36         51 g11  use 74LV1T04 inverter between 1XK-Teensy pin 36
35      nc
36      BT_UART_CTS     37              15 g8
37      nc
38      JTAG_TDO                                not used
39      GND
40      WL_DEV_WAKE_L   ??                      ??? does this matter
41      nc
42      BT_DEV_WAKE_L   ??                      ??? does this matter
43      nc
44      JTAG_TDI                                not used
45      GND
46      JTAG_TCK                                not used
47      nc
48      JTAG_TMS                                not used
49      nc
50      32kHz clock                             ??? do we need this for sleep modes
51      GND
52      nc
53      nc
54      nc
55      nc
56      PMIC_EN         32-maybe        3       reset circuit CAT811T, or Teensy pin 32 + pullup
57      GND
58      nc
59      nc
60      nc
61      nc
62      nc
63      GND
64      3.3V I/O                                turns all 1.8V I/O into 3.3V signals
65      nc
66      nc
67      nc
68      nc
69      GND
70      nc
71      nc
72      3.3V
73      nc
74      3.3V
75      GND
 
I drafted a quick PCB layout to connect the 1XK eval board to Teensy 4.1.

Hopefully both will arrive by next week.

View attachment 37814
View attachment 37815

If anyone's curious, here's my notes about the connections.

Code:
M.2     Signal          Teensy          1XK     Notes
---     ------          ------          ---     -----
1       GND
2       3.3V
3       nc
4       3.3V
5       nc
6       nc
7       GND
8       BT_PCM_CLK      4               8 g6
9       SDIO_CLK        23              4
10      BT_PCM_SYNC     3               9 g7
11      SDIO_CMD        22              6       pullup resistor required
12      BT_PCM_OUT      2 or 5          14 g5   resistors to route to Teensy pins 2 or 5
13      SDIO_D0         40              5       pullup resistor required
14      BT_PCM_IN       5 or 2          11 g4   resistors to route to Teensy pins 2 or 5
15      SDIO_D1         41              56      pullup resistor required
16      nc
17      SDIO_D2         17              3       pullup resistor required
18      GND
19      SDIO_D3         16              55      pullup resistor required
20      BT_HOST_WAKE_L                  17 g14  drives with OD buffer, pullup resistor required
21      WL_HOST_WAKE_L                  12 g1   drives with OD buffer, pullup resistor required
22      BT_UART_TXD     34              54 g10
23      nc

32      BT_UART_RXD     35              7 g9
33      GND
34      BT_UART_RTS     inv->36         51 g11  use 74LV1T04 inverter between 1XK-Teensy pin 36
35      nc
36      BT_UART_CTS     37              15 g8
37      nc
38      JTAG_TDO                                not used
39      GND
40      WL_DEV_WAKE_L   ??                      ??? does this matter
41      nc
42      BT_DEV_WAKE_L   ??                      ??? does this matter
43      nc
44      JTAG_TDI                                not used
45      GND
46      JTAG_TCK                                not used
47      nc
48      JTAG_TMS                                not used
49      nc
50      32kHz clock                             ??? do we need this for sleep modes
51      GND
52      nc
53      nc
54      nc
55      nc
56      PMIC_EN         32-maybe        3       reset circuit CAT811T, or Teensy pin 32 + pullup
57      GND
58      nc
59      nc
60      nc
61      nc
62      nc
63      GND
64      3.3V I/O                                turns all 1.8V I/O into 3.3V signals
65      nc
66      nc
67      nc
68      nc
69      GND
70      nc
71      nc
72      3.3V
73      nc
74      3.3V
75      GND
This is looking promising, good work!
 
Turns out the circuit boards (msg #29) that I ordered from China on July 3 will arrive today (Monday), but the 1XK eval boards I ordered from Texas on July 2 won't come until Wednesday. Also due to arrive Wednesday are the 1DX and 1YN boards from @Dogbone06. I'm excited to really get into the software, but looks like I need to wait a few more days to have enough hardware to even start.
 
Double-sided tape on the standoff and no-one will ever know it's taped :)

I noticed the '32Khz' on the silkscreen, which I assume is to provide the external sleep clock. We had some debate on this with the 1DX when it was not showing signs of life initially, but it was not necessary to provide an external clock signal for us to get it operational, as there was an internal crystal on the 1DX. The 1XK Murata datasheet similarly indicates SLP_CLK_IN is optional and also the presence of an internal crystal on the block diagram, so this might be something you initially don't have to worry about as you try to get this operational, at least at first....
 
Today I discovered ublox also makes a module with the same IW416 chip Murata 1XK, and they also sell it on a M.2 module. Digikey has them in stock. Looks like the same pinout, so likely to also work (assuming I can get the software going). Part number is M2-MAYA-W161-10C.


I ordered 1 for testing....

They also have a cheaper M2-MAYA-W161-00C which might be the same thing but without antennas. Maybe?

But ublox M.2 modules don't have a pin to configure the I/O voltage. They have 0 ohm resistors to change from 1.8V to 3.3V, so some SMT soldering required.

1752001730245.png
 
Today I discovered ublox also makes a module with the same IW416 chip Murata 1XK, and they also sell it on a M.2 module. Digikey has them in stock. Looks like the same pinout, so likely to also work (assuming I can get the software going). Part number is M2-MAYA-W161-10C.

Looks even more interesting. Just for reference found this from ublock: https://www.u-blox.com/en/product/m2-maya-w1-series?legacy=Current#Documentation-&-resources. Also from that page if you look at the evaluation kit PDF:


Rich (BB code):
1.4 Software
A detailed description of the wireless interface drivers and configuration instructions for a Linux host
computer are included in the system integration manual for each module type. [7], [8], [9] 
The documentation for NXP software releases includes Wi-Fi and Bluetooth release notes and a list
of supported software features. The driver source code is provided free of charge as open source
under NXP license terms. As an open-source resource, the drivers may be integrated or ported to other
non-NXP based host platforms. Yocto recipes for the driver and firmware, that can be used to develop
custom Linux-based systems, are part of the NXP i.MX Linux BSP in the meta-imx and meta-freescale
layers.
The latest version of the driver source code and Wi-Fi/Bluetooth firmware are available from the
following open-source repositories:

• Wi-Fi driver: https://github.com/nxp-imx/mwifiex 
• Firmware: https://github.com/NXP/imx-firmware 

☞ Use the repository branches matching to the latest Linux BSP release version. At the time of
publication, this is release 6.6.23_2.2.0.
The configuration guide for NXP-based Wireless Modules [15] provides a useful reference for
configuring and using the Wi-Fi and Bluetooth features for NXP-based wireless modules. The
supported Wi-Fi features described in the guide include scanning for nearby access points,
connecting to an access point, configuring the device as an access point, Wi-Fi security, Wi-Fi Direct,
and throughput testing using the iperf3 utility. The described Bluetooth features include scan, pair,
connect to a Bluetooth or Bluetooth Low Energy (LE) device, A2DP profile, handsfree profile and
Bluetooth LE device as a GATT server. Guidelines for enabling driver debug logging are also provided.
 
Yes antenna is optional.
Good to check as some radios with no antenna die on Tx. I assume the 'lower' is WiFi and it looks like a PCB antenna - and maybe removing that component by the plug activates the plugged antenna, but the upper plug doesn't seem to have that for Bt - unless it is underneath or the freq works otherwise without a big obvious topside PCB layer?
 
Are Antennas optional ? - nice how they don't waste ink and add silkscreen for Bt .vs. WiFi.

According to the hardware docs, the PCB antenna is the default. To use an external antenna requires soldering this 0 ohm 0201 size jumper to the alternate pads.

1752137751970.png


Also according to docs, the default is for WiFi and Bluetooth muxed to this same antenna. There's another hardware mod which can cause both antennas to be used, this one only for WiFi and other for Bluetooth. That other hardware mod is just config pins. The routing of 1 vs 2 antenna happens inside the chip. It's not just a simple matter of a 0 ohm jumper routing the signal between 2 physical antennas like the first mod in this photo.
 
Back
Top