What was Wireless Trondheim?

Wireless Trondheim provided wireless internet access in public spaces around Trondheim before changing direction several times. I was hired to learn about IoT systems and hardware by exploring ideas at the company. My project was to make a website that compared power consumption across IoT sensor systems.
More on the company’s mission is available on its LinkedIn page.
El-Watch neuron sensors
I started by measuring the power consumption of a neuron sensor developed by El-Watch.

The website
This was where I was first introduced to HTML and JavaScript, and I am happy to say I got the hang of them quickly. The database server was later deleted, so restoring the original site would require rebuilding its backend.
I was introduced to Go and wrote a script that pulled uploaded sensor data from servers. The data went into a MySQL database, alongside an introduction to DigitalOcean. A second Go script sent the data to the frontend.

The nRF52 and RN2483
So far so good: I knew how to code. But now I was suddenly dealing with hardware.

The goal was to measure the RN2483’s power consumption, but it did not have sensors. We used an nRF52 as a sensor that communicated with the RN and sent its data through it. The task involved dead ends and a great deal of learning about debugging hardware and programming microcontrollers.
There was no library for nRF-to-RN communication, so I wrote one, using an incomplete general library as a starting point. One difficult issue turned out not to be code at all: a 5V AND gate on the shield’s data path meant the RN would power up but never respond to the nRF’s 3.3V signal.

Another problem occurred whenever I called sendCommand("some command..."): nothing sent. With help, I found that the string lived in flash memory, which the UART could not access. Copying it into RAM with memcpy solved the issue.

I also gained experience making custom PCBs: a simple breakout for the nRF52 and a motherboard with a matrix for choosing USB or another power source. This made it possible to measure the RN2483’s consumption rather than the nRF52’s.

