Development using the Nuvoton MS51?

On the product page for your IO Expander Breakout board it says: “if you’re brave and hackerly, you can substitute your own firmware to change the way this board works and have a super cheap and capable microcontroller (though this is not for the faint of heart!)”.

Well, I’ve swapped out an Itsy Bitsy for an IO Expander and am quite happy with it. But my curiosity was piqued just thinking about that statement, and my very-long-ago experience with 8 bit microprocessors (8080, 8085, Z80) came back when I read the Reference Manual linked to the page. To my understanding, the MS51 is just a surface mount version of the 1980s-era Intel 8051 series microcontrollers. Cool!

If that’s the case, I’d be curious to know more about Pimoroni’s MS51 development environment, toolset, how you go about developing, testing, debugging, and downloading your code to the board, and how if one were to take up your challenge we might benefit for you folks having pioneered this territory with what, now three boards?

That would be a huge headstart in trying to write an entire robot controller using the IO Expander. If you have any tips or documentation it’d be lovely to see what this entails, how feasible it might be, etc.

Who knows? Maybe you’d start a whole cottage industry of crazy people building small robots based on this board…

Absent any reply on this topic I thought to investigate this a bit further by going to the Nuvoton website, where there are a large number of Nuvoton “development tool” boards using Cortex M0, M4, M23 and 8051-compatible processors in both “tiny” and “maker” (Arduino-UNO) style form factors. On the Tiny-style boards they typically provide break-off USB adaptor (“Nu-Link”) for programming. There are also links to software progamming and debugging applications as well.

You can start from the Nuvoton home page. Check out the complete list of Development Boards, as well their Software Development Tool page. There seems to be quite good documentation for both hardware and software available as PDFs from the site.

Since it looks like the primary way to connect to these boards is via USB, I’m not sure how one would use their development environment with a Pimoroni IO Expander (help, Pimoroni?), but a bare board and their develpment environment might be a start. It looks to be a world of its own to explore…