|
1 | 1 | --- |
2 | 2 | title: Home |
3 | 3 | layout: home |
| 4 | +nav_order: 1 |
4 | 5 | --- |
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. |
0 commit comments