FT81X shield for ESP32 DevKitC

User avatar
Vader_Mester
Posts: 300
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

FT81X shield for ESP32 DevKitC

Postby Vader_Mester » Wed Sep 05, 2018 1:26 pm

REV. List:
V1.0 - Initial version
V1.1 - Updated connector names, added jumper to CON3, added pull-downs to CON2 Pin 35,39, Corrected descriptions here'n'there.
V1.2 - Included audio circuit as mentioned in Datasheet of FT81X.
So, what a good way to start after switching to KiCAD?
Design a board long due on my list - FT81X shield for an ESP32 DevKitC.

This will support both FT812 and FT813. Differenc is that FT812 supports resistive touch, the FT813 supports capacitive touch.

Attached below you can see the schematic. Layout is next, with lots of footprints to make. :ugeek:

Couple of words about the board:
- Board will feature solder holdes for 2 rows of socets to accept DevKitC plugged directly to the board. (J3)
- right next to these sockets, (underneath the DevBoard) would be 2 rows of 100mil standard holes connected to the sockets. These wilfunction as solder holes so you can solder jumper wires.
- In the middle of all this, still underneat the ESP32 board, there will solder hole stip, routing all the important signals. You can use these to jumper each signal from the shield to the DevKitC by soldering. This would allow full configurations on the signal routing.
pins and jumpers sketch.jpg
pins and jumpers sketch.jpg (28.21 KiB) Viewed 15776 times
For TFT connection, there will be 2 FPC connectors. CON1 is a standard 40pin 0.5mm pitch RGB screen connector, and a 6pin FPC connector for the Capacitive touch screen.
The other is a 50pin connector, to connect displays with SPI interface, like ILI9341, or ILI9488. SPI lines needed for these screens are shared with the FT81x's SPI Bus.

Looking forward to any input on this schematic.
FT812_813_ESP32_DevKitC_shield_Ver1.2.jpg
FT812_813_ESP32_DevKitC_shield_Ver1.2.jpg (654.36 KiB) Viewed 15560 times
Last edited by Vader_Mester on Fri Sep 14, 2018 11:17 am, edited 3 times in total.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

Deouss
Posts: 425
Joined: Tue Mar 20, 2018 11:36 am

Re: FT81X shield for ESP32 DevKitC

Postby Deouss » Wed Sep 05, 2018 10:24 pm

Wow! Excellent!

User avatar
loboris
Posts: 514
Joined: Wed Dec 21, 2016 7:40 pm

Re: FT81X shield for ESP32 DevKitC

Postby loboris » Thu Sep 06, 2018 8:14 am

Adding an audio amplifier connected to FT812/FT813 audio output could be useful (possible with a speaker onboard).
BTW, why not use ESP32-WROOM/ESP32-WROVER module instead of ESP32 DevKitC socket and make a complete standalone graphics board?

User avatar
Vader_Mester
Posts: 300
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: FT81X shield for ESP32 DevKitC

Postby Vader_Mester » Thu Sep 06, 2018 10:07 am

The reason is quite simple: I wanna make this thing as simle as possible, with minimalistic BOM, easy assembly.
I don't want to spend more work with this yet until the software is figured out, for which this board is totally enough.

Audio was not a key design goal, as (as far as I know) it is pretty poor quality on this chip.
If someone needs audio they probably have something external.
On this note however I will add a connector for audio, thanks for the headsup on this!

Adding a WROOM or WROVER means adding USB, Reset circuit, etc, basically design a DevBoard onto this board.

This board just has the FT chip, a dozen caps and resistors. The most difficult parts being the LED driver circuit, and the Inboard power protection circuit(This protection circuit is optional, I stole the design form the RPi ;) ).
The BOM is pretty simple, and easy to buy parts.
It's a shield, hence it's made for being highly configurable.

I'll make this so that most parts could be soldered in with just soldering irons. (I will design the board in a way that the exposed pad under the FT chip will be exposed to the other side through vias, so you can flow the solder in with an iron.)

I planned on sending a soldered up board to you anyway, since you are a TFT expert amongst us, and most TFTs you can buy from Buydisplay will fit the 50pin connector :P (I guess you have these screens lying around)

Later when I figure out how the software and hardware can play together I might make a second board, with things more fixed to pins rather then jumpers.
Right now the goal with this thing is to not make something compact and ready, but to give a design to people that they can easily put together to experiment with.

Anyways, you can just solder the DevKitC directly in, which would make it pretty compact, and most people have these Devkits lying around in a bunch, and they don't cost more than a standalone module.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

User avatar
loboris
Posts: 514
Joined: Wed Dec 21, 2016 7:40 pm

Re: FT81X shield for ESP32 DevKitC

Postby loboris » Thu Sep 06, 2018 1:17 pm

Yes, I understand your reasoning. The remark about using the module was made because I've had an idea to make a kind of wifi display board (ESP32+FT81x) myself.
FT81x audio is not great, but acceptable, better than the audio produced with ESP32 DAC.

I have recently implemented full support for FT8xx in my MicroPython port. The documentation will be ready next week, when your board is finished you can test it with MicroPython, it is probably easier than write an application.
I've done the development using this display, but there should be no problem with your board using FT812/FT813.
The results are very good, I'll probably never use a simple SPI TFT display again (if the higher price is not an issue).

User avatar
loboris
Posts: 514
Joined: Wed Dec 21, 2016 7:40 pm

Re: FT81X shield for ESP32 DevKitC

Postby loboris » Thu Sep 06, 2018 1:42 pm

Which display you've had in mind for the 50-pin connector? On Buydisplay I couldn't find any matching your 50-pin connector pinuot.

User avatar
Vader_Mester
Posts: 300
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: FT81X shield for ESP32 DevKitC

Postby Vader_Mester » Thu Sep 06, 2018 1:48 pm

loboris wrote:Which display you've had in mind for the 50-pin connector? On Buydisplay I couldn't find any matching your 50-pin connector pinuot.
I have one of this, and also in it's devboard version.
https://www.buydisplay.com/default/seri ... en-ili9488
https://www.buydisplay.com/default/seri ... uch-screen

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

bobolink
Posts: 98
Joined: Mon Feb 26, 2018 4:17 pm

Re: FT81X shield for ESP32 DevKitC

Postby bobolink » Fri Sep 07, 2018 12:17 pm

To inhibit the voltage I layout jumper pins directly in front of the devC board usb connector with a tall jumper :D . The jumper physically prevents inserting a usb cable but connects internal power when installed. Remove for development. If that is what that rpi circuit is for.
https://www.digikey.com/products/en?key ... os%20sn%20

User avatar
Vader_Mester
Posts: 300
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: FT81X shield for ESP32 DevKitC

Postby Vader_Mester » Fri Sep 07, 2018 1:31 pm

bobolink wrote:To inhibit the voltage I layout jumper pins directly in front of the devC board usb connector with a tall jumper :D . The jumper physically prevents inserting a usb cable but connects internal power when installed. Remove for development. If that is what that rpi circuit is for.
https://www.digikey.com/products/en?key ... os%20sn%20
Less is sometimes more :D But I just wanna have it there and let the user decide to use it or not.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

User avatar
Vader_Mester
Posts: 300
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: FT81X shield for ESP32 DevKitC

Postby Vader_Mester » Fri Sep 14, 2018 11:13 am

After suggesting, I included an audio circuit into the Schematic. First post updated.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

Who is online

Users browsing this forum: No registered users and 19 guests