Project Break Down

There are 7 Raspberry Pi microcontroller slaves in this project, all connected to a master Wi-Fi-enabled Pico (Pico-w). Each slave is connected to the same UART port on the Pico-w and all receive commands simultaneously. Each slave is in control of 5-7 named LEDs which are hard-coded into the micropython script. Each LED is connected via 3 I/O pins and a power pin. The LEDs are common cathode, so the r, g, or b gates are opened when the Hold class R G or B attribute (mapped to the relevant pins) .on() method is called. There are 46 sequentially named holds on the climbing wall.

The aim of the website was to have an interface that could control the board from my laptop, and could store route meta-data in a database. The database enables the user to try different climbs on the wall from other users. I wanted to learn how to use Node.js, so I learned how to host the website from a node server using express. Eventually it is the intention to migrate the website so that it can be accessed outside of my laptop.

To use the webapp, you can go to The Forge and toggle the hold on the grid. They can be toggled four times from green to red.

  1. Green is a start hold;
  2. Blue is a route hold;
  3. Red is a finish hold; and
  4. Cyan is a foot-only hold
In The Record, the user can select a route from the tiles shown beneath the search bar as well as see the grade, who set the climb and how many attempts it took.

Click the links below to see the Webpages

Please note these are not live pages, demo functionality is pending

Click the links below to see the code behind the project!

I am not yet a web developer, for me scripting is more the focus of this project...