The prototype production-ready WiFi board !
Knit is an industrial grade WiFi development board to build secure applications. It is based on the 88MW300 SoC from Marvell.
- 32-bit Cortex M4F at 200Mhz
- 512KB SRAM
- 4MB flash with XIP support
- 802.11 b/g/n with FCC, IC, CE certification
- 1 user LED & 1 user button
The multiplexed peripherals include -
# | Protocol |
---|---|
2 | UARTs |
2 | I2C channels |
7 | PWM/GPT |
2 | SSPs |
6 | ADCs - 16 bit |
2 | Wake up |
1 | DAC - 10 bit |
25 | GPIOs |
- MQTT client real time communication with brokers
- Soft AP for provisioning
- Secure connections using TLS 1.2
- FreeRTOS as the underlying real time operating system
- lwIP TCP/IP stack
- Supported on Windows, Linux, OS X operating systems
- More features coming soon !
Links to -
- Source code
- Documentation
- Support
- On board USB to serial converter for programming and console
- Open source GCC ARM toolchain for development
- OpenOCD debugging using external dongle
- Support for Eclipse IDE
All of these can be found on the bottom side of the module, which is visible on the Knit board.
Get the SDK on your development machine
using git
git clone https://github.com/marvell-iot/aws_starter_sdk
or https
wget https://github.com/marvell-iot/aws_starter_sdk.git
Download the latest blob from the releases section.
[WIP]
Install the required tools as per instructions found here
Next up, download the SDK on your development machine.
From the root directory of the SDK, run
make APP=sample_apps/aws_starter_demo BOARD_FILE=sdk/src/boards/knit-v1.c
[WIP]
- Knit has 2 16 pin headers, which are breadboard friendly.It also has a 4 pin header for easy SWD programming.
- The header file where all the pin functions are defined is mw300_pinmux.h
No | Fn 0 | Fn 1 | Fn 2 | Fn 3 | Fn 4 | Fn 5 |
---|---|---|---|---|---|---|
6 | TDO | GPIO6 | I2C1_SDA | DIG_POR | RC32M | AUPLL_DIGTP0 |
9 | TDI | GPIO9 | UART2_TXD | SSP2_TXD | I2C1_SDA | AUPLL_DIGTP3 |
10 | TRST_N | GPIO10 | UART2_RXD | SSP2_RXD | I2C1_SCL | PHY_MON0 |
7 | TCK | GPIO7 | UART2_CTSn | SSP2_CLK | I2C0_SDA | AUPLL_DIGTP1 |
8 | TMS | GPIO8 | UART2_RTSn | SSP2_FRM | I2C0_SCL | AUPLL_DIGTP2 |
25 | XTAL32K_IN | GPIO25 | I2C1_SDA | - | - | - |
26 | XTAL32K_OUT | GPIO26 | I2C1_SCL | - | - | - |
23 | WAKE_UP1 | GPIO23 | UART0_CTSn | - | SFLL_200N | COMP_IN_P |
22 | WAKE_UP0 | GPIO22 | - | - | - | - |
GND | GND | GND | GND | GND | GND | GND |
3 | GPIO3 | GPT0_CH3 | UART0_RXD | SSP0_RXD | - | - |
2 | GPIO2 | GPT0_CH2 | UART0_TXD | SSP0_TXD | - | - |
5V | 5V | 5V | 5V | 5V | 5V | 5V |
GND | GND | GND | GND | GND | GND | GND |
3V3 | 3V3 | 3V3 | 3V3 | 3V3 | 3V3 | 3V3 |
3V3 | 3V3 | 3V3 | 3V3 | 3V3 | 3V3 | 3V3 |
No | Fn 0 | Fn 1 | Fn 2 | Fn 3 | Fn 4 | Fn 5 |
---|---|---|---|---|---|---|
4 | GPIO4 | GPT0_CH4 | I2C0_SDA | AUDIO_CLK | - | - |
5 | GPIO5 | GPT0_CH5 | I2C0_SCL | - | - | - |
0 | GPIO0 | GPT0_CH0 | UART0_CTSn | SSP0_CLK | - | - |
1 | GPIO1 | GPT0_CH1 | UART0_RTSn | SSP0_FRM | - | - |
49 | GPIO49 | ADC0_IN7 ACOMP_IN7 |
UART2_RXD | SSP2_RXD | - | PHY_MON15 |
48 | GPIO48 | ADC0_IN ACOMP_IN6 |
UART2_TXD | SSP2_TXD | - | PHY_MON14 |
47 | GPIO47 | ADC0_IN5 ACOMP_IN5 |
UART2_RTSn | SSP2_FRM | - | PHY_MON13 |
46 | GPIO46 | ADC0_IN4 ACOMP_IN4 |
UART2_CTSn | SSP2_CLK | - | PHY_MON12 |
GND | GND | GND | GND | GND | GND | GND |
43 | GPIO43 | ADC0_IN1 ACOMP_IN1 |
UART1_RTSn | SSP1_FRM | TRACE_DATA1 | PHY_MON9 |
42 | GPIO42 | ADC0_IN0 ACOMP_IN0 |
UART1_CTSn | SSP1_CLK | TRACE_DATA0 | PHY_MON8 |
41 | GPIO41 | GAU_TRIGGER1 | ACOMP0_EDGE_PULSE | ACOMP1_EDGE_PULSE | - | TRACE_CLKOUT |
24 | OSC32K | GPIO24 | UART0_RXD | GPT1_CH5 | - | COMP_IN_N |
39 | GPIO39 | GPT3_CLKIN | UART1_RXD | SSP1_RXD | - | RC32M_CLKINb |
40 | GPIO40 | GAU_TRIGGER0 | ACOMP0_GPIO_OUT | ACOMP1_GPIO_OUT | - | - |
3V3 | 3V3 | 3V3 | 3V3 | 3V3 | 3V3 | 3V3 |
- Color coded pinmaps
Header 1 > Header 2 >
The Knit board has both 5V and 3.3V power rails. Both, 5V and 3.3V, are made available on the dual pin headers, but please note that the controller pins are all 3.3V logic. Supplying any of the pins more than 3.3V will likely result in a bricked board.
The 5V is used by
- LM1117 linear regulator IC
- CP2102 USB to serial converter
The 3.3V is used by
- AW-CU300 WiFi module
- W25Q32 Winbond Flash
The above setup allows one to power the board using an external 5V when developing an application, and switch to a 3.3V source, like a lithium ion battery, when deploying the application. The voltage regulator and the USB to serial converter is not necessary for normal operation of the WiFi module and flash memory, as long as you have a stable 3.3V power source.
If you want to save some more power, you can get rid of the power LED resistor. That'll knock off a few mA. Of course, the nice red LED won't show your powered on status once you do this. Please note that removing a resistor has the risk of damaging nearby tracks/connections if you are not careful. Please avoid doing this if you are not sure.
You can power up your Knit board using one of the following -
- 5V through USB
- 5V through pins
- 3.3V through pins (advanced)
Coming soon...
Knit is open source hardware. There are a few definitions of OSHW, but what it means to us is that everything that one would need to make Knit is made available to everyone under a permissive license.
Knit is licensed under the MIT License. You can find text of the license here. All the files can be found on our GitHub.
The Knit board consists of the following major hardware components -
Function | Company | Part No | Package | Datasheet |
---|---|---|---|---|
WiFi | Azurewave | AW-CU300 | 64 pin LGA | - |
Flash | Winbond | W25Q32 | SOIC-8 | Link |
USB to UART | Silicon Labs | CP2102 | 28 pin QFN | Link |
Regulator | TI | LM1117 | SOT 223 | Link |
We have the following buttons and LEDs onboard the Knit -
Interface | Function | Connected to | Silkscreen Identifier |
---|---|---|---|
Button | Reset | RESET_N | RESET |
Button | Boot/User | GPIO16/27 | BOOT |
LED | User | GPIO40 | Blink! |
LED | Power | 3V3 rail | pwr |
We have the following pin headers onboard the Knit -
Pin count | Function | Silkscreen Identifier |
---|---|---|
16 | GPIO breakout | \m/ |
16 | GPIO breakout | knit |
4 | Advanced debugging using Serial Wire Debug | SWD |
The Azurewave module that is being used is certified as follows -
- FCC ID TLZ-CU300
- CE
- IC ID 6100A-CU300
- NCC ID CCAI15LP1350T2
The Azurewave module, and hence the Knit board, has a PCB antenna as the internal antenna, and it also has a uFl connector if you would like to get better range with an external antenna.
In this screen capture, checkout how to create a new IoT thing by signing in to your AWS account.
<iframe width="470" height="315" src="https://www.youtube.com/embed/hOc-iZcmv9E?list=PLIYfgNqDE8r2XNkXMqbaiF0iBbli7cNYz" frameborder="1" allowfullscreen></iframe>
In this video see how to connect to AWS using the keys that we generated in the previous video and then send a push button event to the AWS IoT device shadow.
<iframe width="470" height="315" src="https://www.youtube.com/embed/CFwY_jNb59s?list=PLIYfgNqDE8r2XNkXMqbaiF0iBbli7cNYz" frameborder="1" allowfullscreen></iframe>
The Knit is based on the Marvell 88MW300 WiFi microcontroller. This is an industrial grade SoC which is being used to make all sorts of consumer applications, even battery operated ones.
Some of the commercially available products that have been made using the 88MW300 WiFi microcontroller-
Hello Barbie | Teardown from Somerset Recon | This one uses the same module as Knit, AW CU300 | See it in action here |
Xiaomi Yeelight | Teardown from miui.com (in Chinese) | This one uses a Mi module with 2MB of onboard flash | See it in action here |
The Knit is capable of running the following frameworks. Please note that one needs to contact Marvell/respective framework provider to get access to the source code and documentation.
- Google Weave
- Apple's HomeKit.
Email:
- Is Knit OSHW (Open Source Hardware) ?
- When will it be available ?
- Knit is available now . Buy Now >
- What will be the price?
- For early access developers the price will be 999₹ / $14.99
- Where can I get more support ?
- PCB design by Rohit Gupta
- Logo by Cassie McKown under CC by 3.0 US
- ARM GCC toolchain
- OpenOCD
- KiCad EDA
- Eclipse C/C++ IDE
- Flatdoc site generator by Rico Sta. Cruz