Skip to the content
PCBKitNew board
2 layers76.2 × 46.9 mmIoT Messenger, the printed circuit board in 3D

IoT Messenger

PR77/IoT_Messenger3

IoT Messenger (Pager) For Simple 1 Way Communication

Size
76.2 × 46.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
46
Pads
183
Tracks, vias
339, 61
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
14 Nov 2019
Updated
14 Sep 2023

Overview

IoT Messenger is an open-source printed circuit board by PR77, from the PR77/IoT_Messenger repository on GitHub, published under the LGPL-3.0 licence. It is a 2-layer board of 76.2 × 46.9 mm with 64 parts on 46 nets, routed with 339 tracks and 61 vias.

It is built around the ESP-12F, DHT11 and LM1117-3.3, with the IRLML6402 and SS16 among its other parts. Its parts include 18 resistors, 16 capacitors, 5 connectors, 4 ICs and 4 switches. It belongs with the home automation and IoT and lEDs and displays boards and the ESP8266 boards of this library.

Main components

5

README

README.md

IoT_Messenger

IoT Messenger (Pager) For Simple 1 Way Communication

Warning

This design has not been compliance tested and will not be. It is published purely for inspiration to others. I take no responsibility for damages caused directly or indirectly. I accept no responsibility for any damage to any equipment that results from the use of this design and its components. IT IS ENTIRELY AT YOUR OWN RISK!

Overview

As a child growing up in the 80's I have fond memories of old skool pagers and analog mobile phones the size of bricks. I remember buying a bunch of old analog Motorola (R) Brick Phones just before the analog network was shut down and turning them into scanners. This project is in no way connected to that, but the fond memory of pagers is something I wanted to bing back with this project. In addition to this, my other motivation for the project was it's "semi" practical use as a real pager within a known WiFi network.

Basic Concept

My IoT Messenger is essentially some common components connected to an ESP8266, ESP12-F to be specific. However, it is the form factor and user interface which draws parallels to a pager. It is my first revision of the project and has a lot fo fine tuning - should I or the community want to pursue it further. I would like to continue improving this as I see it would be fun for those who use it.

Interfacing with the device is via the Web using the simple HTTP Server class. The IoT Messenger sends out a webpage where the message and other functions can be accessed. As my HTML and JS skills are not up there, I have resorted to using CURL during development and debugging - HELP NEEDED! :)

Here is a nice 3d model of the PCB;

Appearance

Nice 3D model: 3DModel

Basic Interfaces

My IoT Messenger needs to be portable therefore battery power and a basic set of controls are essential. I use a 600 mA LiPo cell which is charged via USB. USB provides power only. No intelligent power management has been implemented yet, so when running only via battery it last 4 - 5 hours.

There are 4 buttons for user input which can also be used for additional functions (see how Tetris and Dino game use them).

Power Supply

I use the MCP73831 LiPo battery charger with a P-Channel load balancing FET. This is to ensure the LiPo charger only charges the battery when connected to a USB power source. The necessary 3.3 volts is obtained via a basic LM1117-3.3.

Sensors And Indicators

I wanted to have the PCB somewhat universal - I guess like an evaluation or child friendly development board - so I added a nice RGB LED (PL9823) and an environmental sensor (DHT11). In addition to these, as the device is inspired by pagers, it has a OLED display (128x32) and Piezo Beeper.

As mentioned, flexibility was important so with the OLED, it is essentially dual-footprinted where a module with necessary passives could just be solder on, or the raw OLED panel and necessary passives be soldered on the IoT Messenger board. For my prototype I used the latter so get some experience with this. Lastly, I added a SAO port, well for - Add Ons.

Nice fully soldered IoT Messenger: FullySoldered

Server

All of the interfacing with the hardware features is via HTTP Server GET and POST requests. The following services have been implemented currently;

RequestTypeParametersComments
/listGETnoneLists files currently saved to SPIFFS
/uploadPOSTfilenameUploads a file to SPIFFS
/formatPOSTnoneFormats SPIFFS
/infoGETnoneGet SPIFFS and CPU MHz info
/sensorGETnoneRead environmental sensor data (DHT11)
/messagePOSTtextWrite a message to the buffer
/ledPOSTcolourSet RGB LED colour
/beeperPOSTcountBeep piezo beeper

Fun Stuff

Of course. Check out my IoT Messenger playing the Tetris game theme music or Dino Jump. Videos are in the Images folder.

Open Sources Used

PlatformIO is the main development environment. In addition to the Arduino framework for ESP8266, I used the following (either important as libraries into PIO or seperate);

  1. OLED library (https://github.com/ThingPulse/esp8266-oled-ssd1306)
  2. ClickButton library (https://github.com/pkourany/clickButton)
  3. RGB LED library (https://github.com/Makuna/NeoPixelBus)
  4. Tetris theme song (https://dragaosemchama.com/en/2019/02/songs-for-arduino/)
  5. Environmental sensor library (https://github.com/beegee-tokyo/DHTesp)

Parts

64
QtyValueFootprintReferences
51uFCapacitors_SMD:C_0805C7, C8, C9, C13, C16
4100KResistors_SMD:R_0805R9, R10, R11, R18
4100nFCapacitors_SMD:C_0805C5, C6, C12, C14
410KResistors_SMD:R_0805R5, R14, R16, R17
44K7Resistors_SMD:R_0805R4, R7, R8, R13
310uFCapacitors_Tantalum_SMD:CP_Tantalum_Case-R_EIA-2012-12_ReflowC3, C4, C15
24.7uFCapacitors_Tantalum_SMD:CP_Tantalum_Case-R_EIA-2012-12_ReflowC1, C2
24.7uFCapacitors_SMD:C_0805C10, C11
2500mAFuse_Holders_and_Fuses:Fuse_SMD1206_ReflowF1, F2
1220KResistors_SMD:R_0805R3
12KResistors_SMD:R_0805R2
1330KResistors_SMD:R_0805R12
1470RResistors_SMD:R_0805R1
1560KResistors_SMD:R_0805R6
162KResistors_SMD:R_0805R15
1BATTConnectors_JST:JST_PH_S2B-PH-K_02x2.00mm_AngledCONN2
1BuzzerBuzzers_Beepers:Buzzer_15x7.5RM7.6BZ1
1DBNCKiCad-Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP4
1DHT11KiCad-Sensors:Aosong_DHT11_5.5x12.0_P2.54mmIC3
1DISP2Pin_Headers:Pin_Header_Straight_1x04_Pitch2.54mmJ1
1DOWNButtons_Switches_SMD:SW_DIP_x1_W7.62mm_Slide_Copal_CHS-BSW3
1ENTERButtons_Switches_SMD:SW_DIP_x1_W7.62mm_Slide_Copal_CHS-BSW4
1ESP-12FRF_Modules:ESP-12EIC4
1I2CPin_Headers:Pin_Header_Straight_1x04_Pitch2.54mmJ2
1IRLML6402TO_SOT_Packages_SMD:SOT-23Q2
1LEDKiCad-Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP3
1LEDLEDs:LED_0805LED1
1LEDPin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmJ5
1LM1117-3.3TO_SOT_Packages_SMD:SOT-223-3_TabPin2IC2
1LOGOIoT_Messenger:LogoG***
1MCP73831-2-OTTO_SOT_Packages_SMD:SOT-23-5_HandSolderingIC1
1MENUButtons_Switches_SMD:SW_DIP_x1_W7.62mm_Slide_Copal_CHS-BSW1
1PL9823LEDs:LED_D5.0mm-4-STEPPEDLED2
1PROGPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ3
1Q_NPN_BECTO_SOT_Packages_SMD:SOT-23Q1
1ResetKiCad-Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1SERIALPin_Headers:Pin_Header_Straight_1x04_Pitch2.54mmJ4
1SS16Diodes_SMD:D_SMAD1
1SSD1306KiCad-SSD1306:SSD1306_OLED-0.91-128x32DISP1
1UPButtons_Switches_SMD:SW_DIP_x1_W7.62mm_Slide_Copal_CHS-BSW2
1USB_B_MicroConnectors:USB_Mini-BCONN1
1WakeUPKiCad-Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

The 63 most common of 64 parts.

Questions

How big is the IoT Messenger PCB?

It measures 76.2 × 46.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the IoT Messenger use?

64 parts, built around the ESP-12F, DHT11, LM1117-3.3 and IRLML6402. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the IoT Messenger KiCad files?

From the PR77/IoT_Messenger repository on GitHub, at the commit this page was made from: the board is Hardware/IoT_Messenger.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the IoT Messenger design in my own project?

Its repository publishes it under the LGPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers61.8 × 21.6 mmUSBQuadMouse, the printed circuit board in 3D

    USBQuadMouse

    PR77/CH554_USBQuadMouseKeyboard

    CH554 based USB to Quadrature Mouse and Keyboard Interface

    24 parts8MIT
  • 2 layers107.7 × 49.8 mmUSBAuxKeyboard, the printed circuit board in 3D

    USBAuxKeyboard

    PR77/CH554_USBAuxKeyboard

    CH554 base AUX Keyboard Interface (Macro Pad OR3)

    66 partsMIT
  • 2 layers20.3 × 57.2 mmDoor, the printed circuit board in 3D

    Door

    ViktorStiskala/ESP8266-door-sensor

    This design represents a small sensor intended to be triggered by a magnetic reed switch. It wakes upon closing the contact, reporting the information to the internet and going back to sleep.

    27 parts1
  • 2 layers40 × 15 mmBattery, the printed circuit board in 3D

    Battery

    TeFka/PeatMonitoringProject

    This is the repository for used for storage of all software code and other components produced during the project of developing the peat monitoring device or University of Nottingham EEEE4019 Group Project.

    13 parts1
  • 2 layers109.9 × 105.6 mmClimateController, the printed circuit board in 3D

    ClimateController

    Pablo-Ortiz-Lopez/ClimateController

    ESP8266 based device which handles the climate of a room.

    23 parts
  • 2 layers81.4 × 21.6 mmEsp12-temp sensore, the printed circuit board in 3D

    Esp12-temp sensore

    rgronberg/esp12-temp-sensor

    ESPHome Home Assistant Temperature sensor PCB

    20 parts
  • 2 layers71 × 74 mmParticle sensor pcb, the printed circuit board in 3D

    Particle sensor pcb

    squishykid/particles

    Particulate Matter Sensor Device

    46 parts
  • 2 layersMainboard1, the printed circuit board in 3D

    Mainboard1

    greenMikeEU/shrdzm

    SHRDZM (just a name, not an acronym) is an ESP8285/ESP8266 based sensor and actor integration platform.

    12 partsGPL-3.0