Programming and Electronics Beginner Workshop

Build Your IoT Smart Clock

Date: February 7, 2024 (Wednesday)

Time: 2:00 – 5:00 pm

Venue: Makerspace A, Tam Wing Fan Innovation Wing One, HKU

Kickstart your IoT journey and build a smart clock at this beginner-friendly workshop!

Learn IoT basics and assemble a smart clock that captures real-time data such as weather, news and social media updates. You may customize your device by programming dynamic responses such as color changes based on temperature. Take home a fully functional smart clock with IoT capabilities for further experimentation. Join now and explore more! Details of the workshop are as follows:

Date: February 7, 2024 (Wednesday)

Time: 2:00 – 5:00pm

Venue: Makerspace A, Tam Wing Fan Innovation Wing One, HKU

Instructor: Mr Justus Ip, current undergraduate student from Department of Computer Science

Eligibility: Priority to Innovation Wing members. All HKU undergraduate students are welcome to join.

Quota: A limited quota of 25 will be offered on a first-come-first-served basis. No prior knowledge is required.


The following topics will be covered in the workshop:

  1. C++ Programming Skills (Included in formal curriculum of Engineering)
      • For students with no prior knowledge of programming, a basic partially completed code will be provided. Basic programming techniques will also be introduced, such as if-statements, while statements, for-statements. Using the knowledge gained in the workshop, students will complete the provided code and bring their smart display to life.
      • For students with prior knowledge of programming, a more complex partially completed code will be provided. They will have to complete the code using advanced C++ concepts such as class, inheritance & pointers.
  2. ESP32 Programming Skills
      • Students will learn how to program and connect the ESP32 to other components. They will need to properly wire the board and use the Arduino IDE to program the ESP32 using the ESP32 toolchain.
  3. Adafruit NeoPixel, NeoMatrix, GFX Library & WS2812 Protocol
      • Students will learn how to use the famous Adafruit libraries, together with ESP32, to control the WS2812 LED matrix, in order to display different kinds of content.
  4. Network Time Protocol (NTP)
      • Students will be provided with a code that uses NTP to display the current time. They will study the code and learn how to use NTP to obtain an accurate time from the internet.
  5. IoT Knowledge, HTTP Rest API & JSON
      • Students with prior programming experience can take their IoT clock to the next level by customizing it to display information from various sources. For example, they can connect a stock API to display the instant price of a particular stock.