Page 1 of 2

Olimex STM32-E407

Posted: Mon Nov 02, 2015 3:02 am
by blmorris
I was wondering if anyone was running or thinking about running MicroPython on the Olimex STM32-E407 dev board. I have a potential consulting project coming up; the customer is currently planning to use this board as their embedded controller, and I may assist with system integration and firmware development. Even if MicroPython isn't used for the final deliverable, I suggested that it could be very useful for initial testing and prototyping.

I expect that getting MicroPython to run on this board will be pretty straightforward, the processor is the 144-pin STM32F407, a higher pin-count version of the processor on the STM32F4-DISCOVERY board which already runs uPy. The high pin count allows for both of the processor's USB interfaces to be brought out; one of them supports DFU, so that again is simple enough.

One distinguishing factor of this board is that it supports 100BaseT Ethernet via a LAN8710A Ethernet PHY chip on the processor's RMII parallel ethernet interface. Has anyone worked with this chip, or even with RMII, before? It could be interesting to support, but I don't yet know how involved it would be and I thought I'd ask before digging in too deeply. It may be a moot point anyway - I don't know yet if they are planning to use wired ethernet for the project - but I want to be on the ball if it comes up.

Thanks!
Bryan

Re: Olimex STM32-E407

Posted: Mon Nov 02, 2015 5:03 am
by dhylands
You should be able to take the files in the boards/STM32F4DISC directory and create a new directory called STM32E407 and then tweak the files.

The pins.csv maps the board pins to the CPU pins.

The stm32f4xx_hal_conf.h configures the portions of the HAL which should be enabled.

The mpconfigboard.mk and mpconfigboard.h files configure what pieces of micropython are enabled.

You can remove the staccel.py file, since the E407 board probably doesn't have the accelerometer on it.

I'm not aware of anybody adding support for the ethernet controller.

Re: Olimex STM32-E407

Posted: Thu Nov 17, 2016 5:44 am
by marfis
@blmorris did you manage to connect the ethernet PHY via MII? I'm thinking about a similar HW setup..

Thanks,
Martin

Re: Olimex STM32-E407

Posted: Thu Nov 17, 2016 3:20 pm
by blmorris
Hi Martin- No, while I did manage a simple port to the Olimex board I didn't attempt to tackle the ethernet subsystem.

I did get the consulting project, but the focus of my work involved much more hardware design and integration rather than software development. I built a carrier board for the Olimex to interface with their system, and used MicroPython to test and debug the hardware, but the serious software development work (including ethernet support) was taken over by my client's software team; they took my uPy demonstration code as a model for their own work based on Chibios.

Incidentally (and way off topic...) this project was the direct reason for my near total absence from the uPy forums and discussion for the last year. The success of the first project convinced them to keep me busy with a few more hardware design projects, and meanwhile I still had my day job to deal with. And now, based on the success of their initial hardware demonstration systems, they were able to raise enough funding for a major expansion and to hire me as their first full-time electrical engineer :D

So... even though I've been virtually inactive in uPy development for a little while, I still want to thank everyone here in the uPy community, as my experience here was a big factor in a major career advancement. And as I transition to the new job over the next month, I am planning to get caught up on progress and get involved here again.

Cheers, Bryan

Re: Olimex STM32-E407

Posted: Thu Nov 17, 2016 4:26 pm
by SpotlightKid
Congratulations for your career boost, Bryan!

What is your general opinion of the Olimex board and the company? Would you recommend it/them?

Re: Olimex STM32-E407

Posted: Thu Nov 17, 2016 4:49 pm
by blmorris
Thanks!
As for Olimex, AFAICT they are a fine outfit, with inexpensive and well-documented products and committed to open-source development. My experience with them is limited, but I have no reason not to recommend them.

Re: Olimex STM32-E407

Posted: Thu Nov 17, 2016 5:40 pm
by kfricke
blmorris wrote:Thanks!
As for Olimex, AFAICT they are a fine outfit, with inexpensive and well-documented products and committed to open-source development. My experience with them is limited, but I have no reason not to recommend them.
*signed*

Re: Olimex STM32-E407

Posted: Fri Nov 18, 2016 12:21 pm
by marfis
@blmorris congratulations from my side too.

Regarding MII/ethernet:
So I guess we'll need to wait until pycom implements their ethernet stack on the esp32. Not sure really if the esp32 has actually an MII interface.

I also heard on the esp32 forum that espressif is going to release an ethernet reference board.

Re: Olimex STM32-E407

Posted: Fri Dec 02, 2016 12:20 pm
by BrendanSimon
No complaints with Olimex at all. I have a number of their boards and they are committed to open source software and hardware. They have even moved from using Eagle to KiCad :)

OK. So what do we have to do to get Ethernet up and running of the E407 ?

And a side question, can I run any USB WiFi dongles as an alternative ?

Re: Olimex STM32-E407

Posted: Fri Dec 02, 2016 7:21 pm
by blmorris
BrendanSimon wrote:OK. So what do we have to do to get Ethernet up and running of the E407 ?
To be honest, I can't help much with that yet except to suggest digging into the ST's Cube libraries for the STM32F4 and look for anything having to do with ethernet/MII/RMII support. The relevant components aren't currently in the uPy source tree as Damien made an effort some time ago to clear out those libraries that we weren't using. I'm sure that the devs would be happy to add it back in if anyone provided a PR with working Ethernet RMII support.

As for me, I can't be much help in the immediate future, and I haven't been doing any firmware / uPy development in the last year as my job(s) have kept me busy with board design work. However... I have heard that the CTO at my new job wants me to get back up and running on the firmware side as well as board design... and the first board I make is going to have the same processor and ethernet chip as the Olimex... so, there is at least a chance that I'll be working on this problem in a month or so anyway. The work development won't be directly on uPy, but if I am working on the ethernet code anyway then I might have a chance to squeeze that support into uPy.

So don't hold your breath or anything ;) but I might get to work on it fairly soon.

Cheers, Bryan