Who is here? 1 guest(s)
 Print Thread
I am a novice with arduino-ide but managed to compile and upload a blink sketch to my esp8266 using Debian 11 and

Placed contents of TC4-shield-master/applications/Artisan/aArtisanESP/tags/REL_aArtisanESP_1_0/aArtisanESP.zip into my
sketchbook folder and get these errors trying to compile aArtisanESP.ino:

/home/tam/Arduino/aArtisanESP/cmndreader.cpp: In member function 'virtual boolean unitsCmnd::doCommand(CmndParser*)':
/home/tam/Arduino/aArtisanESP/cmndreader.cpp:495:1: error: control reaches end of non-void function [-Werror=return-type]
495 | }
| ^
/home/tam/Arduino/aArtisanESP/cmndreader.cpp: In member function 'virtual boolean pidCmnd::doCommand(CmndParser*)':
/home/tam/Arduino/aArtisanESP/cmndreader.cpp:651:1: error: control reaches end of non-void function [-Werror=return-type]
651 | }
| ^
cc1plus: some warnings being treated as errors

exit status 1

Compilation error: control reaches end of non-void function [-Werror=return-type]

Can anyone help with this?
Just checked, and I hate when I have to say this, but... it worked for me

Did you copied the content of libraries folder from archive to libraries folder of Arduino ?
As I sketched in attached screen
renatoa attached the following image:
Thanks for responding, I have copied the archive library folder contents to my sketchbook folder:

ls Arduino/libraries/
adcButton cmndproc Newliquidcrystal_1.3.5 PWM16-ESP
cADC espEEPROM PID_v1 thermocouple

ls Arduino/aArtisanESP/
aArtisanESP.ino cmndreader.h espProfiles.ino phase_ctrl.h
aArtisanQ_PID.ino ESP8266 libESP.h SGfilters.ino
cmndreader.cpp espData.h phase_ctrl.cpp user.h

Also inside arduino-ide gui under Sketch>include_libraries> I see them as available.
Fixed by downgrading my esp8266 arduino core to version 3.0.
Ah... this explains a lot... project is 5 years old, code written for 2.x core.
Added this requirement to the first post. Also github Instructions file updated.

I'm trying to use TC4ESP project but I'm facing some problems.

I purchased the hardware recommended and was able to deploy the software on the controller. The controller I purchased was the ESP8266 CH340 V3 I found at Aliexpress. I'm using the board version as per recomendation at the GitHub. I can see the blue board LED continously on when I power the board.

I did the required jumper at the AD amp board and I can read good tension signal at the output pin.

The configuration at the Artisan was done as per greencardigan video. When I turn the Artisan on, there is no error on the connection with the TC4ESP, but no temperatures are displayed.

I got the LCD also from Aliexpress, but it was delivered without the I2C board. I was trying to move forward without the LCD as my main objetive now is to log the temperatures at Artisan, but when I remove the LCD related lines from the User.h file, the program cannot compile. Is there a way to use the project without the LCD installed? As the LCD uses the same serial connection of the ADC Board, I was guessing if this would not be the cause of this temperature reading issue.

Otherwise I will purchase a new one now with the correct board welded on it.
Ok, checked and fixed, two files affected, they are in the attached archive.
Will update later the github files.

Please also don't forget to comment all three LCD choices in user.h, as below:

// LCD Options
// Choose ONE of the following LCD options if using an LCD
//#define LCDAPTER // if the I2C LCDapter board is to be used
//#define LCD_I2C // if using a $5 delivered Chinese LCD with I2C module
//#define LCD_PARALLEL // if using a parallel LCD screen

Also, be aware that no LCD implies no interface at all, thus all the buttons logic will be disabled as well
renatoa attached the following file:
aartisanesp.zip [7.73kB / 8 Downloads]
Thank you renatoa for the quick feedback. Now I can compile the program. But I was still not able to have any temperature reading at Artisan.

The led of the ESP board is on all the time. Could you confirm if this is the expected behavior?
The SSR is not blinking at all. From my User.h setting I understand it would be 400ms on and 600 ms off every second (OT1 min is set to 40).
40% min value is valid only when roast started, i.e. first OT1 command sent.
When powering board it is zero, no heat at all.
The value is specific to every roaster, you can change it according to your needs, if 40% is too high.

Which LED is ON? There are two, the LED related to OT1 is near USB plug , GPIO16 in attached image.

To diagnose temperatures, please let's have a look at serial stream.
Press On button, then Help menu, Serial, check the box to start logging, let flow some lines, un-check, and copy past here the text.
Preferable a text copy, not an image, i.e. screen shot.
renatoa attached the following image:
My board has only one led. From your picture, it would be the ESP-12 GPIO2. This LED is on since the moment I power the board.

The serial stream from Artisan is below:

version = 2.10.4

9 06:35:44.915 ArduinoTC4: COM3,115200,8,N,1,0.8 || Tx = READ || Rx = ['-1'] || Ts= -1.00, -1.00, -1.00, -1.00, 0.00, 0.00

8 06:35:44.915 ArduinoTC4: Tx = READ || Rx =

7 06:35:43.996 ArduinoTC4: COM3,115200,8,N,1,0.8 || Tx = CHAN;1200 || Rx =

6 06:35:42.908 ArduinoTC4: COM3,115200,8,N,1,0.8 || Tx = READ || Rx = ['-1'] || Ts= -1.00, -1.00, -1.00, -1.00, 0.00, 0.00

5 06:35:42.908 ArduinoTC4: Tx = READ || Rx =

4 06:35:41.991 ArduinoTC4: COM3,115200,8,N,1,0.8 || Tx = CHAN;1200 || Rx =

3 06:35:40.899 ArduinoTC4: COM3,115200,8,N,1,0.8 || Tx = READ || Rx = ['-1'] || Ts= -1.00, -1.00, -1.00, -1.00, 0.00, 0.00

2 06:35:40.899 ArduinoTC4: Tx = READ || Rx =

1 06:35:39.982 ArduinoTC4: COM3,115200,8,N,1,0.8 || Tx = CHAN;1200 || Rx =

This was a line when I moved the Heater Slider:

47 06:38:14.949 Serial Command: COM3,115200,8,N,1,0.8 || Tx = 'OT1;60\n' || Rx = No answer needed
Luislobo attached the following image:
GPIO0, GPIO2 and GPIO15 Pins are involved in board startup, thus not recommended to use them without some precautions.

From the log above my feeling is that you have no response from the board.
Is COM3 the same port as used in Arduino for sketch loading ?

Please perform the following test: in Arduino, type Ctrl+Shift+M, to start the serial monitor.
In upper textbox type READ followed by Enter
Any response ?
Hi Renatoa,

The COM3 is the correct port. I was able to upload the application succesfully to the board using this port.

I did a test with some sample softwares to test the board GPIOs as I started to suspect about that. But it seems to be working well.

Regarding the test you sugested on the Arduino IDE, the serial monitor was not returning any message after the READ command input.

I did a reset at the Board while connected, and I got the message below at the serial monitor.

sld��<�$�< �l� c|����;�b� c��ng�do'��� cp��$;l;dp�'� � d ��  b o�|d��#��go�l��$`�gol '{���n c �$sۛg#�d�#cc����$`��'�aArtisanESP 1_0
Jul 23 2024-20:05:01
Baud rate of the board is probably 115200 (is for my esp32 vrooms) while artisan is running a different rate.
There is no reason for Artisan to run at different rate than board rate, it is not even capable to change board rate.

The reason of the "chinese" talk posted above is... at boot ESP8266 starts with a quite unusual baud rate, 74880 is what the bootloader uses...
If using another terminal console, different than Arduino own serial monitor, and that console app is capable to listen on that baud rate, i.e. 74880, the unreadable string posted by luislobo above will be clear, showing boot diag messages.

After bootloader finishes its job, the apps on top of the Espressif SDK (e.g. Arduino sketches) talk at 115200 if not specified otherwise.
Ok, back to debugging luislobo... I think I found the issue.
The original user.h file, as is posted in github, contains a configuration for @greencardigan Android roasting app... probably last used at commit date...

The ANDROID declare statement in the section below is the dirty detail telling us this...

// Roasting software
// Comment out all if using TC4 stand alone
#define ARTISAN
#define ANDROID

So please comment the last line in the section above, and you should be good.
The effect of that declare is a slightly different packet structure than genuine Artisan, and... the most important... sending messages to BT instead USB ! That's why the silence from the board...
Hi Renatoa,

I did the change as per your instructions, the situation is the same.

I did a clean firmware installation at the NODEMCU board and I was able to test the USB communication with the board using the software ESPlorer. The board is working.
Once I do the upload of the software, the same comunication test with the ESPlores fails.
I'm compiling the Sketch with board version 2.4.2 as per your recommendation.

I do agree with you that there is any bug troubling the communication of the board with the Artisan.

The strange is that I was reading the previous post and some people was able to connect with Artisan in the past. Can it be a problem with my Nodemcu hardware version?
Jump to Forum: