Here are two images I look up often when using ESP8266 boards. I like the NodeMCU versions, they are cheap and easy to use with USB power or a battery.
The pins are not labeled in a friendly way for the arduino compiler, however. The arduino compiler uses the GPIO numbers on the chip, while the board’s silkscreen uses NodeMCU labels. Below is a nice image (from here) showing the pin numbers.
The pins, like on many microcontrollers, have multiple functions. For example, even though you can wire external devices to GPIO1 and GPIO3, doing so could prevent the serial port from working, or cause serial print commands to drive your device! A nice summary (from here) shows that there are only a few pins that truly have nothing to do. The lines in green show that GPIO 4, 5, 12, 13, 14 are your safest bets. The yellow lines can be used as outputs but can cause funny behavior if used as inputs because external signals are read on these pins at boot or other times. I have made the mistake of hooking a GPS serial stream to GPIO 15 which caused intermittent problems; depending on the data coming in sometimes the pin was high or low which affected boot behavior.
Here’s the WeMos D1 Mini too, also a nice choice for inexpensive boards. These usually don’t have the pins soldered which is my preference. (image from here)
I have a G-scale train made by LGB that we get out at Christmas to run around the tree. A few years ago the controller stopped working, and it turns out they are pretty expensive to replace (here is an affiliate link for the control, there was also a power supply.) This post shows how I made my own controller. No programming required!
Monitoring the morning brew with the internet of things.
Do you want to know when your coffee is done brewing but are too lazy to walk over to see for yourself? Do you need to monitor your coffee pot when you are out of town? Probably not, but here is one solution to the non-problem. CLICK HERE to see if the coffee is hot, or keep reading to see how to make your own.
Dumbo is an autonomous research vessel constructed by students at Cal Maritime. Dumbo carries temperature, salinity, and dissolved oxygen sensors and makes oceanographic observations in the waters off of the Cal Maritime Campus. This work has been supported by the CSU Council on Ocean Affairs, Science & Technology (COAST).
I had an email request to find this project from 2010… I updated the code too!
This project takes the pulse from a paddlewheel boat speed sensor and makes an NMEA output on the serial port. It should work with most through-hull speed transducers, and also with windspeed transducers too. The NMEA stream comes from the arduino serial port, so if you have a USB arduino you can hook it up to a laptop easily. If you want to hook it up to another NMEA instrument you’ll need something like a MAX232 chip to take the TTL logic from the serial port pins and convert them to RS-232 (or convert to RS-422 to meet the NMEA specification).