ESP8266 NodeMCU (Arduino compiler) Pins

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.

nodemcu pins

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.

pin functions

Internet of Coffee!

Monitoring the morning brew with the internet of things.

Hot Coffee (sped up 40 times)

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.

Continue reading “Internet of Coffee!”

NMEA 0183 Speedometer

I had an email request to find this project from 2010… I updated the code too!

Arduino in Test Mode
Arduino in Test Mode

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).

Continue reading “NMEA 0183 Speedometer”