Skip to content

Latest commit

 

History

History
117 lines (84 loc) · 6.28 KB

README.md

File metadata and controls

117 lines (84 loc) · 6.28 KB

Hardware

HighlightsBoard assembly3D printed caseFinal assemblyModifications

Schematics and PCB design

A couple of mentions to design considerations:

  • The capacitors were used in a previous design to add some debouncing. In the current rotary encoder used, these capacitors are already include and are not soldered anymore
  • With the exception of some SPI pins for the display and the fact that the light sensor needs an analog input, which pins to use on the ESP32 board should is actually a very free decision
  • The design was made using EasyEDA and the created GERBER files and the board manufactured by JLCPCB. This is the result:

Board assembly

Display connector removal

The big connector on the rear side of the display is not needed and needs to be removed in order to build the board properly. Just cut the the pins with some pliers and then you can slide out the connector:

Soldering all together

  1. Solder the 1x8 pin male header on the display and 2 additional 1x1 ones as support. You can use the still empty PCB board as a holder:

  1. Solder a 1x3 90° pin male header on the light sensor breakout board. Pay attention to the orientation!

  1. Solder all components to the PCB board and trim the excess length of the pins to make room for the display board

  1. Solder the display on the other side of the board.

  1. Prepare a connection cable with 5 pins for the connection between the board and the rotary encoder breakout. Again, I used dupont connectors for this:

  1. If necessary, change the connector of the mini-speaker. I used dupont connectors for this:

  1. After that it would be a good time to do a sanity check and connect everything together, flash the SW into the board and check whether everything is working as expected:

3D printed case

STL files for the case, the rear cover and the knurled rotary botton are available:

I printed these with PLA using an Ender 3 v2. Pay attention to the orientation when slicing: the clock front side, the outside face of the rear cover as well as the top face of the button should be your first layer. You may use supports for the big case, I didn't use any and it went ok.

You can find the original Fusion 360 files in the 3D folder as well.

Final assembly

  1. Put an SD card with the necessary audio files. See Waking melodies and other settings chapter of the main README for more instructions.
  2. Slide in the finished board and screw it into the case using 4 M2.5x8 screws

  1. Attach the ESP32 antenna on one side of the case and connect it to the board

  1. Connect the cables to the rotary encoder and slide it into its place. Put the washer and hex nut and tighten it. Make sure it is perpendicular. Insert the button into the shaft

  1. Attach the speaker on the rear cover. Pay attention to the orientation, since the rear cover has an upper and a lower part and you want the cables coming out of the lower part. It should be a tight fit into the pins, otherwise use some strong glue to make sure it stays attached

  1. Connect everything together sure everything is connected

  1. Close the cover using 4 M2x4 screws

Modifications

The components used are just what I could get my hands on or what made sense to me. Here some considerations:

  • It should be possible to use any other ESP32 board. The previous version used the ESP-C3-32S-Kit ESP32 WiFi+Bluetooth Development Board. You just need to make sure that you have at least 11 pins available. The pin assignments defined in clock_common.hpp will most likely need an adjustment. If you take a variant different from the ESP32C3 you might require more extensive changes as well
  • Other LCD displays could work as well, specially if the same ILI9341 driver is used, but maybe other settings are required. Since the used library LovyanGFX supports a lot of different displays, changing to another display is just a matter of adjusting the configuration and, if the resolution changes, the layout (font sizes, symbol and text positions)
  • In general any other component like the rotary encoder, speaker or the light sensor should be exchangeable with no or little effort