DIYBMS v4

As @atanisoft mentioned, the screen detection relies on reading the touch sensor chip over the spi bus.

There is a debug message when the controller powers up to indicate if this was successful or not.

There should probably be a new feature to force TFT usage even if not detected,

Thank you very much.
I do not control much of the subject, but it is time to learn.
As far as I see the screen is correct. I don’t know what the touch IC is, but from the photos of the bangood I don’t see anything missing. I attach photos of my screen.
The message I get when opening a session with Putty is the following:

CONTROLLER - ver:4738cb2d9b1e73596022ae7c18804b59e644aa37 compiled 2022-05-13T08                                                                                                                                                                             :58:50.073Z
ESP32 Chip model = 1, Rev 1, Cores=2, Features=50
I (41) diybms-hal: Configure I2C
I (44) diybms-hal: Scanning i2c bus
I (49) diybms-hal: Found i2c device at address 0x21
I (59) diybms-hal: Found TCA6416A
D (60) diybms: Configure VSPI
I (61) diybms: ** Controller changed state from Unknown to PowerUp **
I (63) diybms-hal: CAN driver installed.  Filter=1621098496 Mask=6291455
I (69) diybms-hal: CAN driver started
I (85) diybms: LittleFS mounted, total=589824, used=98304
I (185) diybms: Mounting SD card
[   691][W][sd_diskio.cpp:104] sdWait(): Wait Failed
[   691][W][sd_diskio.cpp:512] ff_sd_initialize(): sdWait fail ignored, card ini                                                                                                                                                                             tialize continues
[   693][W][sd_diskio.cpp:516] ff_sd_initialize(): GO_IDLE_STATE failed
[   699][E][sd_diskio.cpp:802] sdcard_mount(): f_mount failed: (3) The physical                                                                                                                                                                              drive cannot work
[  1208][W][sd_diskio.cpp:104] sdWait(): Wait Failed
[  1208][E][sd_diskio.cpp:126] sdSelectCard(): Select Failed
E (1204) diybms: Card mount failed

[  6216][D][settings.cpp:23] ReadConfig(): [diybms-set] ReadConfig diybmswifi
[  6219][D][settings.cpp:45] ReadConfig(): [diybms-set] checksum verified
I (6217) diybms: Fetch config
[  6223][D][settings.cpp:23] ReadConfig(): [diybms-set] ReadConfig diybms
[  6235][D][settings.cpp:45] ReadConfig(): [diybms-set] checksum verified
D (6234) diybms: Setup RS485
D (6236) diybms: Configure RS485
I (6240) diybms: ** Controller changed state from PowerUp to Stabilizing **
D (6245) diybms: starting wifi_init_sta
I (6266) diybms: WIFI SSID: Red_Ppal
D (6302) diybms: tca6416a_isr
I (6364) diybms: Hostname: DIYBMS-00D204B8
D (6365) diybms: wifi_init_sta finished
*I (6365) diybms: TFT screen is NOT installed*
D (6365) diybms: total_free_byte=182520 total_allocated_byte=113220 largest_free_blk=110580 min_free_byte=182172 alloc_blk=316 free_blk=5 total_blk=321
I (16360) diybms: Got ip:192.168.1.87
I (16362) diybms: Request time from time.google.com
I (16362) diybms: Timezone=UTC0DST0
I (16364) diybms: The current date/time is: Thu Jan  1 00:00:07 1970
I (16389) diybms: You can access DIYBMS interface at http://DIYBMS-00D204B8.local or http://192.168.1.87

D (75203) diybms: total_free_byte=165120 total_allocated_byte=129576 largest_fre                                                                                                                                                                             e_blk=110580 min_free_byte=160820 alloc_blk=403 free_blk=10 total_blk=413
I (75249) diybms-rules: Set error 4
I (75250) diybms: Active errors=1
E (75294) diybms: Packet Failed
E (76194) diybms: Packet Failed
I (78250) diybms-rules: Set error 4
I (78250) diybms: Active errors=1
I (80073) diybms: Task 2
I (81251) diybms-rules: Set error 4
I (81251) diybms: Active errors=1
E (81294) diybms: Packet Failed
E (82194) diybms: Packet Failed
I (84252) diybms-rules: Set error 4
I (84253) diybms: Active errors=1
I (86573) diybms: Task 3, s=0 e=0
E (86787) diybms: Packet Failed
I (87253) diybms-rules: Set error 4
I (87253) diybms: Active errors=1
E (87687) diybms: Packet Failed
E (88587) diybms: Packet Failed
E (89490) diybms: Packet Failed

I’ll check the welds.
Thanks for any information.


What version of the controller PCB are you using?

The las one, i hope.
And Compiled_Firmware_2022-05-13-09-01.

I added a few lines above about the log in putty. It says that TFT screem IS NOT INSTALED.


In which case - take a look at this issue!

[Controller V4.4 - broken connection on VSPI_MOSI via · Issue #116 · stuartpittaway/diyBMSv4 · GitHub]

Working!.

I´m sorry don´t see that issue by myself.

Thank a lot. And thanks for your amazing work.

1 Like

For reference, on the TFT LCD back side U2 is the touch IC. If that is not present the diyBMS code will NOT detect the presence of the display (though it may initialize and use it during startup it will shut off soon thereafter).

Glad that you have sorted the issue out with the MOSI pin!

When I run DRC on the 8266controller and the V4.21 cell modules on KiCad, it shows multiple courtyard overlap errors. I also sent the designs to FreeDFM and it shows some Missing Soldermask Clearance violations. I don’t have much experience in PCB development. Are these errors important or can I order the PCBs using these files?
I made some changes just on the silkscreen by adding some text. Both the original gerbers by Stuart and the new gerbers show these results.

Please DON’T cross-post. You asked a very similar question only a day ago When I run DRC on the 8266controller and the V4.21 cell modules on KiCad, it shows multiple courtyard overlap errors
I have locked that topic so that replies do not get spread around.

Thanks. Moderator (RW)

The 8266 controller is an older design and has not been updated for a few years now. I recommend not using that if you are planning to build a new setup.

As regards to the clearance violations, I’m not sure, KiCAD was used to generate the designs, and it passes the internal checks in that tool. The circuits have been built using the Gerbers supplied without issue.

Can I ask why you need to add new text to the silkscreen?

4 posts were split to a new topic: V high locked to v min

Hi,
so i have a few major errors that i can’t solve.

First of all I have 3 CellModules V4.21 and have soldered them. Now i want to programm them and the first problem is that only the enviroment “attiny841_V400” is visible. But with the commant argument i can work around that…

but always at the accutual upload following error is showing:
image
and i don’t know where to put the “-F” flag to override the check but why does this happen in the first place?

the green LED on the pcb blinks once.