ESP8266 Wifi Scale

Guys, I am trying to build a wifi weighing scale, which will transmit data to an android app and a web client.

Currently, I use a HX711 to read data from the load cell to arduino.Transmit the weight from arduino to LCD. Also, Now I need to transfer the data to the ESP8266, to initiate a transmission to the app and the web client. I am using ESP-12

I tried I2C initially with arduino master and esp8266 slave. But seems, ESP8266 doesnt support slave mode as now. In my case, its the arduino which will talk more and Hence, I need it to initiate data transmission to esp.

So, my questions are: 1) What is the best way to transfer the data from arduino whenever necessary to the esp? Will both being masters help?

2)Or is it possible for me to completely eliminate arduino, use ESP8266 alone to control the lcd, read data from HX711, also transmitt data to the android and web client?

All suggestions all welcome! Thanks in advance :)

cyberteen: 2)Or is it possible for me to completely eliminate arduino, use ESP8266 alone to control the lcd, read data from HX711, also transmitt data to the android and web client?

There's lots of info from Google about using the ESP8266 with a LCD. Reading the HX711 ought to be no problem - just look at the code in the datasheet (that's the basis of the code in my post #9 here); that is, you don't need a "library" to read it. And of course the ESP8266 is a wifi device...

Okay, I understand that I can connect LCD, the HX711 to the esp itself. But, is it feasible to run all of them in esp itself? Like will the esp able to multi task efficiently? It has to get readings via adc from hx711. Display the value in lcd. Also ,transmit it via wifi; do everything without lags?

I understand that, I need to code the esp properly, for it to happen efficiently, but , is it practiacally possible in the first place?

The ESP8266 is 32bit and runs at 80MHz. Then it also has more memory and supports SPI flash, so yeah it'll do anything an 8-bit AVR can do. Granted, the IO on the ESP8266 is 3.3V, only has one analog pin, and it's not as robust as an AVR (10ma peak current IIRC).

If you want to go the simple route you can use the ESP8266 as a Wifi to serial bridge. You connect to it with a TCP socket ("telnet") to a port you designate and just start passing data back and forth. One example is https://github.com/jeelabs/esp-link but there are a few different ways to implement such a bridge.

I guess it all depends on your speed requirements. But since you apparently were going to be happy with an Arduino (you didn't say which one) doing the job (running at 16 MHz?, no multi-tasking, and communicating with the ESP8266), odds are quite good that an ESP8266 running at 80 MHz (with or without multi-tasking...multi-tasking...really needed?) ought to be able to keep you happy.

PS: oh yeah, and what Chagrin said!

Thanks for the tip @Chagrin. I guess, I am underestimating the esp8266's capabilities. @Dave, Thanks for the link, it was helpful in order to learn to use the hx711 without library directly on esp8266.