Hi,

-The external wifi antenna is the best option. I also agree that wired ethernet is essential and preferred in an industrial application. So thats fine.

-SD cards are very unreliable and to achieve their goal (be usable on desktop computers), they have to use FAT filesystems, which are EXTREMELY NOT reliable in case of surprise power loss, which is an unavoidable design constraint in an embedded system, so I disagree with you on the choice of a SD card, because this does not match the level of reliability you seem to intend with the rest of this board (which is really well done).

ISSI now has some large fast and available flash chips with 4KB erase blocks.

Which are VERY RELIABLE and very well managed by LittleFS regarding to wear leveling, with atomic/or replayable filesystem operations. I insist a lot, mass storage reliability in embedded devices is CRITICAL and very OVERLOOKED. I am a smart card engineer, and we constantly have to deal with half-erased data bits, undefined and unstable bits that can change every time you read them, duration and energy required for correct page erases, etc. So even if a "normal" embedded system does not need to deal with this, at least a reliable flash storage is a must, IMHO. With a large cap on the power rail to finish the current write, and ideally a powerok GPIO to disable further flash writes in case of power failure.

I could understand that reliable storage is not in your scope, but the rest of the board seems to be reliable, so thats a surprise. A broken out SPI+power and a few /CS lines from the ESP32 could be a solution on a crowded board,  so that spi flash storage can be added as an optional daugter board.

Yes, this board would be cool to test. Times having changed, we could even use that kind of esp32+rp2040 system in future products.

Sebastien

Le 26/10/2022 à 11:39, michael.sch...@mdc-service.de a écrit :
Hello Sebastian,

thanks for your interest! About the Wifi antenna: The used ESP32-WROVER-I has the wifi signal connected to the uFL connector by default, the PCB antenna would request to solder a 0 Ohm resistor, to use it. Because of the space limitations, we drop the idea to use the PCB antenna. In our use cases, the EsPiFF is build into a metal enclosure, what makes the useage of an PCB antenna impossible. As the EsPiFF is optimized for high availability applications, the wired Ethernet also prefered over Wifi. Because the PCB antenna is not used, the placement close to the IO header is no problem.

It would be great, if there where smaller ESP32 modules, with 16 MB of flash and 8 MB of PSRAM available. But unfortunatly, the smaller ESP32 modules does not have 8 MB PSRAM, and we see this as a killer feature of the ESP32.

About data logging: There is the SDcard socket, and this is the prefered way for data logging. Otherwise, the 16MB flash on the ESP32 could be used as well, but frequent writing on the flash limit its live time. Nuttx have special flash files systems, to minimize this problem, but with the SDcard available, I would prefer this. Finally, all pins from the 40 pol header go to he RP2040, so a RasPi HAT can add any functionality.

About FRAM: the initial idea was, to mount the FRAM into the malloc() address range, as a fast non-volatile memory. After a power cut, a program could continue where it was stopping before. The FRAM is byte adressable, and with 20MHz not so slow. Footprint and protocol compatible FRAMs are offered in various sizes, up to 256 kBytes. If needed, we could offer a version with more FRAM, what would then cost a little more. By also having the SDcard, what size for the FRAM would you choose?

We will make a board revsion with JTAG headers. I will update you as soon as we have it.

regards,
Michael

Am 2022-10-26 10:44, schrieb Sebastien Lorquet:
Hi,

A devboard with no jtag makes no sense for me! When you have a hw
revision with both the esp32 and the rp2040 debug ports broken out on
HE10-1.27mm headers (or pads if space is tight), I'm interested to get
one :)

The internal wifi antenna close to the IO header metal pins is also
not RF-optimal. Your version 2 was better on this aspect.

Also another suggestion, a large user flash available on esp32 or
rp2040 spi gpios would be very useful for data logging and storage.
Using the esp32 code flash for this is not the best design. The 2KB
fram is good for parameter storage but is quite limited, no useful FS
can be mounted on it.

Best regards,

Sébastien

Le 26/10/2022 à 08:57, michael.sch...@mdc-service.de a écrit :
Dear Nuttx developers,

we have developed the EsPiff (ESP32+RP2040 on the Raspberry Pi Form Factor), a open source board to replace RasPi's and there clones, where the high processing power and/or Linux is not needed, but stability and the reuse of RasPi HATs are required.

The github home is https://github.com/MDCservice/EsPiFF

We will also offer the EsPiFF on CrowdSupply https://www.crowdsupply.com/mdc-service-wittenburg-gmbh/espiff

We would like to send a few boards for free to Nuttx developers, to improve Nuttx compatibility. Would there be interest?

A high level summary about the EsPiFF:
An ESP32-WROVER-I module with 16 MB Flash, 8 MB PSRAM is taking care
- wired Ethernet via a IP101 PHY,
- Wifi (need an external Wifi Antenna with uFL connector),
- 3 serial UARTs,
- one the 3 serial UARTs is used for programming via a CH340 USB-UART chip, what can be enabled/disabled with jumpers, - I2C port expander PCA 9557 for some chip select signals and 3 user LEDs,
- SDcard in SPI mode,
- external real time clock, with supervisior,
- 2kB FRAM,
- USB Type-C connector for up to 5V/3A, connected to the CH340 USB-UART to program the ESP32

An RP2040 (Pi Pico) what takes care the 40 pin RasPi header,
- connected to the ESP32 via SPI,
- UAB-A connector, also used to program the RP2040 (need to hold the boot button while power the board).

In earlier versions, we had the LAN8720 PHY, but as others (Olimex, wESP) we also got problems and replaced it with the IP101 since v3.1.

Currently, there is no HW debugging broken out on the board. But we could add a JTAG header on the bottom side, with TDO, TDI, TCK, TMS, GND, 3V3 in the next board production run. The ESP32 has the JTAG pins on GPIO12, 13, 14, 15, what are used for SPI on the EsPiFF, so code using the SPI could not be debugged while JTAG is using the pins. Would it still make sense to build in the JTAG header?

Would be glad to get your feedback,
Michael

Reply via email to