
5x7 Dot Matrix CGROM — Minecraft Bedrock
This redstone device is a CGROM (Character Generator ROM) for a 5x7 dot-matrix display.
Normally, building the redstone hardware for a dot matrix character display is fairly quick and easy. The time-consuming part is programming the ROM with the correct pixel pattern for every character. I spent around 3–4 hours placing the redstone torches on the correct bit lines to program all of the characters. Hopefully I can save someone's time if they download a pre-programmed CGROM for their display. Here it is. Feel free to remove the NOT/inverter gates on all the input connections to the CGROM if your decoder circuitry/character selection circuitry uses active low logic, just make sure only 1 input is low at a time.
How to use it
- Download the .mcstructure file.
- Load it into your Minecraft Bedrock world using a structure block.
- Connect the 35 CGROM output pins to the corresponding pixels on your 5x7 display.
- Connect a redstone signal to one of the 93 input pins to select a character.
- When an input is active, the corresponding character is generated on the 5x7 display.
You could also build a decoder around the input pins so that the CGROM can receive a binary character code, ASCII code, or another encoding, rather than having to directly activate the individual character input pins. I may build one in the future and update this one as a improvement.
⚠️ Bedrock mechanics only
The internal redstone mechanics used in this CGROM — particularly the vertical glass redstone wiring — rely on Minecraft Bedrock redstone mechanics.
This device will not work correctly in Java Edition.
Input pinout — character selection
There are 93 input connections, for 93 characters.
The following diagram shows which character is generated when the corresponding input connection is active, either HIGH by default or with the NOT gates on all the inputs removed to make it active low.
Looking at the side with the 93 input connections:
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│ ' │ > │ < │ ^ │ " │ " │ ; │ : │ / │ \ │ ] │ [ │ } │ { │ = │ + │ - │ _ │ ) │ ( │ * │ & │ ~ │ % │ $ │ # │ @ │ , │ ? │ ! │ . │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ 9 │ 8 │ 7 │ 6 │ 5 │ Z │ Y │ X │ W │ V │ U │ T │ S │ R │ Q │ P │ O │ N │ M │ L │ K │ J │ I │ H │ G │ F │ E │ D │ C │ B │ A │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
│ 4 │ 3 │ 2 │ 1 │ 0 │ z │ y │ x │ w │ v │ u │ t │ s │ r │ q │ p │ o │ n │ m │ l │ k │ j │ i │ h │ g │ f │ e │ d │ c │ b │ a │
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
The character shown in each position is the character produced when that corresponding input connection is active.
Output pinout — 5×7 display
There are 35 output connections, one for each pixel of the 5×7 display.
Looking at the side with the 35 output connections on the bottom, the output pins are numbered as follows:
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│ 31 │ 32 │ 33 │ 34 │ 35 │ 26 │ 27 │ 28 │ 29 │ 30 │ 21 │ 22 │ 23 │ 24 │ 25 │ 16 │ 17 │ 18 │ 19 │ 20 │ 11 │ 12 │ 13 │ 14 │ 15 │ 6 │ 7 │ 8 │ 9 │ 10 │ 1 │ 2 │ 3 │ 4 │ 5 │
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘Connect each of these outputs to the corresponding pixel on your 5×7 display.5×7 dot matrix display pixel numbering
This is the pixel layout on the display, used by the diagram above
┌────┬────┬────┬────┬────┐
│ 1 │ 2 │ 3 │ 4 │ 5 │
├────┼────┼────┼────┼────┤
│ 6 │ 7 │ 8 │ 9 │ 10 │
├────┼────┼────┼────┼────┤
│ 11 │ 12 │ 13 │ 14 │ 15 │
├────┼────┼────┼────┼────┤
│ 16 │ 17 │ 18 │ 19 │ 20 │
├────┼────┼────┼────┼────┤
│ 21 │ 22 │ 23 │ 24 │ 25 │
├────┼────┼────┼────┼────┤
│ 26 │ 27 │ 28 │ 29 │ 30 │
├────┼────┼────┼────┼────┤
│ 31 │ 32 │ 33 │ 34 │ 35 │
└────┴────┴────┴────┴────┘
Therefore, for example, CGROM output 1 connects to display pixel 1, output 2 connects to pixel 2, and so on.
Why the diagrams are here
Originally, I put signs next to every input and output connection in the build, showing which character each input represented and which pixel each output controlled.
Unfortunately, the text on signs does not export with structure blocks. The signs appeared blank when the structure was loaded, which made them useless.
So I've included the pinout diagrams here instead. If you're wiring the CGROM to your display in-game, you can take a screenshot of these diagrams and keep it in the corner of your screen for reference while wiring everything up.
Hopefully this saves someone else the several hours of manually programming a character ROM, I wish I had this before I made my Redstone Display.
93 Character CGROM for 5x7 Dot Matrix Display is a free Minecraft Bedrock map. Downloaded 9 times. Download it and open it directly in the game.