Olimex STM32-E407

Discussion and questions about boards that can run MicroPython but don't have a dedicated forum.
Target audience: Everyone interested in running MicroPython on other hardware.
blmorris
Posts: 348
Joined: Fri May 02, 2014 3:43 pm
Location: Massachusetts, USA

Olimex STM32-E407

Post by blmorris » Mon Nov 02, 2015 3:02 am

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

User avatar
dhylands
Posts: 3821
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada
Contact:

Re: Olimex STM32-E407

Post by dhylands » Mon Nov 02, 2015 5:03 am

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.

User avatar
marfis
Posts: 215
Joined: Fri Oct 31, 2014 10:29 am
Location: Zurich / Switzerland

Re: Olimex STM32-E407

Post by marfis » Thu Nov 17, 2016 5:44 am

@blmorris did you manage to connect the ethernet PHY via MII? I'm thinking about a similar HW setup..

Thanks,
Martin

blmorris
Posts: 348
Joined: Fri May 02, 2014 3:43 pm
Location: Massachusetts, USA

Re: Olimex STM32-E407

Post by blmorris » Thu Nov 17, 2016 3:20 pm

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

SpotlightKid
Posts: 463
Joined: Wed Apr 08, 2015 5:19 am

Re: Olimex STM32-E407

Post by SpotlightKid » Thu Nov 17, 2016 4:26 pm

Congratulations for your career boost, Bryan!

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

blmorris
Posts: 348
Joined: Fri May 02, 2014 3:43 pm
Location: Massachusetts, USA

Re: Olimex STM32-E407

Post by blmorris » Thu Nov 17, 2016 4:49 pm

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.

User avatar
kfricke
Posts: 342
Joined: Mon May 05, 2014 9:13 am
Location: Germany

Re: Olimex STM32-E407

Post by kfricke » Thu Nov 17, 2016 5:40 pm

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*

User avatar
marfis
Posts: 215
Joined: Fri Oct 31, 2014 10:29 am
Location: Zurich / Switzerland

Re: Olimex STM32-E407

Post by marfis » Fri Nov 18, 2016 12:21 pm

@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.

BrendanSimon
Posts: 33
Joined: Wed Sep 07, 2016 10:46 am

Re: Olimex STM32-E407

Post by BrendanSimon » Fri Dec 02, 2016 12:20 pm

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 ?

blmorris
Posts: 348
Joined: Fri May 02, 2014 3:43 pm
Location: Massachusetts, USA

Re: Olimex STM32-E407

Post by blmorris » Fri Dec 02, 2016 7:21 pm

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

Post Reply