You might be familiar with the WaveShare ETH E001 which provides triple UART connections via Ethernet.
Well, SPINet could do the same. My intention however was to connect SPI devices to the internet (up to 2 slaves) at up to 50 MHz clock rate and provide UART and I²C as a bonus.
SPINet features a 32-bit Cortex-M4 microcontroller running at 100 MHz, providing 512kB FLASH, 64kB RAM and uses the WizNet W5500 embedded ethernet controller for easy development and reliable performance.
The device currently runs a webserver that serves gzip compressed static content. As the development continues, dynamic content (incremental sensor data transfer based on json queries) will be implemented. Data analysis and device control will be available on the user side in the browser.
SPINet has 0.1" headers at a size of 17x23 mm (excluding the JTAG tab) and the final version will also come with a shielding can, all tiny bits included.
SPINet has had some traces moved around and now incorporates two new I/O mapping flavors:
- simple Quadrature Decoder: PHA+PHB only (utilizes the primary UART pins, however the ACT and LNK LEDs can be disconnected and a secondary UART option is routed to these pins). That's what was possible on a 2-layer PCB in the given area.
- full Quadrature Decoder with rotation signal: PHA+PHB+IDX: (utilizes UART pins, LNK LED pin), maintains ACT pins
all options do not touch I2C and SPI I/Os.
Spot the differences ;-)
ps. via-in-pad is usually not a good idea. However we gave the PCBs a shot and found the small via ID in conjunction with stop mask on the bottom layer (which tents/plugs the vias halfway through) keeps solder wicking under control. Back-to-back caps also seem to work without a concerning amount of tombstoning. Not good practice in general but ok-ish if proven to work under real conditions.