Skip to content

DvidMakesThings/HW_BladeCore-M54E

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BladeCore‑M54E

BladeCore‑M54E is part of the BladeCore modular controller series.
Each BladeCore variant is implemented as a standalone hardware repository, sharing a common architectural philosophy while targeting different microcontrollers and interfaces.

This repository documents the BladeCore‑M54E hardware, which is based on the RP2354B microcontroller and integrates Ethernet connectivity.

BladeCore Series Overview

The BladeCore series consists of the following hardware variants:

Module Microcontroller Primary Interface Form Factor Status
BladeCore‑M40 RP2040 - Work in progress
BladeCore‑M40E RP2040 Ethernet - Work in progress
BladeCore‑M40C RP2040 CAN - Work in progress
BladeCore‑M54 RP2354B - Work in progress
BladeCore‑M54E RP2354B Ethernet 2980 Available
BladeCore‑M54C RP2354B CAN 2980 Available

Naming Scheme Explanation

The BladeCore naming scheme encodes the microcontroller family and primary communication interface directly in the module name:

  • M40 designates an RP2040‑based module
  • M54 designates an RP2354B‑based module
  • E suffix indicates integrated Ethernet support
  • C suffix indicates integrated CAN support

Variants without a suffix represent the base module for that microcontroller family, without Ethernet or CAN integrated.

Each BladeCore variant is implemented as a separate hardware design and repository.

Description

BladeCore‑M54E is a compact controller module built around the RP2354B microcontroller, combined with a W5500 Ethernet controller with integrated PHY.
The module is designed as a 2980‑size M.2 M‑Key card (29 mm wide, 80 mm long, non‑standard width), intended to be embedded into a carrier board or system that provides power through the M.2 edge connector.

The design integrates:

  • RP2354B microcontroller
  • External QSPI flash memory
  • External I²C EEPROM
  • 100BASE Ethernet via W5500
  • Dual‑path USB connectivity with automatic source selection
  • Onboard power regulation and defined power‑up sequencing

This repository contains the schematics and documentation.

Resources

Hardware Overview

BladeCore‑M54E top view
Top view
BladeCore‑M54E bottom view
Bottom view

Form Factor

  • M.2 2980
  • M‑Key
  • Power and I/O routed through the M.2 edge connector

Microcontroller

  • RP2354B
  • External 12 MHz crystal
  • Internal 1.1 V core supply generated by the MCU
  • SWD debug interface available
  • GPIOs routed to the M.2 edge connector

Memory

  • Integrated Flash
    • RP2354B
    • Capacity: 2 MB
  • External QSPI Flash
    • W25Q128JVPIQ
    • Capacity: 16 MB
  • External I²C EEPROM
    • AT24C256
    • Capacity: 256 kbit

Ethernet

  • W5500 Ethernet Controller with integrated PHY
  • Interface to MCU via SPI
  • Supports 100BASE‑TX
  • Dedicated reset and interrupt signals
  • Link and activity LEDs implemented

USB

BladeCore‑M54E supports two physical USB connection paths:

  1. USB routed through the M.2 edge connector (external host or carrier board USB), and
  2. Onboard USB‑C connector.

A FSUSB42 USB 2.0 high‑speed multiplexer is used to select which USB path is connected to the RP2354B.

USB path selection behavior:

  • By default, the USB data lines are routed to the M.2 edge connector.
  • When the onboard USB‑C connector is plugged in, the FSUSB42 automatically redirects the USB data path from the edge connector to the onboard USB‑C connector.
  • Removing the onboard USB connection restores the default routing to the M.2 edge connector.

This allows the module to be normally operated via a carrier board USB connection, while still enabling direct access through the onboard USB‑C connector when needed, without manual configuration.

Power

  • Input supply: 5 V (M.2 pins 14/16 or VBUS) or 3.3 V (M.2 pins 10/12, LDO bypassed)
  • TPS74801 low‑dropout regulator generating 3.3 V from 5 V input
  • Regulated 3.3 V output to carrier board on M.2 pins 10/12 (up to 1 A, limited by connector)
  • Power‑good signaling with visual feedback (LED via SN74LVC1G97 buffer)
  • USB VBUS sensing routed to ADC
  • Four power paths: M.2 5 V, M.2 VBUS, onboard USB‑C, or external 3.3 V

M.2 Connector Pinout

Left Side (Odd Pins)

Pin Name F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
1 GND
3 GPIO24 SPI0 TX UART1 RTS I2C1 SCL PWM3 B SIO PIO0 PIO1 PIO2 CLOCK GPOUT1
5 GPIO23 SPI0 TX UART1 RTS I2C1 SCL PWM3 B SIO PIO0 PIO1 PIO2 CLOCK GPOUT1
7 GPIO22 SPI0 SCK UART1 CTS I2C1 SDA PWM3 A SIO PIO0 PIO1 PIO2 CLOCK GPIN1
9 GPIO21 SPI0 CSn UART1 RX **I2C0 SCL PWM2 B SIO PIO0 PIO1 PIO2 CLOCK GPOUT0
11 GND
13 GPIO20 SPI0 RX UART1 TX **I2C0 SDA PWM2 A SIO PIO0 PIO1 PIO2 CLOCK GPIN0
15 GPIO19 SPI0 TX UART0 RTS I2C1 SCL PWM1 B SIO PIO0 PIO1 PIO2 QMI CS1n
17 GPIO18 SPI0 SCK UART0 CTS I2C1 SDA PWM1 A SIO PIO0 PIO1 PIO2
19 GPIO17 SPI0 CSn UART0 RX **I2C0 SCL PWM0 B SIO PIO0 PIO1 PIO2
21 GPIO16 SPI0 RX UART0 TX **I2C0 SDA PWM0 A SIO PIO0 PIO1 PIO2
23 GND
25 GPIO15 *SPI1 TX UART0 RTS I2C1 SCL PWM7 B SIO PIO0 PIO1 PIO2 CLOCK GPOUT1
27 GPIO14 *SPI1 SCK UART0 CTS I2C1 SDA PWM7 A SIO PIO0 PIO1 PIO2 CLOCK GPIN1
29 GPIO13 *SPI1 CSn UART0 RX **I2C0 SCL PWM6 B SIO PIO0 PIO1 PIO2 CLOCK GPOUT0
31 GPIO12 *SPI1 RX UART0 TX **I2C0 SDA PWM6 A SIO PIO0 PIO1 PIO2 CLOCK GPIN0
33 GPIO11 *SPI1 TX UART1 RTS I2C1 SCL PWM5 B SIO PIO0 PIO1 PIO2
35 GPIO10 *SPI1 SCK UART1 CTS I2C1 SDA PWM5 A SIO PIO0 PIO1 PIO2
37 GPIO9 *SPI1 CSn UART1 RX **I2C0 SCL PWM4 B SIO PIO0 PIO1 PIO2
39 GPIO8 *SPI1 RX UART1 TX **I2C0 SDA PWM4 A SIO PIO0 PIO1 PIO2 QMI CS1n
41 GND
43 GPIO7 SPI0 TX UART1 RTS I2C1 SCL PWM3 B SIO PIO0 PIO1 PIO2
45 GPIO6 SPI0 SCK UART1 CTS I2C1 SDA PWM3 A SIO PIO0 PIO1 PIO2
47 GPIO5 SPI0 CSn UART1 RX **I2C0 SCL PWM2 B SIO PIO0 PIO1 PIO2
49 GPIO4 SPI0 RX UART1 TX **I2C0 SDA PWM2 A SIO PIO0 PIO1 PIO2
51 GPIO3 SPI0 TX UART0 RTS I2C1 SCL PWM1 B SIO PIO0 PIO1 PIO2
53 GPIO2 SPI0 SCK UART0 CTS I2C1 SDA PWM1 A SIO PIO0 PIO1 PIO2
55 GPIO1 SPI0 CSn UART0 RX **I2C0 SCL PWM0 B SIO PIO0 PIO1 PIO2 TRACECLK
57 GPIO0 SPI0 RX UART0 TX **I2C0 SDA PWM0 A SIO PIO0 PIO1 PIO2 QMI CS1n
67 GND
69 USB_D+
71 USB_D-
73 GND
75 VBUS

Right Side (Even Pins)

Pin Name F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
2 GND
4 GPIO27 *SPI1 TX UART1 RTS I2C1 SCL PWM5 B SIO PIO0 PIO1 PIO2
6 GPIO26 *SPI1 SCK UART1 CTS I2C1 SDA PWM5 A SIO PIO0 PIO1 PIO2
8 GPIO25 *SPI1 CSn UART1 RX **I2C0 SCL PWM4 B SIO PIO0 PIO1 PIO2 CLOCK GPOUT3
10 +3.3V OUTPUT
12 +3.3V OUTPUT
14 +5V INPUT
16 +5V INPUT
18 LINKLED
20 ACTLED
22 GND
24 RCT
26 GND
28 ETH_RD+
30 ETH_RD-
32 GND
34 ETH_TD+
36 ETH_TD-
38 GND
40 TCT
42 GND
44 GND
46 ADC0/GPIO40 *SPI1 RX UART1 TX **I2C0 SDA PWM8 A SIO PIO0 PIO1 PIO2
48 ADC1/GPIO41 *SPI1 CSn UART1 RX **I2C0 SCL PWM8 B SIO PIO0 PIO1 PIO2
50 ADC2/GPIO42 *SPI1 SCK UART1 CTS I2C1 SDA PWM9 A SIO PIO0 PIO1 PIO2
52 ADC3/GPIO43 *SPI1 TX UART1 RTS I2C1 SCL PWM9 B SIO PIO0 PIO1 PIO2
54 ADC4/GPIO44 *SPI1 RX UART0 TX **I2C0 SDA PWM10 A SIO PIO0 PIO1 PIO2
56 ADC5/GPIO45 *SPI1 CSn UART0 RX **I2C0 SCL PWM10 B SIO PIO0 PIO1 PIO2
58 GND
68 GND
70 GND
72 VBUS
74 VBUS
SH1 SHIELD

*SPI1 is used for the onboard Ethernet controller (W5500)

**I2C0 is used for the onboard EEPROM (AT24C256) on GPIO32/33, which are internal to the module and not routed to the M.2 connector. Carrier board I2C0 on other GPIO pairs is physically independent.

Revision History

Revision Date Notes
1.0.0 2026‑01‑31 Initial creation

Notes

  • This documentation intentionally avoids assumptions about firmware features, supported protocols, or software behavior.
  • All statements are derived from the provided schematics and explicit design notes.
  • Component‑level limits and behavior should be verified against the respective datasheets.

License

Hardware Components

Hardware designs, schematics, and related documentation are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). See the Hardware License file for details.

What CC BY-NC-SA 4.0 means:

  • You can study, modify, and distribute the hardware designs

  • You can create derivative works for personal, educational, or non-commercial use

  • You can build this project for your own personal use

  • ⚠️ You must give appropriate credit and indicate if changes were made

  • ⚠️ You must share any modifications under the same license terms

  • ⚠️ You must include the original license and copyright notices

  • You cannot use the designs for commercial purposes without explicit permission

  • You cannot manufacture and sell products based on these designs without a commercial license

  • You cannot create closed-source derivatives for commercial purposes

  • You cannot use the designer's trademarks without permission

Commercial & Enterprise Use

Commercial use of this project is prohibited without obtaining a separate commercial license. If you are interested in:

  • Manufacturing and selling products based on these designs
  • Incorporating these designs into commercial products
  • Any other commercial applications

Please contact me through any of the channels listed in the Contact section to discuss commercial licensing arrangements. Commercial licenses are available with reasonable terms to support ongoing development.

Contact

For questions or feedback:

Contributing

Contributions are welcome! As this is an early-stage project, please reach out before making substantial changes:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/concept)
  3. Commit your changes (git commit -m 'Add concept')
  4. Push to the branch (git push origin feature/concept)
  5. Open a Pull Request with a detailed description

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors