Skip to content

Teapotlabs Feather RAK3172: Low-cost Low-power LoRaWAN Development Board

License

Notifications You must be signed in to change notification settings

teapotlaboratories/feather-rak3172

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Teapotlabs Feather RAK3172

drawing

Teapotlabs Feather RAK3172 a Low-cost, Low-power LoRaWAN development board that breaks out RAKwireless RAK3172 to an Adafruit Feather-compatible format.

Based on the RAK3172, a STM32WLE5CC based module with ARM Cortex M4 processor, 48 MHz and 3.3V logic. The chip has a 256K of flash and 64K of RAM. With low-power application in mind, the board is capable to be in sleep mode for as low as 11uA, it also has a built-in voltage divider to sense battery voltage and battery charger.

Teapotlabs Feather RAK3172 is heavily inspired by Penguino STM32WL LoRa-E5 and BastWAN-WLE projects!

Specification

  • RAK3172: An STM32WLE5CC module
  • 3.3V only power/pin.
  • Down to 11uA Deep-Sleep
  • Switchable TX Power. 14 dBm or 22 dBm on 915MHz frequency
  • Supports LoRaWAN 1.0.3
  • USB-C for Arduino and Mbed OS/STM32Cube programming
  • SMA antenna connector
  • JST-PH 2-Pin Battery Connector
  • Built-in LiPo Charger ( 200mA Charge Rate )
  • Voltage-Divider for Battery Monitoring ( default: disabled )
  • LED Indicator on pin 8 ( default: disabled )
  • Compatible with many Adafruit FeatherWings
  • Max 1A power output

To-do

  • Update assembly/TeapotFeatherRAK3172_Assembly.zip and docs file to Revision 9.1

Schematics

schematic

Jumper Definition

  • JP1 and JP4: Enable/Disable Voltage Divider for Battery Sensing
  • JP2: Enable/Disable LED Indicator on Pin 8
  • JP3, JP5, and JP6: Enable/Disable UART Bridge

Revision

  • Revision 9 : First public release
  • Revision 9.1: Fix LED D1 polarity

Pinout Diagram

⚠️ The following pinout is not complete, please see STM32WLE5CC datasheet for more details.

pinout_diagram

Board

pcb_render
PCB Render

Built using KiCAD, the board is design to be as small as possible. The following design are based on the latest revision.

Top Board Bottom Board

assembled_front

assembled_back

pcb_front

pcb_bottom

pcb
PCB Top and Bottom Layout

Case

case_render

The case is design by atmakers with Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. The cases are 3D printable with any generic 3D printer with/without suppport (depends on the orientation). The STL files are available from authors download page here or from this repo.

drawing
Case Open

Measurement

Power consumption measured using Nordic PPK2. The following are the summary of the measurement:

  • Sleep and all jumper disabled (JP1 - JP6): 10.44 uA
  • Sleep and UART-Bridge enabled ( JP3, JP5, and JP6 ): 23.76 uA
  • Sleep, UART-Bridge and Battery Sense enabled ( JP1, and JP3 - JP6 ): 25.41 uA
  • Transmit at 14 dBm: 40.45 mA
  • Transmit at 20 dBm: 100.38 mA

More detailed measurement can be found here

Bill Of Materials

Most of the components are generic and can be bought from any electornics/semi-conductor distributor. RAK3172 is the only component available in RAKwireless store. The bill of materials can be downloaded here

⚠️ Be sure to buy the RAK3172 variant without IPEX to use SMA connector

Id Designator Quantity Value Footprint
1 C11,C7,C4,C1 4 100n 0603_1608Metric
2 C6,C3 2 10u 0603_1608Metric
3 C9,C8,C10 3 10u 0805_2012Metric
4 D1 1 BLUE 0603_1608Metric
5 D2 1 ORANGE 0603_1608Metric
6 D3 1 B5819W SOD-123
7 J3 1 U262-161N-4BVC11 USB_C_Receptacle_XKB_U262-16XN-4BVC11
8 J4 1 SMA-KE-P903 SMA-KE-P903
9 J6 1 S2B-PH-SM4-TB JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal
10 L1 1 0 0402_1005Metric
11 Q1 1 DMG3415UQ-7 SOT-23
12 R10 1 10M 0603_1608Metric
13 R2,R6,R1 3 1k 0603_1608Metric
14 R3,R5,R4 3 5.1k 0603_1608Metric
15 R7,R8 2 10k 0603_1608Metric
16 R9 1 4.7M 0603_1608Metric
17 SW1 1 B3U-1000P SW_SPST_B3U-1000P
18 SW2 1 B3U-1000P SW_SPST_B3U-1000P
19 U1 1 RAK3172 RAK3172
20 U2 1 CH340E MSOP-10_3x3mm_P0.5mm
21 U3 1 MCP73831T-2ACI/OT SOT-23-5
22 U4 1 XC6220B331MR-G SOT-23-5
23 C5,C2 2 DNP 0402_1005Metric
24 J2 1 DNP PinHeader_1x12_P2.54mm_Vertical
25 J1 1 DNP PinHeader_1x16_P2.54mm_Vertical

Programming

By default, programming the device can be done over the USB-C. Internally, the USB-C connects to the UART-Bridge that connects to the UART2 port of the RAK3172. Out of the factory, the RAK3172 chip ships with an AT firmware that can be tested by sending AT command via the USB-C.

Using the USB-C, user can program the board using the Arduino or MbedOS/STM32Cube SDK. The following are some very good tutorial to start developing with the device:

Example Project

Teapotlabs Feather RAK3172 is a feather compatible board, and hence is compatible with the many available FeatherWing. The following are some example project that uses FeatherWings.

Over-engineered Clock

An over-engineered clock with main purpose to showcase FeatherWings compatibility. FeatherWings and sensors used:


Front and Side View

pcb_render
Back View

Reference

The project won't be possible without the amazing work from people across the globe. The following are the reference to those awesome projects:

License

The product is open-source! However, some part of library used under src, might have it's own license. Please reach out or create a ticket to report any license violation.

License: MIT