As part of an upcoming series of workshops on IoT I have been endeavouring to learn more about IoT - and specifically IoT on a budget! I'm fortunate enough to have a bunch of Arduino and other electronic bits and bobs laying around from previous explorations, forrays, and a kit I was bought for Christmas. But this is not always the case. So part one of this exploration is to put together a minimal list of what I have used for the projects that follow. This may not be the bare bones list - I mean you could connect the Arduino by putting female jumpers onto the pins rather than using a breadboard - but it's the minimum I have used, and what I will be putting together into a little kit for the workshops.
Note: I know the esp8266 can be used as a microcontroller in it's own right. This set of workshops was based around having an easy to use yet affordable microcontroller - the Arduino Nano - but then using the esp8266 as a cheap and (relatively) simple way to get the Nano online. You can get Arduino's with wifi built in - but where's the fun in that?
Part 2: Getting connected to WiFi
- Arduino Nano (other flavours exist; I used a cheap and cheerful nano from eBay)
- USB cable
- ESP8266 (again I went with the cheapest and cheerfullest)
- Breadboard
- 5x M-F jumper wires
- 2x M-M jumper wires
- 3.3v power supply
- 10kΩ resistor
- 1kΩ resistor
- 2.2kΩ resistor
For the 3.3v power I initially I used 2xAAA batteries together in series. They didn't last long so now use a power adaptor that came with an Arduino kit and a variable voltage plug that I got from Maplins years ago. You cannot run the ESP8266 from the Arduino 3.3v supply.
Part 3: Basic web server
Note: This uses the same circuit as part 2 and so the parts are identical...
- Arduino Nano (other flavours exist; I used a cheap and cheerful nano from eBay)
- USB cable
- ESP8266 (again I went with the cheapest and cheerfullest)
- Breadboard
- 5x M-F jumper wires
- 2x M-M jumper wires
- 3.3v power supply
- 10kΩ resistor
- 1kΩ resistor
- 2.2kΩ resistor
Part 4a: A Button
This is for a single switch (we're just testing!).
- Arduino Nano (other flavours exist; I used a cheap and cheerful nano from eBay)
- USB cable
- Breadboard
- 4x M-M jumper wires
- 3.3v power supply
- Momentary / push button switch
- 10kΩ resistor
Part 4b: Reporting a button on a Web Server
This is for a single switch (we're just testing!). Each additional switch would need two more M-M jumper wires, one more 10kΩ resistor. And of course an additional switch!
- Arduino Nano (other flavours exist; I used a cheap and cheerful nano from eBay)
- USB cable
- ESP8266 (again I went with the cheapest and cheerfullest)
- Breadboard
- 5x M-F jumper wires
- 5x M-M jumper wires
- 3.3v power supply
- 2x 10kΩ resistor
- 1kΩ resistor
- 2.2kΩ resistor
- Momentary / push button switch
Project Total
If you want to just order everything to cover the whole project then you want to use this complete list.
- Arduino Nano (other flavours exist; I used a cheap and cheerful nano from eBay)
- USB cable
- ESP8266 (again I went with the cheapest and cheerfullest)
- Breadboard
- 5x M-F jumper wires
- 5x M-M jumper wires
- 3.3v power supply
- 2x 10kΩ resistor
- 1kΩ resistor
- 2.2kΩ resistor
- Momentary / push button switch