WiFi enabled Open ArdBir

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
791
Reaction score
282
I hesitated to share this because it hasn’t been well tested and might not be mature enough. In fact, I just having the third real brew trial right now.

It is in fact not exact an Open ArdBir. I started from studying the source code of Open ArdBir and realized I was not able to modify the code easily. Therefore, I started from scratch but mimic Open ArdBir. It was a year ago. I first went Bluetooth route, but it was a failure. Then, learning the lessons, I switched (or kept going) to WiFi. Tired of APP submitting, I chose Web based architecture, which enables remote control on web browsers from computers, phones, and tablets.

The hardware setup is exactly an Open ArdBir or compatible and an additional ESP8266 board which enables the WiFi functionality.

Here is a video I took on my development platform to show how it works.
[ame]https://www.youtube.com/watch?v=sjinup5MWLQ[/ame]

More information is available at
http://vito.tw/bmesp8266/

I would like to hear the response form you.
 
I saw you mention this development some time back. The guy who did the first real BM clone eventually built and wrote the first 'Brautroller' we called matho's controller, after much harassment from me and others on Aussiehomebrewer.com, dev was continued by the ardbir folks. Great to see further work taking place here.
So qestions,
What versions of the board is the software compatible with? There were 3 or 4 differing pinouts so are these selectable as they are with arbir software?
 
I saw you mention this development some time back. The guy who did the first real BM clone eventually built and wrote the first 'Brautroller' we called matho's controller, after much harassment from me and others on Aussiehomebrewer.com, dev was continued by the ardbir folks. Great to see further work taking place here.
So qestions,
What versions of the board is the software compatible with? There were 3 or 4 differing pinouts so are these selectable as they are with arbir software?

I don't get it.
The Arduino code uses less than 30K flash, and the hardware serial is used to connect to ESP8266. As long as you can connect PIN D0/D1 to ESP8266 ( through level converter), you can use it.
The PINs for buttons, heating, pump, and the temperature sensor can be changed easily if you know which they are.
 
Sorry where I said board, read shield, if your rewritten version of ardbir is not compatible with my shield then flash memory, serial coms etc are of little consequence, until I dive under the hood and rewrite pinouts, as mentioned above these shields have 3 or 4 varriations that I'm aware of, infact the one I am using currently was one of the first 10 ever printed.
At the moment I'm away from my home system for a few weeks so won't get the oportunity to down load and test anything. When I get back I'll definitely get into this. I'll let you know if it works .
 
Okay after a quick look here, and I'm no coder. here is your original braudino board outputs from the latest ardbir code.

// sensor and lcd
OneWire ds(11);
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

// push buttons
const char Button_up = A3;
const char Button_dn = A2;
const char Button_start = A1;
const char Button_enter = A0;

// outputs
const byte Pump = 8;
const byte Buzz = 10;
const byte Heat = 9;

And in this sweet Brewmaniac code, it looks fairly easy to change by just changing these pins to match

/**** PIN setup ******/
// PIN setup
const byte SensorPin=7;
#define PumpControlPin 6
#define BuzzControlPin 8
#define HeatControlPin 9

and.....

#if BOARD == Pcb_ArdBir_DanielXan
#define ButtonUpPin A2
#define ButtonDownPin A3
#define ButtonStartPin A0
#define ButtonEnterPin A1
#endif

And finally

#if I2C_LCD == true
LiquidCrystal_I2C lcd(LCD_I2C_ADDR, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#else
LiquidCrystal lcd(A4, A5, 2, 3, 4, 5);
#endif

Im not 100% sure how the lcd output part works, if you can just change those pins or what. But the rest of it is easy to make work with your board.
 
I think anyway.. I have the parts coming in from China for this, i do have the danielxan board so i assume this is pretty plug and play. I am excited to try it
 
I think anyway.. I have the parts coming in from China for this, i do have the danielxan board so i assume this is pretty plug and play. I am excited to try it

I am sorry to tell you that this project is no longer developed.
I've changed to another project, which is in fact the merge of Arduino and ESP8266:
https://www.homebrewtalk.com/showthread.php?t=596907

I have two reasons for this, if you care:
1. Maintaining the connection between ESP8266 and Arduino is lousy, software-wise and hardware-wise.
2. I already used all memory of Arduino Uno. There is no space for any new features. I wouldn't have implemented these features if I sticked with Arduino: PID AutoTune, temperature charting, and etc.
 
Doh. So it doesn't run well in its current configuration? Drops wifi?
 
Doh. So it doesn't run well in its current configuration? Drops wifi?

First of all, ESP8266 is 3.3V while Arduino is 5V. Level shift circuit is necessary.
And, it's about my hardware setup. My Arduino build doesn't have space for additional for a NodeMcu, level shifter, and 5V power. The WiFi parts are placed outside the box, connected by a non-secured lines.

TL;DR
During development, I had to use the hardware serial as debugging output, so SoftwareSerial is used. Because software Serial is not reliable and my hardware setup was not solid, the connection between ESP8266 and Arduino broke from time to time. A communication protocol had to be used for data integrity and retransmission. I managed to find a ESP8266 that has level shift circuit built-in to support 5V signal, but it turned out that level shifting by resistors doesn't work well. Here is a link I found that has detailed analysis about level shifting by resistors:
http://jamesreubenknowles.com/level-shifting-stragety-experments-1741


One of the very few users reported that his system worked very well after switching to transistor-based level shift circuit. However he decided to migrate to the new setup for the new features. Mine also worked fine if I didn't touch anything sound the controller.
 
Hello pocketmon. I have read your other thread and I am probably going to build it, but for people who already have Arduino shields already wired up in they're brew boxes I found the Arduino Uno wifi, which already has wifi built in to the board. Would this work with your software?
 
ArdBir, was multi compatible, so dependant on which board design you used, you could be using serial LCD(which wouldn't work).

I'm working on a sheild for this, it will have standoff holes for the LCD for mounting, so if you already have the I2C LCD, you'd just need the Wemos mini, the shield(populated obviously) and 5v supply.

Give me a month, works been killing me, and waiting parts etc(some I already have on order)
 
Back
Top