Skip to content

Makerville/knit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Makerville Knit

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.

Features

  • 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

SDK

  • 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 -

Development tools

  • 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.

Featured In

Documentation

Getting started

Flashing the device

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]

Compiling

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]

Pin Map

  • 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

Power

Hardware

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.

Input sources

You can power up your Knit board using one of the following -

  • 5V through USB
  • 5V through pins
  • 3.3V through pins (advanced)

Consumption

Coming soon...

Hardware

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.

Major components

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

Interfaces

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

Pin Headers

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

Certifications

The Azurewave module that is being used is certified as follows -

Antenna

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.

Videos

Create AWS IoT thing and certificates

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>

Provision and push events to AWS IoT

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>

Products w/ 88MW300

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.

Teardowns

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

Software frameworks

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.

Misc

Mailing List

    Email:

   

 

FAQs

  • Is Knit OSHW (Open Source Hardware) ?
    • Yes, we have released the schematic and PCB files under the MIT license. You can find the files here.
  • When will it be available ?
  • What will be the price?
    • For early access developers the price will be 999₹ / $14.99
  • Where can I get more support ?
    • For SDK related issues, you can join the Gitter chat or raise an issue

Acknowledgements

Projects we <3 & use

  • ARM GCC toolchain
  • OpenOCD
  • KiCad EDA
  • Eclipse C/C++ IDE
  • Flatdoc site generator by Rico Sta. Cruz

Get in touch