Mermaid code
block-beta
columns 3
Sensors["Sensors"] ADC["ADC"] MCU["Microcontroller"]
Radio["Radio module"] Power["Power supply"] Flash["Flash storage"]
Sensors --> ADC
ADC --> MCU
MCU --> Radio
MCU --> Flash
Power --> MCU Paste this into any tool that renders Mermaid, or into the editor to change the theme and export PNG or SVG. Syntax reference: Block guide.
What this diagram shows
The diagram declares columns 3 and then lists six blocks that fill two rows in order: Sensors, ADC, and Microcontroller on top, Radio module, Power supply, and Flash storage below. The arrows trace the signal path from the analog sensors through the ADC into the MCU, and from the MCU out to the radio and flash. The Power to MCU arrow is the only one that crosses rows, which keeps the power domain visually separate from the data path.
Use block diagrams when position carries meaning and you want it fixed. A flowchart would reflow the same nodes based on edge count and hide the physical layout you are trying to show.
How to adapt it
- Change
columns 3to match the widest row of your board layout; blocks fill rows left to right in the order written. - Give a wide component more room with a span, for example
MCU["Microcontroller"]:2, so it occupies two columns. - Add a block for a debug or programming header and connect it to the MCU with a dotted arrow to mark it as development-only.
- Rename the blocks to the actual part families you use (
BME280,nRF52) once the bill of materials is fixed.
FAQ
How do I leave an empty cell in the grid?
Use the space keyword in place of a block. It occupies one cell so the following blocks shift right, which is how you align components across rows.
Can a block span several columns?
Yes. Append :N to the block, such as Bus["System bus"]:3, and it stretches across N columns of the current row.