You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# RGBoard Docs π΄π’π΅
RGBoard is a system comprised of parts in different disciplines.
To replicate this project, some fundamentals in different areas must be
understood to create derivations out of the provided instructions. The
documentation provided serves as a guide to help create RGBoards from scratch.
## Fundamentals Prerequisites
This is a great project for those that love tinkering and are not afraid of doing
a little bit of everything. Let's start with the fundamentals to get started
in building RGBoards.
### Engineering graphics πβοΈ
A lot of people outside of mechanical engineering think this class is a waste of
time, but is one of the most important engineering classes and one
of the most classical forms of engineering. Truth is, to build something, you're going to have to
measure and sketch various iterations til you get your desired end result. Don't panic,
you don't need to know how to create complex objects, it all depends on what kind of board
you want to assemble, but in most cases, you will be building a frame. All you need to know is how
to draw measured lines, do your corners and measure where to put your holes so you can bolt your frame
to the panels.
### Electrical engineering β‘
RGBoard needs power relative to its size and the correct GPIO wiring. You don't need to be an electrical engineer,
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
10A power supply.
### Raspberry Pi 4 Model B and Unix/Linux Operating Systems π»
RGBoard is basically a Raspberry Pi project and this is where you will
be spending most of your time. Raspberry Pi's will usually run on an Operating System built on Debian
running on top of the very much popular Linux kernel. You need to understand how to use this type of
Operating System. If all you have ever used is Windows, you have quite a journey. If you have a Mac,
you're halfway there.
### C++ π
What makes the lights go in RGBoard is a [library](https://github.com/hzeller/rpi-rgb-led-matrix), mostly written in C++. You need
to know how to compile such libraries and bind them to your own project. You can wrap these executables with Python or another
language. Did you know the unofficial mascot of C++ is a diseased rat?
### Python and Flask π
The back-end of RGBoard is built with Flask, a web server interface for handling client requests,
and written in Python. Python is a relatively easy language to code in thanks to how much is able to
abstract with its very popular and well documented libraries. You will be handling user request, authenticating
them cryptographically with JSON Web Tokens, and making sure they have their respective CRUD permissions.
### Web frameworks π
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,
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
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.
### Relational databases ποΈ
In RGBoard, we use SQLite to store data due to it being so easy to interface with Python. You need to know concepts of
Relational Databases like set theory, tables, and SQL queries and transactions.
## Lets get started
The first step would be to choose your sizing and power. Click [here](/docs/hardware-setup.html) to go set up the hardware.