---
title: Notes on ESP8266 and MicroPython
date: 2019-03-10T17:09:44+00:00
modified: 2019-03-16T07:12:21+00:00
permalink: https://kaspars.net/blog/esp8266-micropython
post_type: post
author:
  name: Kaspars
  avatar: https://reverse.kaspars.net/gravatar/avatar/92bfcd3a8c3a21a033a6484d32c25a40b113ec6891f674336081513d5c98ef76?s=96&d=mm&r=g
category:
  - Electronics
  - Home Automation
post_tag:
  - ESP8266
---

# Notes on ESP8266 and MicroPython

[MicroPython](http://micropython.org/) is awesome! Before working with [Wemos D1 mini](https://wiki.wemos.cc/products:d1:d1_mini) modules (which are awesome) I had only written C (mostly for [AVR chips](https://en.wikipedia.org/wiki/AVR_microcontrollers)) and some Arduino sugar which was hard to get around and organize because of lack of dependency management.

## Wemos D1 Mini

[These modules](https://wiki.wemos.cc/products:d1:d1_mini) are the best for doing pretty much anything connected to the Internet — [at $3.50](https://kaspars.net/go/wemos-d1-mini) they’re tiny, can be plugged directly into USB port for programming and bring out the best of ESP8266. And there are shields for adding pretty much any functionality.

## Wemos RFM95 Shield

The [Wemos LoRa shield](https://github.com/hallard/WeMos-Lora) by [Charles Hallard](http://hallard.me/) is awesome. I got them [from PCBs.io for $5](https://pcbs.io/order/1de6c1e855c0a295d4ddbd2e0eda65ed0a8b9ff754e61a9c8691b98ff3551275) and they work great. For prototyping purposes you don’t even need to add any passive components.

For receiving interrupts on `DIO1` on radio receive/transmit you need to connect the `D2` diode pads which are connected to `GPIO15` of ESP8266. The actual diodes are only required if you want to use more than two of the `DIO` inputs to prevent one interrupt triggering all of them.