MDB(Multi-Drop Bus) is widely used in vending machines and related products. However, due to its parsing difficulty of irregular 9-bit serial communication protocol, extra handling is required to communicate with MDB devices properly. In this design, I integrated an MDB driver circuit on a common Raspberry Pi CM4/CM5 carrier board architecture. As MDB has 24V power rails, I adopted a switching power supply circuit for 8V ~ 28V wide input voltage range.
Key Features
- Raspberry Pi Compute Module 5 or Compute Module 4
- 2 x HDMI
- 1 x 1Gb Ethernet
- 8 x USB 2.0 Host on USB Type-C ports
- 2-ch audio output using PCM5102A DAC
- 4 x GPIO with interrupt via I2C IO expander MCP23017
- 1 x MDB port with optical isolator
- 1 x RTC on I2C bus for CM4 with 1 x coin cell battery
- 1 x coin cell battery for CM5’s internal RTC
- 1 x fan connector with a fan controller IC on I2C bus for CM4
- 1 x fan connector CM5’s internal fan PWM controller
- 5V 5A power supply with 8V ~ 28V wide range input voltage and reverse protection
PCB Design
- Designed in EasyEDA Pro
- PCBA prototyping by JLCPCB