[ell-i-developers] Potential Hackathon idea: TCP/IP support for Espruino

  • From: Pekka Nikander <pekka.nikander@xxxxxx>
  • To: ell-i-developers@xxxxxxxxxxxxx
  • Date: Fri, 23 May 2014 10:06:53 +0300

Hi all,

Asif and Qinglai have already presented two potential hackathon projects: the 
GDB hard fault handler and the elevator (motor control) demo.  Below I'd like 
to propose another project, which I unfortunately won't be able to fully 
participate myself.  And of course, further project ideas are very welcome; I'd 
encourage people to present them already before the hackathon here.

Project idea:  ENC28J60 TCP/IP support for Espruino

Espruino is a node.js like JavaScript environment for microcontrollers, running 
among other things on the STM32F407 MCUs, which we will have a few at the 
hackathon:

http://www.espruino.com
http://www.espruino.com/ReferenceSTM32F4DISCOVERY

ENC28J60 is an old, inexpensive Ethernet chip, used in the Ell-i Ellduino 
board.  We also have a separate ENC28J60 board, which can be easily plugged in 
to another board with jumper cables.

https://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en022889

The board we have is similar to one from SparkFun, but physically larger than 
this one:
https://www.sparkfun.com/products/765

I think it is this one, but I don't remember any more for sure:
http://www.elecfreaks.com/store/enc28j60-ethernet-module-p-121.html

Now, thanks to Jose have an WebSockets TCP/IP stack for the ENC28J60, and also 
the "official" Ell-i IP/UDP/CoAP stack.  There are also other TCP/IP stacks 
that work with ENC28J60, such as the uIP and lwIP stacks.
https://en.wikipedia.org/wiki/UIP_(micro_IP)
https://savannah.nongnu.org/projects/lwip/

Both of those stacks are clearly bigger than the Ell-i stacks, but they are 
also more stable.  And on the Cortex-M4 MCUs the space is not so much a concern 
than on the very low end Cortex-M0 ones anyway.

The idea of the project would be to take one (or two) of these stacks, make 
them work on the STM32F407 board with the separate ENC28J60 board, and glue 
them to the Espruino environment through a preferentially AJAX-style API.

Unfortunately I haven't had time to think about this much more.  But if anyone 
is interested, let's talk!

--Pekka

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Other related posts:

  • » [ell-i-developers] Potential Hackathon idea: TCP/IP support for Espruino - Pekka Nikander