1First, you need to acquire the hardware.
Read the component/description section!
2Do some wiring!
I used unipolar (I think, that's the name of a cable with only one conductor) cable. It is easier for connecting e.g. all the 5V and GND pins. Connect all 5V together, and all GND together. Wire the Dout (Data out) to the Din (Data in) between the LED boards (small ones).
3Download the repo from GitHub
4Configure your mappings
The folder `mapping` contains two files that creates the mapping of letters or pictures to the 10x10 LED panel.
- `letter2matrix.py`: reads the especified font file (`font_file`) and generates a `letters.txt` containing the mapping (only ascii_uppercase charaters are converted, you can change this in the file, but be aware that the wipy2.0 has limited ram).
- `icons2matrix.py`: reads all png files from the folder `img` and generates a `icons.txt` containing the mapping of the icons.
The content of these files needs to be copied into the archives `letters.py` and `icons.py`, respectively. As you see, you need to define a variable at the begging of the file. Again, the upper case letters are only mapped, that means, you need to write your message in capital. The name of the icon files is used to map the icons, it should only contain `[a-z]` characters (otherwise, modify the file).
5If you modify the mappings! Do the following:
If you modify the mappings: The Wipy2.0 has limited RAM (I bougth the Wipy3.0, when I receive it, I am going to update this). In order to reduce the ram use, you need to cross-compile the files that include the mappings and the ws2812b driver. To do that, you need to use linux (sorry) and clone the pycom/pycom-micropython-sigfox repository. If you are using an ESP32 (Wemos) -I think you do not need to do this, because the Wemos has more ram, but just for your information-, you need to clone the micropython/esp32 repository. Then, go to the folder `mpy-cross` using a terminal, and type `make`. Wait a couple of seconds/minutes. Then, you can compile the files using `./mpy-cross ` in order to get the `.mpy` files. E.g.
- `./mpy-cross ws2812b.py`
- `./mpy-cross icons.py`
- `./mpy-cross letters.py`
- `./mpy-cross colors.py`
I included a copy of these files in the folder `wipy2.0_mpy`. If you modify the mapping or use another micro (e.g. Wemos), you need to generate these files again.
Load only the `.mpy` files not the `.py` files! Otherwise, the Wipy tries to load the `.py` and you get the error: `MemoryError: memory allocation failed, allocating xxxx bytes`.
6In conclusion, you need to load and/or modify the following files:
- `boot.py`: it connects to the internet, you need to modify the Wi-Fi access (SSID/WPA);
- `main.py`: you can modify the icons, the message, etc.;
- `ws2812b.mpy`: cross-compiled led drivers;
- `icons.mpy`: cross-compiled icon mapping;
- `letters.mpy`: cross-compiled letter mapping;
- `colors.mpy`: this file is not used yet, you can skip it. It maps 'english colors' to RGB.
The `.mpy` files are not uploaded with Atom and the pymark plugin. I uploaded the configured `boot.py` file first, then using FileZilla I managed to upload the other files. Please be aware of this configuration for FileZilla. You can also use `ampy` for uploading the files. Please refer to this tutorial for more information.
7Reset the board and enjoy!
Click here for more information!