---
logosub: "Avans TI internship"
language: "nl"
title: "Wi-Fi extension board"
year: "2014"
date: "2014-01-01"
---

This project was part of my internship at Dazzletek in Breda. They no longer exist and the name "Dazzletek" now seems to belong to an American company. They created intelligent lighting control solutions and were part of Vitelec. My assignment was to create a prototype that would allow a device to communicate over <a href="https://en.wikipedia.org/wiki/Wi-Fi" target="_blank" rel="noopener noreferrer">Wi-Fi</a>. I worked with a <a href="https://en.wikipedia.org/wiki/PIC_microcontrollers" target="_blank" rel="noopener noreferrer">PIC microcontroller</a>.

I developed a software program using <a href="https://en.wikipedia.org/wiki/C_(programming_language)" target="_blank" rel="noopener noreferrer">C</a> in the OpenAT framework, but also made adjustments to the hardware prototype board. At the end of my internship the prototype was realized into an extension board for the Antares gateway. The purpose of this assignment was to provide a device which communicates over <a href="https://en.wikipedia.org/wiki/General_Packet_Radio_Service" target="_blank" rel="noopener noreferrer">GPRS</a>, with the ability to communicate that data over Wi-Fi.

Instead of using the Wi-Fi stack, I was encouraged to develop my own data transfer logic over <a href="https://en.wikipedia.org/wiki/Serial_Peripheral_Interface" target="_blank" rel="noopener noreferrer">SPI</a>, which was then read by the oscilloscope.

<figure class="text-center">
  <picture class="d-flex justify-content-center">
    <source
      media="(max-width: 510px)"
      srcset="/images/software/projects/dazzletek/antares-w240.webp"
    />
    <source
      media="(max-width: 850px)"
      srcset="/images/software/projects/dazzletek/antares-w480.webp"
    />
    <img
      src="/images/software/projects/dazzletek/antares.webp"
      alt="Dazzletek Antares gateway"
      class="img-fluid"
    />
  </picture>
    <figcaption class="figure-caption mt-2">
    <a href="/images/software/projects/dazzletek/antares.webp">
      Dazzletek Antares gateway
    </a>
  </figcaption>
</figure>

---

<figure class="text-center">
  <picture class="d-flex justify-content-center">
    <source
      media="(max-width: 510px)"
      srcset="/images/software/projects/dazzletek/oscilloscope-w240.webp"
    />
    <source
      media="(max-width: 850px)"
      srcset="/images/software/projects/dazzletek/oscilloscope-w480.webp"
    />
    <img
      src="/images/software/projects/dazzletek/oscilloscope.webp"
      alt="SPI readings on a Oscilloscope"
      class="img-fluid"
    />
  </picture>
    <figcaption class="figure-caption mt-2">
    <a href="/images/software/projects/dazzletek/oscilloscope.webp">
      SPI readings on a Oscilloscope
    </a>
  </figcaption>
</figure>

## Technology

The WF121 by <a href="https://en.wikipedia.org/wiki/Bluegiga" target="_blank" rel="noopener noreferrer">BlueGiga</a>, which used a <a href="https://en.wikipedia.org/wiki/PIC_microcontrollers" target="_blank" rel="noopener noreferrer">PIC32 microcontroller</a>, had to be programmed to accept and transfer data to a specific <a href="https://en.wikipedia.org/wiki/Service_set_(802.11_network)#SSID" target="_blank" rel="noopener noreferrer">SSID</a>. Also the AirPrime SL6087 by <a href="https://www.sierrawireless.com/" target="_blank" rel="noopener noreferrer">Sierra Wireless</a> (now Semtech) had to be programmed to relay the data to the Wi-Fi module.

I used <a href="https://www.wireshark.org/" target="_blank" rel="noopener noreferrer">Wireshark</a>, commandline debug and an oscilloscope to monitor the datatranfers. Version control was done in <a href="https://subversion.apache.org/" target="_blank" rel="noopener noreferrer">Subversion</a>.

<figure class="text-center">
  <picture class="d-flex justify-content-center">
    <source
      media="(max-width: 510px)"
      srcset="/images/software/projects/dazzletek/wifi-board-prototype-w240.webp"
    />
    <source
      media="(max-width: 850px)"
      srcset="/images/software/projects/dazzletek/wifi-board-prototype-w480.webp"
    />
    <img
      src="/images/software/projects/dazzletek/wifi-board-prototype.webp"
      alt="Wi-Fi prototype board"
      class="img-fluid"
    />
  </picture>
    <figcaption class="figure-caption mt-2">
    <a href="/images/software/projects/dazzletek/wifi-board-prototype.webp">
      Wi-Fi prototype board
    </a>
  </figcaption>
</figure>

---

Finally, all the boards had to be provided with the firmware I wrote. I soldered a little <a href="https://en.wikipedia.org/wiki/Registered_jack" target="_blank" rel="noopener noreferrer">RJ45</a> connector that would allow the PIC programmer to write to the pins on the boards.

<figure class="text-center">
  <picture class="d-flex justify-content-center">
    <source
      media="(max-width: 510px)"
      srcset="/images/software/projects/dazzletek/programming-batch-w240.webp"
    />
    <source
      media="(max-width: 850px)"
      srcset="/images/software/projects/dazzletek/programming-batch-w480.webp"
    />
    <img
      src="/images/software/projects/dazzletek/programming-batch.webp"
      alt="Batch programming"
      class="img-fluid"
    />
  </picture>
    <figcaption class="figure-caption mt-2">
    <a href="/images/software/projects/dazzletek/programming-batch.webp">
      Batch programming
    </a>
  </figcaption>
</figure>
