BBQ Tech Stuffs
Huzzah Feather ESP8266 - Printable Version

+- BBQ Tech Stuffs (http://bbq.nailbuster.com/forum)
+-- Forum: Q-Control DIY BBQ Controller Stuffs (http://bbq.nailbuster.com/forum/forumdisplay.php?fid=1)
+--- Forum: Q-Control Discussions (http://bbq.nailbuster.com/forum/forumdisplay.php?fid=2)
+--- Thread: Huzzah Feather ESP8266 (/showthread.php?tid=25)



Huzzah Feather ESP8266 - caldersm - 06-30-2017

Oh My.....Love the Digital Pinball Machine...!! Been wanting to build one of those, but I am a bit shy of the wood working skills. :-)

My name is Steve.....and I am planning on building a smoker controller using the MicroDamper. I was going to build the HeaterMeter, but I have so many parts that I have on hand, and HM code is a bit complicated, due to using the 328P AVR. So my plan is to use the Huzzah Feather ESP8266....and I have a Motor Featherwing to drive the fan motor. I bought the 5V fan, and the SG90 servo. I am going to use the Quad MAX31856 for SS K-thermcouples....because I have on hand. In addition, I am planning on adding an OLED .96" display with a Rotary Encoder Pushbutton, so I can display menus and setup the PID loops....set temps....etc.

I see you said in your intro post that the ESP8266 did not have enough horsepower to do webserver and PID.....do you think this is true with the newer version....ie....80mhz version...? Any thoughts on this direction...? If this doesn't work, then I might just add a cheaper ESP8266 as the webserver...using your code base or maybe just have the Huzzah post the data to Blynk.....lots of options...!!

I already have done the OLED with the Encoder and so I have that code running on a Teensy 3.2.....I used it to make a programmable Looper for another guy. I am studying the PID code for arduino over my vacation....so I will be coding in another week or so.

Thanks for hosting this site....and I will be back in a few weeks with some preliminary testing.


RE: Huzzah Feather ESP8266 - NailBuster - 06-30-2017

HI Steve, welcome aboard! Your ideas seem interesting so I moved your post to its own thread....

The esp8266 is an awesome chip... but its not 100% stable when doing a lot of things. What the community has done to get arduino working on it is very impressive....

IMO the PID with its simplicity and importance is perfect for a small mcu like the atmega.... the webserver/MQTT/user facing config is suited for the esp side of things.

It would definately be easier to run both the PID and Webstuffs on the same chip. I actually designed the code that you could compile both together easily.

I just got my first esp32, and that new chip (once the library is more robust) should be able to handle everything on its own. I'll be testing running both on an esp32 this summer for fun and see how it works out.

Keep us posted on your project, and anything you can contribute to the codebase the better!!

bye for now
David


RE: Huzzah Feather ESP8266 - caldersm - 06-30-2017

(06-30-2017, 03:44 PM)NailBuster Wrote: I just got my first esp32,  and that new chip (once the library is more robust) should be able to handle everything on its own.   I'll be testing running both on an esp32 this summer for fun and see how it works out.

I could try the ESP32 version of the Huzzah Feather, as I have one of those too.   I also have several Teensy 3.2's, but I was worried about having to write the code to talk back and forth between two chips.

So do you think the code in the ESP32 is stable enough just for home use?  I have done a lot of AVR code....but not much server type code on the ESP chips.   I will take a look at your code for running the server and see how it looks to communicate between chips.

Keep me informed as to your progress with the ESP32, as I could do some testing as well.

Thanks for the great info.
Steve


RE: Huzzah Feather ESP8266 - caldersm - 08-09-2017

Dave,

I got it working....!! I am using the BLYNK Application running a Local Blynk Server on a RaspberryPi3.  That was so easy to setup.! I have the iPhone Blynk App and the Android App(in an emulator) running on my phone and Laptop. This was my first run, and I forgot to program in the Lid Up routine to shut off the PID loop, when the micro determines that the lid was lifted. That made my fan blow on the coals and the heat got away from me a bit....but that is already fixed for my next smoke attempt.   I have it setup to use 4 K-thermocouples and of course the PID with Servo Damper and fan blower. I attached a pic of my controller on my desk and the Output graph of the cook and one of the Blynk screens.  My next step is to send the data to ThingSpeak and capture real time graphs with HighStock graphing.   The Huzzah seems to run everything fine....very solid.  I am also going to add a local OLED display to the clear case, so I can show temperature right at the Akorn Grill.  I also have a ESP32, but I really don't see a need for it right now, because all the data manipulation is done on the Blynk Server itself....and that server is Free...!  And you can run it on the Pi Zero Wireless.

Thanks again for your direction...it helped a lot...!
Steve


[attachment=9]
[attachment=10]
[attachment=11]


RE: Huzzah Feather ESP8266 - NailBuster - 08-10-2017

that looks/sounds awesome!!

Which TC board exactly did you use?  

I'm guessing that you wrote your own app on the ESP8266?  Or a modified version of other code?  Either way...keep us posted on progress...

I've played with Blynk a while back.  Is the software free to use/host locally inside your home?  is blynk open or closed source?


RE: Huzzah Feather ESP8266 - caldersm - 08-11-2017

that looks/sounds awesome!!
It is a work in progress.....I only have two of the four TC connectors installed...and it is still on a proto-board, but it's a good start.

Which TC board exactly did you use?  
Quad MAX31856 thermocouple breakout board.   The main reason I used that one is that I already had two of them, and it takes in 4 thermocouples.  It has 19 bit resolution, a 50/60hz filter, it is SPI bus, and is extremely linear and accurate.  On my Boil/Ice tests, I was less than 1 degree off from my instant read thermometer.  The biggest issue is Cost at $52 for the quad unit, it is a bit pricey.  You can get single units of the MAX31855(prior version) for $2...and now they have release a linearity fix on AdaFruit....so if I had to do it from scratch, I would use that one with the latest software.

I'm guessing that you wrote your own app on the ESP8266?  Or a modified version of other code?  
I used a lot of example code for the Quad TC board, For the Blynk Data stuff and the PID loop stuff.  I stitched it together, and have spent the last two weeks rewriting the whole thing into my own code with subroutines...etc.  When I finish, I will be glad to share with everyone here.

I've played with Blynk a while back.  Is the software free to use/host locally inside your home?  is blynk open or closed source?
The way Blynk normally works is that you hit their "cloud" server and that part is free.  Where they get you is that you have to buy "energy Points' to use each type of Widget on the app.  So you start out with 2000 units, and it goes REALLY fast.  BUT...the good news is that you can host their server locally on a Raspberry Pi....even the new Zero W($10)..!!  In fact, since their server is Java based, I actually ran the server on my laptop running windows 10....!!  And then I used an Android emulator to run the Blynk app locally on the same laptop, so I could develop my app using a mouse, instead of my finger on the iphone.  BTW....when you host the Server, you setup the "energy" points by user....So I have 999,999 points.! Now that I have everything tested, I installed Raspian(Noobs) on the Raspberry Pi 3...then the Blynk Server...and put it upstairs next to my Gig Switch with VNC Server, so I can just pop into it, if I need to update the server.  As long as the phone or laptop is on the same network, it can run the Blynk app against the server....simultaneously..!!

So....here is what I am working on now:
Several of the guys using the HeaterMeter wanted to do Multi-pit operation.   I am now using the Huzzah Feather and their Motor Wing....which runs the +5V fan, but it won't run the servo, so I have to use a separate pin for it.  So since I am now in the process of reducing costs, while expanding the options, I have found a 16 channel, 12 bit, PWM board that runs on the I2C bus that has an Arduino library.  So for $7, I can control 8 fans and/or 8 servos.  For the fans, I bought two dual motor board for $4 each....so I could do two or 3 pits, and only have to use two pins for all the fans and motors.!

So with this setup, it can expand or contract for the users needs.  So to price out a dual pit 6 TC project.....You buy one ESP8266 E12 at $8, and then you could buy 6 each MAX31855 at $12 total, PWM board at $7, two dual motor boards at $8 total...and you are done with your controls.  You still need the servos, fans, TC elements, connectors and cases, but you need that for any project....so for $35 you have your electronics portion...not too shabby...!!

Another item in the task list is to consider how to package it all up......PCB board that you just solder all the little boards together most likely.....maybe a 3D printed case.  Right now, the Pelican 1040 worked out great...was easy to drill and solder the connectors....so I am not sure on this one yet...

My next step is to send the day to ThingSpeak and then roll out that data via a plugin called HighStock.  It allows your Thinkspeak data to be shown as a mulitpen chart that you can select dates, ranges, pens...and this data would be available online anywhere.  Sample pic of a multi-pen chart.

Look here for what it looks like: http://forum.arduino.cc/index.php?topic=213058.0

....still a lot to do...but it is really looking promising.


RE: Huzzah Feather ESP8266 - JohnW - 12-19-2017

(08-11-2017, 04:04 PM)caldersm Wrote: that looks/sounds awesome!!
It is a work in progress.....I only have two of the four TC connectors installed...and it is still on a proto-board, but it's a good start.

Which TC board exactly did you use?  
Quad MAX31856 thermocouple breakout board.   The main reason I used that one is that I already had two of them, and it takes in 4 thermocouples.  It has 19 bit resolution, a 50/60hz filter, it is SPI bus, and is extremely linear and accurate.  On my Boil/Ice tests, I was less than 1 degree off from my instant read thermometer.  The biggest issue is Cost at $52 for the quad unit, it is a bit pricey.  You can get single units of the MAX31855(prior version) for $2...and now they have release a linearity fix on AdaFruit....so if I had to do it from scratch, I would use that one with the latest software.

I'm guessing that you wrote your own app on the ESP8266?  Or a modified version of other code?  
I used a lot of example code for the Quad TC board, For the Blynk Data stuff and the PID loop stuff.  I stitched it together, and have spent the last two weeks rewriting the whole thing into my own code with subroutines...etc.  When I finish, I will be glad to share with everyone here.

I've played with Blynk a while back.  Is the software free to use/host locally inside your home?  is blynk open or closed source?
The way Blynk normally works is that you hit their "cloud" server and that part is free.  Where they get you is that you have to buy "energy Points' to use each type of Widget on the app.  So you start out with 2000 units, and it goes REALLY fast.  BUT...the good news is that you can host their server locally on a Raspberry Pi....even the new Zero W($10)..!!  In fact, since their server is Java based, I actually ran the server on my laptop running windows 10....!!  And then I used an Android emulator to run the Blynk app locally on the same laptop, so I could develop my app using a mouse, instead of my finger on the iphone.  BTW....when you host the Server, you setup the "energy" points by user....So I have 999,999 points.! Now that I have everything tested, I installed Raspian(Noobs) on the Raspberry Pi 3...then the Blynk Server...and put it upstairs next to my Gig Switch with VNC Server, so I can just pop into it, if I need to update the server.  As long as the phone or laptop is on the same network, it can run the Blynk app against the server....simultaneously..!!

So....here is what I am working on now:
Several of the guys using the HeaterMeter wanted to do Multi-pit operation.   I am now using the Huzzah Feather and their Motor Wing....which runs the +5V fan, but it won't run the servo, so I have to use a separate pin for it.  So since I am now in the process of reducing costs, while expanding the options, I have found a 16 channel, 12 bit, PWM board that runs on the I2C bus that has an Arduino library.  So for $7, I can control 8 fans and/or 8 servos.  For the fans, I bought two dual motor board for $4 each....so I could do two or 3 pits, and only have to use two pins for all the fans and motors.!

So with this setup, it can expand or contract for the users needs.  So to price out a dual pit 6 TC project.....You buy one ESP8266 E12 at $8, and then you could buy 6 each MAX31855 at $12 total, PWM board at $7, two dual motor boards at $8 total...and you are done with your controls.  You still need the servos, fans, TC elements, connectors and cases, but you need that for any project....so for $35 you have your electronics portion...not too shabby...!!

Another item in the task list is to consider how to package it all up......PCB board that you just solder all the little boards together most likely.....maybe a 3D printed case.  Right now, the Pelican 1040 worked out great...was easy to drill and solder the connectors....so I am not sure on this one yet...

My next step is to send the day to ThingSpeak and then roll out that data via a plugin called HighStock.  It allows your Thinkspeak data to be shown as a mulitpen chart that you can select dates, ranges, pens...and this data would be available online anywhere.  Sample pic of a multi-pen chart.

Look here for what it looks like: http://forum.arduino.cc/index.php?topic=213058.0

....still a lot to do...but it is really looking promising.

This is awesome!   Do you have a progress update???