Introduction: MQmax 0.7 a Low Cost WiFi IoT Platform Based on Esp8266 and Arduino Mini Pro
Hello This is my second Instructable (from now on i stop counting) . I made this to create a simple (for me at least) ,cheap , easy to make and eficient platform for Real IoT applications that include M2M work .
This Platform works with esp8266 and an arduino mini pro (the one with 8 analog ports) . The bill of matterials is very low . As low as 7 euros with the PCB made by JLCPBC , 10 pcb for 2 euro.
So to discribe a little how it is working . The main firmware for this platform is . The platform adds a programmer for first time programming the firmware but you will need a FTDI TTL programmer to connect in serial port. Also you will need power adaptor to power the board . The board works with 6 ~ to 24~ (AC or DC ) .I made it compatible with AC current for two reasons . First its protected from polarity and also if you want to locate it in a long distance you can use AC current and have less loss on the cable .
As you can see the platform has seperate power board like arduino shields . Thats because you can use many different methods to give it power . From sollar to battery only you can make whatever you like for your spesific application.
So lets se haw to make one and how to start with it and Node-Red to make your application. :-)
Step 1: First of All ..Schematic
The Schematic Is very simple to make . The two Bottons near Esp8266 are for flashing the firmware (you can use and other firmware like TASMOTA)
Also you can see an operation Selector where you have to use two jumper fro Rx and Tx connector with the programmer or for the comiunication between Esp and AVR, the operetional condition .
Step 2: Making the Pcb
The schematic and the Pcb where created with the easyEDA program.
this is dual side pcb and the are many vias that you can use to connect the top side with the bottom . I used .2 mm dril and .4 you can use up to 1mm
Step 3: Export PCb for Etching .
You can make the board by etching with these masks . the printed side goes inside so you don't have and space .
Step 4: The Constraction of the Board After Etching the Prototype for Testing .
I made By hand 4 board with the powerboard for testing before ordering a board .
The test was succesfull so i ordered the boards form JLCPCB. The pack came very fast to Greece but with high price , about 20 euro for both packs but it is still cheaper than making it by my own because a dual side photosensitive board A4 size board cost about 25euro here in greece .
Step 5: Upload the Firmware
Connect to the programming port the TTL side of your ftdi without the 5v because you have to power the board from the PowerBoard (this is tricky i know but.. it is safe).
To upload the firmware you have to install python 3.0
After installing run the folowing command
pip install esptools
sudo pip install esptools
for linux you have to change the script inside the .bat file and make it executable . In windows it is by default .
If the programming is ok you will see a new wifi network on your mobile phone with the name AIThinkerXXXXX and it is open .
You connect to that and after the connection you type 192.168.4.1 in your chome browser of your phone or you PC, this will bring the wellcome page of esp link .
First you have to set the Pin Assignment
Reset -> gpio12
ISP/FLASH -> disabled
Conn LED gpio2/TX1
Serial LEd -> disabled
UART pins ->normal
Rx pull up uncheck and then click change.
Now you can programe your arduino without cable but wireless !! the only think you have to do next is to go to the services menu and write in the mDNS field arduino
After that you will see the wifi bridge working when you go to Ports in arduino IDE and see the 192.168.4.1 ip .
You can also connect the esp to your local network and use this ip to upload a program.
Now you have to select Arduino wifi from the boards (it worked for me but only with 50% signal an more)
or you can install the board with the files and use the MqMax board!(still under development)
Step 6: Download ELclient From Jeelabs
From this link download the El Client library for Arduino IDE .
There you can find examples for Mqtt and Rest , to use them you have to enable the Slip mode
After you install the ElClient library you have new examples in Elclient area . My presonal favorite is the Mqtt example but you can use it only as an wifi Bridge and connect it with a Raspberry pi With Node-RED installed.
There is endless things tha you can do with MqMax in no time .
I made my Thesis for my Masters in Automation and Telecomiunications and i had greate success.
If you use it give a thumps up because it was a lot of work .
Also if you like it vote for me in PCB contest.
Participated in the
PCB Design Challenge