Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Build your own
Clone this wiki locally
Build your own Arbalet
If you're looking how to build your own LED table you're at the right place!
Arbalet exists in two versions coming with two different assembly guides:
- Arbalet Lack (v1), hacked from a 500x500 Ikea "Lack" coffee table
- Arbalet Lava (v2, Laser-cut VAriant), fully reproducible with a laser cutting machine and MDF boards, coming with a 6-key touch glass
Pick a guide that matches best your needs and follow it step-by-step to build your hardware, they will redirect you to this wiki when the moment comes to install the software.
In practice you might want to pick ideas from both guides to build your own custom table. If you create and document a particular model, please keep us posted :-)
Detailed information about electronics
This paragraph details more the technical characteristics of electronic components, read it if you don't feel comfortable with these technologies (yet), as they contain prerequisites.
Some online electronics stores are linked below to help you finding the good supplies instantly. However remind that what are not affiliated to these stores, you may review other products from their concurrence before buying. You'll find the rest easily in your local retail stores.
Main supply: The WS2812B LED strip
This esoteric reference WS2812B does not designate a LED strip but a single LED. However it also includes an Integrated Chip that makes it intelligent. Thanks to this integrated chip we are able to connect multiple WS2812B in a chain and to drive them independently from each other thanks to an unique identifier (an integer) assigned to each LED. By this way only one wire (a data bus) allows to individually control the colour of thousands of WS2812B chained together.
Some manufacturers sell these WS2812B as strips. They do nothing more than buying spare WS2812B chips and soldering one of them each N centimeters. N defines the density of pixel per linear meter, and consequently the size of your pixels. For example the default density of 30 LED/meter used by Arbalet gives you pixels of ** N = 1/30 = 3.33cm large = 1.33" large**.
30 LED/meters is the lower density commonly available on the market. Higher densities (up to 144/meter) will create smaller pixels. Most of the time they are reeled and sold as wheels of 5 meters. But during your shopping you may also find smaller pieces (50cm, 1m, 2m...) and higher densities (60/meter, 144/meter...).
These strips are said addressable because each LED owns an address. Some LED chips have restrictions and can be cut only every x LEDs. WS2812B chips can be cut after every LED.
WS2812B is not the only model of intelligent LED available on the market. You may also find WS2812, which talks a different protocol, WS2811 which is only an Integrated Chip without LED, different strips of these of different lengths and density, and so on...
What LED strip should I buy, then? If you feel confused regarding these references, just search for the WS2812B reference on ebay and buy a wheel of 5 meters of WS2812B of density 30 LED/meter and you will be fine. This reference is the most popular one. Unless you know what you do other LED strips are not suitable for the basic Arbalet Lack/Lava of 150 pixels.
Second supply: the AC adapter
Arduino is not able to provide enough energy to power Arbalet, it requires an external power supply. Choose a supply with the following characteristics:
- Input: AC 110V 60Hz (North America until Brasil, Japan, Korea) or AC 230V 50Hz (Mostly anywhere else)
- Output: DC 5V 5A, or with any amperage >5A
The output plug does not matter, just make sure that you will be able to connect it to the electronic circuit with its female socket. Example of AC adapter on Pololu
Arduino Leonardo is the best price-quality ratio for Arbalet. Although any other Arduino board suits, the serial chipset of some boards (like Uno) is unstable, so Leonardo is a good choice.
At the time of writing Arbalet only runs thanks to a dedicated computer (or nano computer such as Raspberry Pi) on Linux/MacOS operating systems. Applications are launched from command line. Make sure you know the basics of your operating system, including executing commands in a terminal. Easiest user interfaces will come later.
Arduino comes with an Integrated development environment, a specific program that you need to install, allowing to upload a program onto the microcontroller. We will use it during setup to upload Arbalet's firmware.
If you are new to Arduino you might want to follow tutorials to get the hang of the Arduino ecosystem.
If you haven't built your hardware yet you can start playing with the software thanks to the simulator to get ready once you build it. You can also start coding new apps with the simulator if you wish.
For that, you can jump to the Hardware and Software preliminaries. You will have to read this page anyway to run Arbalet applications on your hardware.