Rotating Smart Shelf

Smart display shelf with three independent rotating platforms and dynamic LED rings. Controlled wirelessly via ESP32 + WiFi over a custom web application.

Introduction

In this project, we explore computing in its purest form. By foregoing the abstractions offered by microchips, integrated circuits and even logic gates, we develop an intuition and appreciation for the simplest building block underpinning modern computing - the transistor. Given that modern computers offer millions, sometimes billions of transistors inside a single chip, we will focus our efforts here on a simpler logic device with a much lower transistor count. The 3-bit counter is the perfect candidate. It has, as we will see, a relatively low transistor count, yet still posesses basic logical structures present in the most modern of computers. In this project, we will start with an overview and block diagram of a 3-bit counter, explore the bipolar junction transistor (BJT), build and simiulate a digital circuit, and finally design, assemble and test the circuit on a printed circuit board (PCB).

Design Goal

A WS218B chips is...

Functional block diagram
Figure 2.1 - Functional block diagram.

The functional block diagram in Figure 2.1 illustrates the flow of data between high-level logic blocks in the circuit. Most notable are the D flip-flops (three - one each for \(S_{0}\), \(S_{1}\) and \(S_{2}\)), next-state combinational logic blocks and the binary and decimal outputs. Note that to drive the decimal output via the 7-segment display, we need a '7-segment decoder' logic block to drive the necessary segments for each input number. Lastly, a clock pulse is provided to the three flip-flops to synchronise the system. We will explore how each of these blocks work in the following section.

Early Prototype

Designed in KiCAD with a compact form factor. I paid extra attention to:

Board top
Board bottom

Mechnical Design

  1. Hand-soldered all SMD resistors & capacitors.
  2. Placed BJTs and LEDs, checked orientation.
  3. Debugged early fan-out issues by increasing pull-ups.
  4. Cleaned with IPA and fitted into 3D-printed enclosure.

Electrical Design

Building logic from scratch taught me:

Software Design

Assembly and Testing

Building logic from scratch taught me:

Finished Design

Building logic from scratch taught me:

Conclusion

Building these LED Smart Glasses was...