Skip to content

Commit bff70ab

Browse files
Merge pull request #1 from RGBOARD/first-touches
First touches
2 parents 5375dc4 + a32b916 commit bff70ab

9 files changed

Lines changed: 134 additions & 40 deletions

File tree

β€ŽGemfile.lockβ€Ž

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,12 @@ GEM
1212
eventmachine (>= 0.12.9)
1313
http_parser.rb (~> 0)
1414
eventmachine (1.2.7)
15+
ffi (1.17.1)
1516
ffi (1.17.1-arm64-darwin)
16-
ffi (1.17.1-x86_64-linux-gnu)
1717
forwardable-extended (2.6.0)
18+
google-protobuf (4.29.3-aarch64-linux)
19+
bigdecimal
20+
rake (>= 13)
1821
google-protobuf (4.29.3-arm64-darwin)
1922
bigdecimal
2023
rake (>= 13)
@@ -76,18 +79,20 @@ GEM
7679
rexml (3.4.0)
7780
rouge (4.5.1)
7881
safe_yaml (1.0.5)
79-
sass-embedded (1.83.4-arm64-darwin)
82+
sass-embedded (1.83.4)
8083
google-protobuf (~> 4.29)
81-
sass-embedded (1.83.4-x86_64-linux-gnu)
84+
rake (>= 13)
85+
sass-embedded (1.83.4-arm64-darwin)
8286
google-protobuf (~> 4.29)
8387
terminal-table (3.0.2)
8488
unicode-display_width (>= 1.1.1, < 3)
8589
unicode-display_width (2.6.0)
8690
webrick (1.9.1)
8791

8892
PLATFORMS
93+
aarch64-linux
8994
arm64-darwin
90-
x86_64-linux-gnu
95+
x86_64-linux
9196

9297
DEPENDENCIES
9398
jekyll (~> 4.4.1)

β€Ž_config.ymlβ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
title: Just the Docs Template
2-
description: A starter template for a Jeykll site using the Just the Docs theme!
1+
title: RGBoard Docs
2+
description: A guide on how to create RGBoards and use the provided software.
33
theme: just-the-docs
44

5-
url: https://just-the-docs.github.io
5+
favicon: "/assets/images/rgb-paw.png"
6+
logo: "/assets/images/RGB-Icon.png"
67

7-
aux_links:
8-
Template Repository: https://github.com/just-the-docs/just-the-docs-template
8+
url: https://https://rgboard.github.io/docs
4.06 MB
Loading

β€Žassets/images/RGB-Icon.pngβ€Ž

57.3 KB
Loading

β€Žassets/images/rgb-paw.pngβ€Ž

91.3 KB
Loading

β€Žassets/images/spinny.gifβ€Ž

3.04 MB
Loading

β€Ždesign.mdβ€Ž

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
title: Design
3+
layout: home
4+
nav_order: 2
5+
---
6+
<img src="assets/images/spinny.gif" alt="gif img of RGBoard">
7+
# Designing an RGBoard
8+
You can build this system however you want β€” and sometimes that freedom can feel like chaos.
9+
The version we’re showing here uses just two panels. Why? Because that was enough for our capstone project.
10+
We actually considered going with a 2Γ—2 layout, but in the end we saved money, time, and our sanity by sticking
11+
with a simpler 2Γ—1 setup.
12+
13+
## Things to do prior to choosing parts and quantity
14+
- Read the READMEs in the [rpi-rgb-led-matrix](https://github.com/hzeller/rpi-rgb-led-matrix).
15+
If you're about to make a mistake, is likely they did first and wrote about it. For example,
16+
don't get a Raspberry Pi 5 when the library states that is only supported up to the Raspberry Pi 4.
17+
- We got our panels from [Adafruit](https://www.adafruit.com/). Check their inventory for panels and
18+
see which ones you like best for your RGBoard. Make sure is the ones with two IDC connectors in the back.
19+
- The 64 x 32 panels can draw up to 4 amps each! When you add them up, your power supply system has to grow in
20+
size and cost.
21+
22+
## 1. Get a Raspberry Pi compatible with rpi-rgb-led-matrix
23+
This computer is the central part of your computer. Get yourself a good amount of RAM
24+
to have enough room for your programs that make up the whole system. It also makes remote development easier when
25+
you do remote development with modern day tools. We recommend getting the
26+
Raspberry Pi 4 Model B with a generous 8GB RAM.
27+
28+
## 2. Determine the size of your board
29+
The size of your board plays a huge part in cost, power and computation.
30+
### Daisy Chaining
31+
You'll notice these boards have arrows drawn on the back to indicate
32+
how your connections should flow. The output of one panel is the input to the next
33+
following this direction. This allows you have a row of n panels.
34+
Depending on the HAT, the adapting board that goes on the Raspberry and allows GPIO connections
35+
to the input boards, you can set up rows on top of each other to make your canvas bigger. You can also
36+
make a canvas with just series connection but will to transform your image on the software side.
37+
### Power
38+
Each panel, assuming they're 64 x 32, needs around 3.8 Amps when they're fully lit up, meaning all LED's set to white.
39+
You can get a 5V 10A power supply for not much and that'll give you enough power for two panels and your Raspberry Pi. However, as
40+
you need more, you might want to consider more serious power supplies to power your system. This is where you need to apply a little
41+
electrical expertise.
42+
### Is there a limit to how many I can chain?
43+
The [rpi-rgb-led-matrix](https://github.com/hzeller/rpi-rgb-led-matrix) library supports up to 3 chains
44+
with a theoretical number of 32 panels on each. That should be enough for most projects using a Raspberry Pi on
45+
their design. If you are making something that requires much more than 3 x 32 panels, which would cost you thousands on the panels alone,
46+
and multiple power supplies... why are you trying to run that off an $80 computer?
47+
48+
## 3. Get LED matrix panel(s)
49+
It can be one. It can be many. We recommend getting the panels from [Adafruit](https://www.adafruit.com/) but
50+
you can also get them from other providers as long as they come with the HUB75 connector. Please see [Panels supported](https://github.com/hzeller/rpi-rgb-led-matrix?tab=readme-ov-file#panels-supported) and
51+
[Types of Displays](https://github.com/hzeller/rpi-rgb-led-matrix?tab=readme-ov-file#types-of-displays)
52+
for more info.
53+
54+
## 4. Get a HAT connector
55+
You may be thinking: "Haha, is a HAT because it goes on top of the Raspberry like a hat". WRONG!! It stands for "Hardware Attached on Top" and is about
56+
time you get professional. To make these work, you'll need 2x8 IDC ribbon cables. Your HUB75 connectors work with these but your Raspberry Pi doesn't
57+
have such terminal to physically connect these to. That's why you need a HAT that lets you do this. See [Adapters](https://github.com/hzeller/rpi-rgb-led-matrix/tree/master/adapter) for a selection of library
58+
recommendations.
59+
60+
61+
Once you get the general idea of how to put the hardware components together in a way that is thought out. Ask yourself these questions before checking out:
62+
- Do I have compatible panels?
63+
- Do I have enough power for the whole system (Panels + Raspberry Pi)?
64+
- Do I have a [rpi-rgb-led-matrix](https://github.com/hzeller/rpi-rgb-led-matrix) compatible Raspberry Pi?
65+
- Do I have the right amount of 8 x 2 IDC Ribbon cables and are they right length?
66+
67+
Once you got all these components hooked up. We can move on to the next section which would be initial setup.

β€Žindex.mdβ€Ž

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,52 @@
11
---
22
title: Home
33
layout: home
4+
nav_order: 1
45
---
5-
6-
This is a *bare-minimum* template to create a Jekyll site that uses the [Just the Docs] theme. You can easily set the created site to be published on [GitHub Pages] – the [README] file explains how to do that, along with other details.
7-
8-
If [Jekyll] is installed on your computer, you can also build and preview the created site *locally*. This lets you test changes before committing them, and avoids waiting for GitHub Pages.[^1] And you will be able to deploy your local build to a different platform than GitHub Pages.
9-
10-
More specifically, the created site:
11-
12-
- uses a gem-based approach, i.e. uses a `Gemfile` and loads the `just-the-docs` gem
13-
- uses the [GitHub Pages / Actions workflow] to build and publish the site on GitHub Pages
14-
15-
Other than that, you're free to customize sites that you create with this template, however you like. You can easily change the versions of `just-the-docs` and Jekyll it uses, as well as adding further plugins.
16-
17-
[Browse our documentation][Just the Docs] to learn more about how to use this theme.
18-
19-
To get started with creating a site, simply:
20-
21-
1. click "[use this template]" to create a GitHub repository
22-
2. go to Settings > Pages > Build and deployment > Source, and select GitHub Actions
23-
24-
If you want to maintain your docs in the `docs` directory of an existing project repo, see [Hosting your docs from an existing project repo](https://github.com/just-the-docs/just-the-docs-template/blob/main/README.md#hosting-your-docs-from-an-existing-project-repo) in the template README.
25-
26-
----
27-
28-
[^1]: [It can take up to 10 minutes for changes to your site to publish after you push the changes to GitHub](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll#creating-your-site).
29-
30-
[Just the Docs]: https://just-the-docs.github.io/just-the-docs/
31-
[GitHub Pages]: https://docs.github.com/en/pages
32-
[README]: https://github.com/just-the-docs/just-the-docs-template/blob/main/README.md
33-
[Jekyll]: https://jekyllrb.com
34-
[GitHub Pages / Actions workflow]: https://github.blog/changelog/2022-07-27-github-pages-custom-github-actions-workflows-beta/
35-
[use this template]: https://github.com/just-the-docs/just-the-docs-template/generate
6+
<img src="assets/images/20250503_010118.jpg" alt="img of RGBoard">
7+
# RGBoard Docs πŸ”΄πŸŸ’πŸ”΅
8+
RGBoard is a system comprised of parts in different disciplines.
9+
To replicate this project, some fundamentals in different areas must be
10+
understood to create derivations out of the provided instructions. The
11+
documentation provided serves as a guide to help create RGBoards from scratch.
12+
## Fundamentals Prerequisites
13+
This is a great project for those that love tinkering and are not afraid of doing
14+
a little bit of everything. Let's start with the fundamentals to get started
15+
in building RGBoards.
16+
### Engineering graphics πŸ“βœοΈ
17+
A lot of people outside of mechanical engineering think this class is a waste of
18+
time, but is one of the most important engineering classes and one
19+
of the most classical forms of engineering. Truth is, to build something, you're going to have to
20+
measure and sketch various iterations til you get your desired end result. Don't panic,
21+
you don't need to know how to create complex objects, it all depends on what kind of board
22+
you want to assemble, but in most cases, you will be building a frame. All you need to know is how
23+
to draw measured lines, do your corners and measure where to put your holes so you can bolt your frame
24+
to the panels.
25+
### Electrical engineering ⚑
26+
RGBoard needs power relative to its size and the correct GPIO wiring. You don't need to be an electrical engineer,
27+
but you need to understand that if each of your panel draws 3.8A, and you have 2 panels, then you need at minimum, a
28+
10A power supply.
29+
### Raspberry Pi 4 Model B and Unix/Linux Operating Systems πŸ’»
30+
RGBoard is basically a Raspberry Pi project and this is where you will
31+
be spending most of your time. Raspberry Pi's will usually run on an Operating System built on Debian
32+
running on top of the very much popular Linux kernel. You need to understand how to use this type of
33+
Operating System. If all you have ever used is Windows, you have quite a journey. If you have a Mac,
34+
you're halfway there.
35+
### C++ πŸ€
36+
What makes the lights go in RGBoard is a [library](https://github.com/hzeller/rpi-rgb-led-matrix), mostly written in C++. You need
37+
to know how to compile such libraries and bind them to your own project. You can wrap these executables with Python or another
38+
language. Did you know the unofficial mascot of C++ is a diseased rat?
39+
### Python and Flask 🐍
40+
The back-end of RGBoard is built with Flask, a web server interface for handling client requests,
41+
and written in Python. Python is a relatively easy language to code in thanks to how much is able to
42+
abstract with its very popular and well documented libraries. You will be handling user request, authenticating
43+
them cryptographically with JSON Web Tokens, and making sure they have their respective CRUD permissions.
44+
### Web frameworks 🌐
45+
RGBoards front-end is built using a selected set of tools out of the rabbit hole that is web development. We use the React with JavaScript,
46+
Tailwind CSS to have quick styling options, and Vite to build the whole thing in a bundle that can be served with NGINX. You can make your
47+
own front-end if you desire or even turn RGBoard into a mobile app. In the front-end is where most people can apply their flavor.
48+
### Relational databases πŸ—ƒοΈ
49+
In RGBoard, we use SQLite to store data due to it being so easy to interface with Python. You need to know concepts of
50+
Relational Databases like set theory, tables, and SQL queries and transactions.
51+
## Lets get started
52+
The first step would be to choose your sizing and power. Click [here](/design.html) to go to the design step.

β€Žinitial-setup.mdβ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Initial Setup
3+
layout: home
4+
nav_order: 3
5+
---

0 commit comments

Comments
Β (0)