Page 1 of 2

RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 7:40 am
by OutoftheBOTS_
Seem that RPi have built there own micro controller.

It is a dual core ARM M0 and they alreayd have a MicroPython port for it.

The second core is designed for fast bit bang of IO pins so you can all software IO peripherals without bogging down the primary core.

see https://www.hackster.io/news/hands-on-w ... ILdc2oele4

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 8:15 am
by kevinkk525
Sounds like a great device! Only downside for me: No WLAN..

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 9:31 am
by mattyt
The MicroPython port for the RP2040 is awaiting your review... ;)

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 10:23 am
by pythoncoder
The programmable I/O sounds particularly clever. I'll try to track down some docs...

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 10:50 am
by mattyt
Hacker News has a good discussion; it's where I first saw links to the (beautiful!) datasheet. Chapter 3 covers the PIO in-depth.

It's also worth looking at the PR; there are some useful PIO examples there (including controlling WS2812B's).

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 11:14 am
by jimmo
OutoftheBOTS_ wrote:
Thu Jan 21, 2021 7:40 am
The second core is designed for fast bit bang of IO pins so you can all software IO peripherals without bogging down the primary core.
If you're talking about the PIO controllers, my understanding is that they run independently of _both_ main cores. i.e. they are in a sense their own independent microcontrollers with DMA.

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 1:47 pm
by doublevee
This looks like a great device and at an incredible price point. £3.60 at Pimoroni! This should certainly help to spread the good news that is Micropython.

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 4:19 pm
by pythoncoder
jimmo wrote:
Thu Jan 21, 2021 11:14 am
...
If you're talking about the PIO controllers, my understanding is that they run independently of _both_ main cores. i.e. they are in a sense their own independent microcontrollers with DMA.
Indeed. The PIO comprises two blocks, each containing four independently programmable state machines. The state machines can be interlinked so that the instruction flow of one can be controlled by the state of another. Each state machine has two 4*32 bit FIFO's so that input and output data is buffered. State machine programming can be done from MicroPython using an embedded assembler. The clock speed of each is configurable, right up to 133MHz.

The documentation for all this - as per @mattyt's link - is first class, and there are plenty of Python examples for using the PIO to implement things ranging from flashing LED's to extra UARTs.

As far as I know the Raspberry Pi organisation is new to chip development. If this is the case I'm astounded that they have managed to design a chip of this complexity. The Chinese will have some trouble cloning this board...

Re: RPi makes ther own Mico controller

Posted: Thu Jan 21, 2021 8:10 pm
by dhylands
pythoncoder wrote:
Thu Jan 21, 2021 4:19 pm
As far as I know the Raspberry Pi organisation is new to chip development. If this is the case I'm astounded that they have managed to design a chip of this complexity. The Chinese will have some trouble cloning this board...
I would say that definitely isn't true. I used to work for Broadcom back when the Raspberry Pi was first introduced. The guys that started up the Pi were former Broadcom employees and some of them designed the CPU chips (perhaps not the ARM core, but the dual-core graphics co-processor, etc) that are used in the Raspberry Pi. The complexity of the new chip is nothing compared to the graphics co-processor chip embedded in the regular Raspberry Pi's.

Re: RPi makes ther own Mico controller

Posted: Sun Jan 24, 2021 5:09 am
by rpr
mattyt wrote:
Thu Jan 21, 2021 10:50 am
... it's where I first saw links to the (beautiful!) datasheet. Chapter 3 covers the PIO in-depth.
The person who wrote the I2C section 3.6.7 in the PIO chapter says the following:
I2C is an ubiquitous serial bus first described in the Dead Sea Scrolls, and later used by Philips Semiconductor.
:D