Skip to content

Conversation

xorbit
Copy link
Contributor

@xorbit xorbit commented Aug 4, 2025

Summary

Add new board planned to be launched on Crowd Supply September 2025.
The ManT1S is an ESP32-based core module with IEEE 802.3cg 10BASE-T1S Single Pair Ethernet networking and power distribution over data lines.

Pre-launch page is not up yet unfortunately, or I'd add a link to it. Any day now hopefully, I can add a comment here later if needed. I plan to ship these with MicroPython pre-loaded. I'm trying to get a head start with getting this merged before the next release since I prefer to ship with official MicroPython releases.

Testing

Tested on prototypes of my new ManT1S boards, most recent tests on latest revision 4 hardware.
I've been testing LAN8670 integration on MicroPython from before this was officially supported, see my comments in #15731 and #16421.

xorbit added 2 commits August 4, 2025 17:13
New board planned to be launched on Crowd Supply September 2025.
ESP32-based core module with IEEE 802.3cg 10BASE-T1S Single Pair
Ethernet networking and power distribution over data lines.

Signed-off-by: Patrick Van Oosterwijck <patrick@silicognition.com>
Signed-off-by: Patrick Van Oosterwijck <patrick@silicognition.com>
@xorbit
Copy link
Contributor Author

xorbit commented Aug 4, 2025

Can you explain what the failing check is and how I fix it?

"BLE",
"External Flash",
"External RAM",
"WiFi",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the comma at the end of this line.

@@ -0,0 +1,10 @@
# Partition table for MicroPython with OTA support using 8MB flash
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need this custom partition table? Can you use the existing partitions-8MiBplus-ota.csv instead?

If you need a custom one, please remove the vfs entry. It's now automatically detected, along with the size of the flash (so the firmware will work with any board that has at least 8MiB flash).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at the standard partition table and it seems to be great for 16 MiB flash (seems to match what I had for the wESP32) but with 8 MiB it seems to leave very little room for the vfs.

The standard one reserves 2.43 MiB for each OTA partition leaving only 3 MiB for the vfs. In most cases this is probably fine, but this thing has a good chance of having a web server running on it with graphics that may fill it up fast. Also I have to consider that to make OTA work, I need to reserve enough space to store an OTA image on the vfs before flashing it. With 2.43MiB max image size, the user would have to store maximum 0.5 MiB on the vfs which is quite limiting.

With my custom partition table I have 2.0 MiB for each OTA partition, leaving just under 4 MiB for the vfs. If the user needs to reserve 2 MiB for a possible OTA image, their application can use up to 2 MiB which seems much more reasonable.

The ManT1S image currently builds to about 1.5 MiB, which leaves another 0.5 MiB for it to grow in the future. Do you have reason to believe this will soon be insufficient?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have reason to believe this will soon be insufficient?

No, 2MiB for firmware should be sufficient. That's what most other non-OTA partition tables use.

So, it's fine to use a custom one.

@dpgeorge dpgeorge added port-esp32 board-definition New or updated board definition files. Combine with a port- label. labels Aug 5, 2025
@dpgeorge
Copy link
Member

dpgeorge commented Aug 5, 2025

I'm trying to get a head start with getting this merged before the next release since I prefer to ship with official MicroPython releases.

The merge window for the imminent v1.26.0 release closed last Friday 1st August. So you'll need to wait until the next release, unfortunately.

In the meantime, you could use v1.26.0 (when it's out) and do an out-of-tree build of your board.

Remove errant comma in board.json.
Remove vfs line from partitions-8MiB-ota.csv.

Signed-off-by: Patrick Van Oosterwijck <patrick@silicognition.com>
@xorbit
Copy link
Contributor Author

xorbit commented Aug 5, 2025

Shoot, just a few days too late. What's your release cadence again? I don't expect to ship before the end of the year.

@dpgeorge
Copy link
Member

dpgeorge commented Aug 5, 2025

What's your release cadence again? I don't expect to ship before the end of the year.

About 3 months, so the next release will be before the end of this year.

@xorbit
Copy link
Contributor Author

xorbit commented Aug 5, 2025

Excellent, that should do fine!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
board-definition New or updated board definition files. Combine with a port- label. port-esp32
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants