ISP adapter for Arduino Pro Micro

I have started using Arduino Pro Micros recently, and sourced inexpensive clones from China.

Experience is that all manner of inexpensive small microcontroller modules from China are likely to have issues with the bootloader: it isn’t there, it is back level, not suited to the actual clock speed.

I have come to routinely install a current / known / working bootloader to avoid wasting time down the track.

The Pro Micro does not have an ISP header, and the QFN package does not suit a chip adapter, so the next option is an adapter that can connect to the board with no pins, male or female headers, top or bottom.

Above is an adapter built on a small piece of Veroboard. If you are ging to copy it, make it one row of holes higher. I did initially, and in a miscount of rows, I incorrectly removed the top row. The black mark identifies the USB end of the Pro Micro, and the adapter connects to the side with the /RST pin. Continue reading ISP adapter for Arduino Pro Micro

IoT – exploration of LoRa – part 3

This series documents a set of experiments to explore LoRa for a telemetry application. Note this is simple multipoint to point LoRa, it does not use LoRaWAN.

IoT – exploration of LoRa – part 1 outlined a simple direct RESTful submission to Thingspeak from the LoRa – Wifi gateway.

IoT – exploration of LoRa – part 2 outlined a simple RESTful submission to Node-Red from the LoRa – Wifi gateway.

This article describes a direct MQTT submission from the gateway. In this case the gateway converts the binary LoRa payload into more friendly MQTT key,value pairs.

The block diagram above shows the information flow between the main elements. Continue reading IoT – exploration of LoRa – part 3

IoT – exploration of LoRa – part 2

This series documents a set of experiments to explore LoRa for a telemetry application. Note this is simple multipoint to point LoRa, it does not use LoRaWAN.

IoT – exploration of LoRa – part 1 outlined a simple direct RESTful submission to Thingspeak from the LoRa – Wifi gateway.

This article introduces an intermediate flexible and extensible Node-Red flow.

The block diagram above shows the information flow between the main elements. Continue reading IoT – exploration of LoRa – part 2

Arduino SAMD21 bootloader protection II

At IoT – exploration of LoRaWAN – part 2 I reported some quality issues with two low cost SAMD21 Arduino Zero like boards, and at Arduino SAMD21 bootloader protection some related discussion.

In view of continuing experience of incorrectly programmed low cost SAMD21 boards, I have decided to re-flash them as a matter of course

Above is one of the culprit boards. Continue reading Arduino SAMD21 bootloader protection II

Arduino SAMD21 bootloader protection

At IoT – exploration of LoRaWAN – part 2 I reported some quality issues with two low cost SAMD21 Arduino Zero like boards.

In both cases, the bootloader did not work. I did not investigate further but did note that the NVM user row looked like it had been cleared, but just wrote a new bootloader and restored a default user row with protection for the 8192 length bootloader.

Above is one of the culprit boards. Continue reading Arduino SAMD21 bootloader protection

IoT – exploration of LoRaWAN – part 2

At IoT – exploration of LoRaWAN – part 1 details were given of first steps in a LoRaWAN project.

This article documents some MCU boards used for prototyping solutions.

The Arduino Zero concept was chosen for a modern module supported by the Arduino IDE and with ample memory resources for the LoRaWAN protocol stack and application code and memory requirements.

The boards tested are ‘basic’ Zero boards using the Atmel SAMD21G18 MCU. None of the three boards discussed here had the ‘PRO’ EDBG chip / ‘Programming USB’ port, they had only the ‘Native USB’ port.

Wemos SAMD21 Arduino form

Above is the module under test. Continue reading IoT – exploration of LoRaWAN – part 2

Dragino LG02 review

This article reviews the Dragino LG02 LoRa ‘gateway’.

Above is a pic of the supplied device, and notably it is supplied without the external WiFi antenna shown in the manufacturer’s literature and seller’s web shop.

Above is a close up of the case with the plastic plug removed from the ANT-3 hole, there is not connector, the device does not have provision to install the external WiFi antenna and presumably has an internal antenna though we might expect that has reduced range. Continue reading Dragino LG02 review

ESP8266 IoT BME280 temperature, humidity and pressure

This article documents a project with the Espressif ESP8266.

This project is based on ESP8266 IoT DHT22 temperature and humidity – evolution 3, but uses the Bosch BME280 temperature, humidity and pressure sensor. The BME280 has been around for a couple of years, but recently, modules using the chip have become available on eBay for a couple of dollars.

The objective is a module that will take periodic temperature, humidity atmospheric pressure (barometer) measurements, and in this evolution publish them using a RESTful API.

The example platform used in this article is a Wemos D1Pro. In this case, the D1Pro is configured for an external antenna, and a modification is made to the board to add a 1N34A diode for the deep sleep reset circuit (NodeMCU devkit V1 deep sleep). A right angle header on the top of the board (as seen) and another on the underside on the opposite edge to get GND, +3.3, D3 and D4 for the BME280 sensor. There is less than $25 in parts in the pic above. Continue reading ESP8266 IoT BME280 temperature, humidity and pressure

IoT – exploration of LoRaWAN – part 1

Several of my IoT projects use WiFi, and its range is quite limited, too short to be practical for some projects.

There are several alternatives, but the emerging LoRaWAN concept looks interesting and is worth a visit. LoRaWAN is capable of up to 20km range under ideal conditions, km range should be reliable in most cases.

The first trial is to adapt an existing project functional requirement to LoRaWAN connectivity.

Above is a block diagram of the working trial. Continue reading IoT – exploration of LoRaWAN – part 1