Monday, November 29, 2021

Cyber Monday Sales 2021

Pololu's Black Friday / Cyber Monday
is underway again this year, featuring the new Zumo and 3pi+ robots with OLED graphic displays. Dang, I may have to get one of these!

Additional items on sale include 

  • A-Star AVR and P-Star PIC microcontroller boards, 
  • Brushed DC and stepper motor driver boards and motors, 
  • Servos and servo controllers,
  • Regulator boards (which are excellent, by the way) and power adapters, 
  • A variety of sensors, 
  • Robot wheels, and 
  • Electronics prototyping goodies. 
Cyber Monday Sale at Bot Thoughts Store on Tindie is underway. 20% off everything in the store. In addition to the ever popular Turntable Strobe for calibrating the speed of your turntable, check out our convenient breadboard prototyping boards.
  • ATtiny boards with complete circuits and AVRISP header for tiny85, 84, 841, and 4314
  • Switch with built-in pull-up and debounce
  • Smart RGB (WS2812 aka NeoPixel) LED with pull-up and cap
  • Itty bitty USB breadboard power supplies
  • LM386 Amplifier breakout
  • and more!

Monday, November 22, 2021

Make an ESP8266 WiFi Temperature Sensor & Python Flask Backend - Part 4

Last time, we combined our example sketches into a functioning temperature sensor and refactored the backend to receive temperature data. This time, let's get basic plotting working. To do that, we need to:

  • Save temperature data on the backend
  • Implement an API for getting that data
  • Write a client-side JavaScript app to plot the data with Chart.js

Here's our familiar diagram; we'll focus on the items marked with an orange star.

Let's start with saving temperature data... 

Friday, November 19, 2021

Make an ESP8266 WiFi Temperature Sensor & Python Flask Backend - Part 3

In the previous article, I created a rudimentary Flask backend to receive example data from our ESP8266. Here's a further decomposed system diagram to give you a better idea of where we're going. The orange stars indicate our focus for this article.

In a moment, I'll incorporate the HttpPostClient code into the temperature sensor example, send temperature data instead of example data, and refactor the backend API to receive temperature data. The GET API, index.html, and plot.js for plotting the data will be the focus in a future blog post.

So without further ado, I'll combine our example sketches into one...

Monday, November 15, 2021

Make an ESP8266 WiFi Temperature Sensor & Python Flask Backend - Part 2

In the previous article, I used an example sketch to read the temperature sensor, and another example sketch to connect to WiFi and POST data to an API that I still have to write. 

Once I build out this basic example capability, I'll incorporate it into the temperature example and refactor the backend to receive temperature data.

As you can probably guess, next is to write a prototype Flask app, then I'll add the code to receive example data from our ESP8266. Please continue reading...

Thursday, November 11, 2021

Make an ESP8266 WiFi Temperature Sensor & Python Flask Backend - Part 1

Ok, yeah, it's true, I'm a "few" years late to the ESP IoT game. But now that I've finally gotten around to it, I thought it would be fun to start with an Internet of Things (IoT) temperature monitor as I have several use cases in mind:

  • Chest freezer monitor and alarm,
  • Measure temperature differentials between floors in my house,
  • Fish tank temperature monitoring and alerting,
  • Weather monitoring for vegetable garden
  • Template platform for deploying other kinds of sensors

For now, I'm going to prototype a temperature sensor that posts data to an API. I'll showcase several technologies and walk you through the process I use to develop projects like this. 

Here are the requirements I put together for the freezer monitor...