tinygo-org / tinygo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
https://tinygo.org
Other
14.77k stars 865 forks source link

Supporting Waveshare-RP2040-ETH #4091

Open danjenkins opened 5 months ago

danjenkins commented 5 months ago

What would be involved with supporting waveshare-rp2040-eth? Tinygo already supports the waveshare-rp2040-zero.

https://www.waveshare.com/rp2040-eth.htm

Is it basically a waveshare-rp2040-zero with a ethernet port and therefore requires ethernet drivers?

soypat commented 5 months ago

Hey Dan! I'm gonna leave a comment here detailing the status on that development:

Tha board has an on-board CH9120 which handles the low level networking: https://www.wch-ic.com/products/CH9120.html

Scott Feldman was implementing the driver for that device but last I heard he gave up on it because the device was not very high quality and the documentation was very lacking.

Scott commented on tinygo's slack on its status suggesting using a Pico + W5500 combo instead: https://gophers.slack.com/archives/CDJD3SUP6/p1705698978447249

We do have a fully featured ENC28J60 driver and I'd be interested in seeing a LAN8720 driver developed for TinyGo, both which seem to be of higher quality than the CH9120.