As many of us, we developed projects with the Raspberry Pi, and installed them to our customers. It was great to have such a thing as the Raspberry Pi's, but these also have problems:

We needed a robust system, wired Ethernet, be immune against a broken SDcard, and the possibility to add functionality to the system depend on the project. We did not need the high processing power of the Quad core GHz processor in the Pi, just enough processing power to read and write to a PostgreSQL database, read HF, UHF and/or QR-code, and switch some relays. Stability and robustness was more important then processing power. So we designed and build our replacement for the before used Raspberry Pi's: the EsPiFF.

The current version of our prototype contain 2 I2C IOexpander to serve the 40 pin Raspberry Pi header. This is ok for our current projects, but we wanted a new revision with a much faster solution, so we came up with the RP2040 as "Pi Header CoProcessor". It will also bring an USB host, what further expand the possibilities of these board.

We also have the SD-card socket placed wrong in the prototype. All other functionality is working so far: We have wired Ethernet and Wifi, can read and write from the SD-card, can use 3 UART at the same time (we often need a HF and UHF RFID reader, connected by UART, and a Nextion HMI). The 15 pol connector next to the USB is to connect a Chafon UHF RFID reader. The 2 switches next to the Chafon connector are to switch the UART0 from the ESP32 to ether the USB-to-UART or to the UART connector. labled HF on the prototype.

We used a USB-C as the debug connector, and it can consume up to 5V/3A from the PSU or Laptop. That is a big improve over the 5V/100mA, what you usually get from Micro-USB connectors. It is still USB2, but over the USB-C connector. This enables us to consume up to 15W, important when you have power hungy HATs.  

We are working now on the Rev. B of the EsPiFF. Schematics are nearly finished, will start the layout soon. We will made the following changes:

- replace the 2 I2C IOexpander with a RP2040,

- place a USB-A connector next the RJ45 connector (the RP2040 can be a USB host!)

- fix the SD-card placement,

- change the value of a resistor on the LAN8720,

- remove the blue terminal connector on the bottom right. Its purpose was to have an optional power-in connector, but we see no real need for it. And we need the space.

- change the ESP32-WROVER-B to ESP32-WROVER-I to have an additional IPEX connector for an external Wifi antenna.

Finally, we plan to run a campaign on Crowd Supply. Stay tuned for updates.

Update: the final version, what will be offered at Crowd supply, is the version 3.1. We did the following changes:

- Replace the Ethernet PHY LAN8720 with a IP101. The LAN8720 showed stability problems in combination with the ESP32-WROVER module, and several other ESP32 projects with wired Ethernet (like Olimex, wESP), had done the same: replace the LAN8720.

- Added the PoE header, to enable the option to power the EsPiFF by the PoE-HAT.

- Added a 6 pin connector for our upcoming TFT modules.

- the 2 DF11-8pin connectors with the UART signals are on the place where the RasPi 4 place the micro-HDMI connectors. Existing enclosures for the RasPi 4 allow connecting DF11 cables when mounted inside the enclosure.