Different HeaterMeter hardware ideas


 

DavidNP

TVWBB Member
"winter is coming"....tis the season for a DIY project, and I've been looking at doing a controller for my smoker for a long while. After doing my research I'd have to say that heaterMeter is a great project...source code looks good. But I wanted to 'change' things up....in the interest of trying/learning new things....

my idea is using the following hardware with the HeterMeter code...this stuff is easy(cheap) to find on ebay/ali....almost no soldering and wifi support....I think/hope it should work?

>atmega 2560 R3 board (arduino clone) ~$7 (processor and board)
>Ramps v1.4 3d printer shield ~$5 (this just slides into the atmega board and gives 3 thermistor connections(1 pit 2 food), servo control, multiple fans all with no soldering....
>16x2 lcd board with 6 buttons w/sd card slot ~$4 (this is the lcd1602, hopefully that's the one compatible with HM code.) this will be a wire/wire connection....no soldering.
>ESP 8266 wifi esp-01 ~$3 (this will allow wi-fi, and does local AP/webconfig....connect to thingspeak, mqtt as well)....this connects to the uart pins so no soldering as well (will have to use a small 3.3 logic converter).

around ~$20 total (for almost no solder solution with wi-fi)....plus some mono-plugs/some sort of case/some small items....

the hardest part of the build will be just connecting 2.5mm mono plugs to thermistor jumpers on the ramps board...the other issue is that ramps board is only using 4.7k resistors for the thermistors (instead of 10/20k)....will that be a problem?

I don't want to use a raspberry pi (I guess I'll lose some features)....I'm a software guy not a hardware guy so any advice would be good. I've done work with arduino/esp8266/thingspeak/mqtt...

Do you think the HM software code can be 'somewhat' easily adapted to the hardware above? The thermistors are just on different ADC pins, and I'm sure the fan/servo control is just a matter of pin assignments(i hope)....I already have most of the hardware from other projects (ramps board is en route)...

bye for now..
David
 
what are you going to plug that wifi adapter into if you don't have a rPi? The entire network and web interface is run by the software on the rPi...
 
the esp8266(wi-fi adapter) is an awesome piece of tech. it plugs into the uart(pins) on the atmega board. Ita a mini wifi card/webserver (with a much faster processor/ram than the atmega actually). I know that'd I'd have to probably make a few webpage forms that will update the settings for HM. and then I'd be using something like thingspeak to view current temps/graphs/set temps remotely through the web.
 
Changing the pin assignments should be simple enough.

As long as the ESP 8266 can read and write to the UART, you should be fine.

I picked these up for thermistor probes on my "winterized heatermeter" project
 
I think you're in for a lot of software headaches, and end up investing far far far more time working through them than you would just soldering. You'll need to recompile HeaterMeter for that target, which is non-trivial because it uses registers you'd need to convert to their counterparts and the operation might not be compatible and something like that would be really hard to debug.

I would suggest saving yourself some money and just get an Arduino Nano + ESP. HeaterMeter runs on the Nano with no modifications. Servo is just connecting to the pin + power. Blower output is just any logic level MOSFET (although you will need to use pulse mode). You can connect all the pieces with like 20 wires (about 3 more than you would in your design).

The LCD is where you're really screwed because HeaterMeter does its own thing because SPI/I2C LCDs fall into two categories: expensive and ****tly-looking. The china-cheap displays I generally do not like their quality and you never know what you're going to get. The expensive alternative would have been to use the I2C chip in HeaterMeter but they were only available in surface mount and "backpacks" cost a lot more than the shift register solution.
 
I don't think the native heatermeter OpenWRT will fit on an esp8266, but quick googling 'esp8266 openWRT' says it's possible to get openWRT. 1MB of flash isn't going to allow much.
You'll need a 5V/3.3V logic converter in there as well for the esp-Arduino connection

I'm waiting to see what is going to happen with the $9 CHIP that Bryan has in hand, but that might be v6 hardware level. I can be patient.
 
The OpenWRT piece ( LinkMeter ) isn't required for the ATMEGA/Arduino ( HeaterMeter ) to run, but you do lose a lot of the enhanced functionality. You can replicate some of that by using a service like ThingSpeak that can log the data and create a listener on a channel that will allow you to remotely change things like the set point.

My HM is sending data to ThingSpeak every 30 seconds. You can see it here.
 
I think you're in for a lot of software headaches, and end up investing far far far more time working through them than you would just soldering. You'll need to recompile HeaterMeter for that target, which is non-trivial because it uses registers you'd need to convert to their counterparts and the operation might not be compatible and something like that would be really hard to debug.

I would suggest saving yourself some money and just get an Arduino Nano + ESP. HeaterMeter runs on the Nano with no modifications. Servo is just connecting to the pin + power. Blower output is just any logic level MOSFET (although you will need to use pulse mode). You can connect all the pieces with like 20 wires (about 3 more than you would in your design).

The LCD is where you're really screwed because HeaterMeter does its own thing because SPI/I2C LCDs fall into two categories: expensive and ****tly-looking. The china-cheap displays I generally do not like their quality and you never know what you're going to get. The expensive alternative would have been to use the I2C chip in HeaterMeter but they were only available in surface mount and "backpacks" cost a lot more than the shift register solution.

Thanks for the info Bryan....I'm jumping into the source code already, I've actually tried an arduino UNO(clone) with the $3 lcd/buttons shield and with a little 'hacking' of the HM code I was able to get LCD fully functioning with the buttons as well!

I've had good success(luck?) with china made arduino-type hardware....so I'll stick with the idea some more. Next step is going to work on the ESP wifi-webpages to send the configuration msg's to HM....and to receive status from HM to thingspeak. Using the talkback api of thingspeak I can already receive a settemp msg via the web to the ESP....
 
Progress!!! no linkmeter or raspberry pi needed!!

Just an update....I've pretty much got all software parts working, hardware on breadboard and working as well (probes, lcd(cheap), and buttons...).

I have an ESP-12e board with an Arduino Nano(clone) working together....(along with the lcd working).

I wrote the ESP8266 part that will do the following:

start and access local wifi (if it cannot connect, then it will start a local AP and serve webconfig pages to phone/tablet wirelessly). It does captive DNS so you don't need to know the ip once you connect to the esp-wifi device....just type any url and it will hit the config page(neat!)

configuration via webpages for all of HeatMeter parameters(probes,lcd,fan,pid..etc), as well as configuration of your thingspeak account(free) and of course wifi settings to connect to your internet router.

every 15 seconds it will update thingspeak servers so you can view/react to HeatMeater data.

It will also check every 5 seconds for remote temperature set....this allows you to input a setpoint on the thingspeak site and have the temperature set on your HM.

with this setup you don't have to configure any port-forwarding or anything like that to get your HM on the internet to see graphs and set temperature from anywhere.

Once I have all of it together I'll make some how-to videos and docs (maybe an instructables).

btw: this will be opensource and free....
 
That's pretty awesome. Were there any changes needed to run HeaterMeter on the Nano? It is really just a form factor change but the chip is theoretically different so I didn't know if there was anything that didn't compile right or Just Work out of the box.

Is the ESP part build in the Arduino IDE or did you use the LUA host? I've only worked with them on the LUA side.
 
That's pretty awesome. Were there any changes needed to run HeaterMeter on the Nano? It is really just a form factor change but the chip is theoretically different so I didn't know if there was anything that didn't compile right or Just Work out of the box.

Is the ESP part build in the Arduino IDE or did you use the LUA host? I've only worked with them on the LUA side.

ESP part was done with Arduino IDE....

Getting it to work on the Nano was the easy part....it just worked. The only thing I had to change in HM code was to get the standard lc1605 lcd/button shield to work. This is the shield I got working: Don't know how you want to handle the code changes to support 3rd party hardware, or if I should just fork the entire project for my own purposes. I'd like to have an object to easily handle different input/output for user, I've got a small touchscreen I'd like to try and adapt to the project as well. I'm in the process of building three full 'pit' controllers and I'm going to make them a bit different between them....

the ESP code should work with standard HM builds as no changes are needed on the HM code side (ESP connects through uart/serial). I actually don't have a HM so I'm kinda just 'wingy-it' for now....
 
I was just thinking about doing this with just an Arduino. DavidNP if you can ping me with the help it would be greatly appreciated. Was just ordering parts for it on Ali.

Cheers
Haz
Milton, ON Canada
 
status update....I tried my first cook with my HM custom built UNO (arduino clone). I ended up making my own UNO custom shield that had the esp12(nodemcu board) and the connections for thermistors and fan control on it.... and it went really well. Pit temp and fan worked fine and the internet connection updated fine and I was able to set temp remotely. I'd say it was a success for a first run! I'm still figuring out how to get the best out of thingspeak (better visuals and whatnot)...

If anyone already has a working esp8266 or nodemcu board working and wants to try it out (you'll need to be able to flash the esp via arduino), just shoot me an message....
 
He's made some nice progress but there's a lot of functionality that OpenWrt running on the RasPi provides. It's not like a RasPi costs very much. Ive got it working with the Pi Zero.
 
He's made some nice progress but there's a lot of functionality that OpenWrt running on the RasPi provides. It's not like a RasPi costs very much. Ive got it working with the Pi Zero.

I agree, but David's goal is not to replace the functionality of the HM as a whole, and not to get costs down, but to introduce a new interface for the software that Bryan has developed. (sorry to speak for you, David, but am I "sorta" right?)
 
It's not like a RasPi costs very much.

Doesn't cost very much? Have you priced the cost of what David is doing? I know it doesn't have all the bells and whistles, and the graphs and such, but ultimately, the Atmega does all the work. We just need a way to monitor and adjust. I think David is on the right path.

z6FIIZr.jpg
 
No, a RasPi doesn't cost much. It's the same price as a bag of charcoal, only you don't burn it!

When compared in percentage to the price of the NodeMCU, yes, it's more expensive, but we're talking a delta of about $15 to $20 here.

I'm all for what David is doing and even plan to get it up and running for myself. I'm just saying that this isn't a project for 3rd world nations where every dollar saved is a major win.
 

 

Back
Top