
D1 mini shield
UtilitechAS/amsreader-firmware
ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported

ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported
HAN ESP TSS721 is an open-source printed circuit board by UtilitechAS, from the UtilitechAS/amsreader-firmware repository on GitHub. It is a 2-layer board of 33.7 × 97.8 mm with 29 parts on 52 nets, routed with 145 tracks and 16 vias.
It is built around the ESP-12E, TSS721D and DS18B20, with the LM1117-3.3, BSS84 and RJ45 among its other parts. Its parts include 11 resistors, 6 capacitors, 4 ICs, 3 connectors and 2 switches. It belongs with the home automation and IoT and sensors and measurement boards and the ESP32 and ESP8266 boards of this library.
This design uses the Texas Instruments TS721 circuit for the M-bus to TTL conversion. From here, the 3.3V TTL signal is taken to the ESP-12 / ESP8266 for further processing and reporting over WiFi to MQTT. Really, this hardware is agnostic to what you choose to report to, the HAN library will help you decode the serial signal into readable meter values.
An addition to this design is using a DS18B20 as a temperature sensor. Just a little added value in monitoring the temperature of your fuse box.
There is an on-board programming option for the ESP. In order to do programming, my experience is that you'll be better off disconnecting the RX/TX from the TSS721, so there's two jumpers for this.
Other than this, it's all about software. You can find the Arduino code to decode the HAN data and report the values over WiFi to an MQTT server.


| Top Copper | Bottom Copper | Silk | Combined |
|---|---|---|---|
The full KiCad source for these design files are here in this folder. Download this repository, start KiCad, chose open project and select HAN_ESP_TSS721.pro to get going.
| Name | Value | Part | Comments |
|---|---|---|---|
| C1 | 220uF / 16V | UVR1C221MED1TA | Electrolytic Capacitor |
| C2 | 100nF / 63V | R82EC3100AA70J | Metal Film Capasitor |
| C3 | 100nF / 63V | R82EC3100AA70J | Metal Film Capasitor |
| C4 | 220uF / 16V | UVR1C221MED1TA | Electrolytic Capacitor |
| C5 | 220uF / 16V | UVR1C221MED1TA | Electrolytic Capacitor |
| C6 | 100nF / 63V | R82EC3100AA70J | Metal Film Capasitor |
| R1 | 22k | CF14JT22K0 | 0.25W resistor |
| R2 | 470R | CF14JT470R | 0.25W resistor |
| R3 | 10k | CF14JT10K0 | 0.25W resistor |
| R4 | 10k | CF14JT10K0 | 0.25W resistor |
| R5 | 10k | CF14JT10K0 | 0.25W resistor |
| R6 | 10k | CF14JT10K0 | 0.25W resistor |
| R7 | 10k | CF14JT10K0 | 0.25W resistor |
| R8 | 220R | CF14JT220R | 0.25W resistor |
| R9 | 220R | CF14JT220R | 0.25W resistor |
| R10 | 22k | CF14JT22K0 | 0.25W resistor |
| R11 | 4k7 | CF14JT4K70 | 0.25W resistor |
| U1 | TSS721 | TSS721AD | M-bus tranciever |
| U2 | ESP12-E | ESP12 | ESP8266 SMT MODULE (Check e-bay for this one) |
| U3 | LM1117-3.3 | LD1117AS33TR | 3.3V Voltage regulator |
| U4 | DS18B20 | DS18B20 | Maxim Temp Sensor |
| Q1 | BSS84 | BSS84PH6433XTMA1 | P-FET transistor |
| J1 | RJ45 | 54601-908WPLF | RJ45 port |
| J2 | uUSB | 10118194-0001LF | USB micro socket |
| J3 | 6-pin female header | 4320-01074-0 | 6-pin female header |
| JP1 | XG8S-0241 | Jumper header | |
| JP2 | XG8S-0241 | Jumper header | |
| SW1 | Tactile Switch | 1825910-6 | Tactile Button |
| SW2 | Tactile Switch | 1825910-6 | Tactile Button |
| NONAME | STC02SYAN | Unless you have these lying in your drawer, you'll need two |
Complete shoppingcart, ready to order: http://www.digikey.no/short/jj1vhv
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 10k | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3, R4, R5, R6, R7 |
| 3 | 100n | Capacitors_THT:C_Rect_L7.0mm_W3.5mm_P5.00mm | C2, C3, C6 |
| 3 | 220u | Capacitors_THT:CP_Radial_D10.0mm_P5.00mm | C1, C4, C5 |
| 2 | 220R | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R8, R9 |
| 2 | 22k | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R10 |
| 1 | 470R | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 1 | 4k7 | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R11 |
| 1 | BSS84 | TO_SOT_Packages_SMD:SOT-23 | Q1 |
| 1 | DS18B20 | TO_SOT_Packages_THT:TO-92_Inline_Wide | U4 |
| 1 | ESP Prog | Buttons_Switches_THT:SW_PUSH_6mm_h5mm | SW2 |
| 1 | ESP Reset | Buttons_Switches_THT:SW_PUSH_6mm_h5mm | SW1 |
| 1 | ESP-12E | ESP8266:ESP-12E_SMD | U2 |
| 1 | FTDI | Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm | J3 |
| 1 | LM1117-3.3 | TO_SOT_Packages_SMD:SOT-223 | U3 |
| 1 | RJ45 | Connectors:RJ45_8 | J1 |
| 1 | RX | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | JP1 |
| 1 | TSS721 | Housings_SOIC:SOIC-16_3.9x9.9mm_Pitch1.27mm | U1 |
| 1 | TX | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | JP2 |
| 1 | USB | Connectors:USB_Micro-B | J2 |

UtilitechAS/amsreader-firmware
ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported




AnaviTechnology/anavi-thermometer
WiFi Smart Thermometer with ESP8266, DHT22, DS18B20, OLED display and slots for up to 3 I2C sensor modules


foorschtbar/LakeTempESP
One of my first electronic projects 2011 based on a breadboard. It has lasted almost 10 years of continuous operation.

Hackuarium/esp-12e
PWM on all the pins ! HSPI (screen or other): 12 13 14 15 PWM: R12 G15 B13 ADC: TOUT I2C: SCL14 SDA2

makerspacelt/wiscale-hw
This is ESP8266 (ESP-12F) and HX711 based weight monitoring device.
It measures 33.7 × 97.8 mm and has 2 copper layers, 1.6 mm thick.
29 parts, built around the ESP-12E, TSS721D, DS18B20 and LM1117-3.3. 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.
From the UtilitechAS/amsreader-firmware repository on GitHub, at the commit this page was made from: the board is hardware/v1/kicad/HAN_ESP_TSS721.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask UtilitechAS before reusing the design.