Members: Shashwati JhaGR, Rebekah HanUG, Varun ChirravuriHS
Advisor: Dr. Richard Martin
Today’s cell towers are large, complex and expensive, but recent advances in thin-film solar and lithium iron phosphate (LiFePo) energy storage will allow for a new class of small-scale communication infrastructure. In this project, a combination of thin film solar panels, batteries and Long Range (LoRA) wireless radios will be used to build a small scale demonstration sensing and communications platform with a tree-like structure. The platform will use a combination of solar power, energy storage, and a small neural network to provide image recognition, wireless mesh networking, and small device charging services.
Current wide area networks (WAN) are expensive and gatekept by governmental regulations and large corporations. Cellular networks tend to not cover rural areas, leaving individuals in those areas without access to the network. In addition, those in war zones or under oppressive governments tend to face censorship, revealing the need for a decentralized, accessible network.
- Accessibility. The solution should scale down to underserved areas and should be cheap to deploy.
- Self-sufficiency via solar. The solution should not rely on existing infrastructure. Solar, hence "Green" Communications.
We anticipate on building a solar tree made of PVC pipes and solar cells, which will charge a battery and power a LoRa radio, forming one node within the greater MeshCore network. The idea is to send texts using radio instead of cellular networks. In addition to the tree, a camera is to be placed onto the tree to receive status updates, such as if a person or animal is present. This will be accomplished by using a local vision language model (VLM) on a Raspberry Pi.

Below is a gif animation of what a self-healing mesh network looks like. Though one repeater radio may be downed, an alternative route can be found for my message to reach my recipient. The more radios within the mesh network, the more robust it will be against such failures.


The image above shows the final wiring diagram for the solar tree. In total, it consists of 32 solar cells that total to about 19 V and 115 W. It would take approximately 3-4 hours of peak sunlight to fully charge the battery.

On building the tree, 5200 marine sealant was used to sandwich the solar cells between two sheets of arcylic. This is to keep water out of the solar panels.

Paper clips were also epoxied onto the back of the solar panels, allowing us to use zip ties to chain the solar panels to the branch. In case of strong winds, this allows the solar panels to swing. The vertical alignment of the solar panels also allows snow to fall through instead of build up on top of the panel.
- Defined the goals of this project, with accessibility and self-sufficiency in mind. Our Thursday presentation is available to view here.
- Brainstormed what the solar tree would look like, as well as defining the electrical configuration of the tree. We came up with a 200 W 28S2P configuration so that our given battery pack would take 1.5 hours to fully charge (in perfect conditions).
- Thursday Presentation.
- Research materials for solar tree + established a new design.
- Set up GitLab repository.
- Create this wiki page! (Yay!)
- Progress through Onshape's CAD Basics course.
- Create block wiring diagram.
- Thursday Presentation
- Complete CAD Basics course.
- Verified the solar cells hold up in voltage in different conditions. In shaded conditions, it holds up at 0.63 V.
- Took the Woodshop 1 course to use the table saw at the Makerspace. In-person test pending.
- Here is our wiring diagram. In theory, this is what would happen if a string of cells were shaded. Since we are not getting any more solar cells, we will work with a 35S configuration.
- Successfully transmitted packets from the transmitter. The receiver was able to receive the packet, but it was corrupted. This is because the Adafruit bonnet (transmitter) was plugged into the same Pi that was receiving. The next step is to separate the two from overloading the receiver.
- Found out that we likely need to order new boards so that MeshCore can be flashed onto them.
- Somewhere around this time, finalized-ish our parts list to order.
- Thursday Presentation.
- MeshCore was also developed for a particular kind of hardware architecture, which is a board with a LoRa radio and an ESP32 or nRF52 microcontroller. The hardware we received did not have such chips. Finding that someone implemented MeshCore in Python, we tried to run it on our Raspberry Pi.
- Thursday Presentation.
- We really spent time breaking down meshcore-pi in order to have the program run on our older, SX127x transceiver. The code originally supports only SX126x models.
- Thursday Presentation.
- We resolved the transmission issue we had by adjusting the transmission power to be 13 dBm instead of 17 dBm. We were able to successfully send and receive messages!
- Thursday Presentation.
- 3D printed enclosured for the new hardware boards we got to flash MeshCore onto. We ended up ordering supported hardware so that this could be deployed as a repeater radio. Also, convienence.
- The CAD model of the solar tree.
- The PVC pipes were sawed to size, and a junction box was ordered to store the battery and solar charge controller.
- We anticipate on putting everything together hardware-wise next week as we are waiting for a few parts.
- Thursday Presentation.
- Glued the arcylic panels together to form the solar panels using 5200 marine sealant.
- Drilled holes into the PVC pipes for the wires to feed through.
- Soldered the diodes to the wires.
- Wired all of the components for the electrical junction box.
- Wired all of the solar panels together.
- Dry-fitted the solar tree together in preparation for the Open House. This was so that our tree could be displayed in the Orbit Room and then broken down to be re-assembled for outdoor use. This was because getting through the single-doors would otherwise be impossible if the pipes were cemented together.

Wow! The tree!

It charges despite the weather being cloudy.