Skip to content

Hardware

Erich Styger edited this page Nov 15, 2021 · 9 revisions

This part describes the hardware.

Shared project on PCBway

The hardware is available in shared projects on PCBWay including the BOM, so you can ask for an assembly quote.

Connection between Motor PCB and MCU PCB

Because of an error in the layout, the B3-B4 and A3-A4 pins on the connector are swapped and not in the right order. With this, the motors are turning with some extra noise. This can be solved with a workaround: When wiring the Motor PCB with the MCU PCB, swap the x3-x4 pins in the cable, as shown in the image below. Do this for both connections (Motor 3o and Motor 2i).

Master

You need a master to control all the clocks. It is possible to use the NXP LPC845-BRK with breadboard components, but this one will quickly run out of FLASH and RAM. The tinyK22 Master board is recommended as it has more FLASH and RAM. It is compatible with the NXP FRDM-K22F Board.

Buttons

There is optional support for push buttons. This allows to configure the system without USB or wireless connction.

LPC845-BRK User Button

On the LPC845-BRK there is a 'user button'. See white button on the image below:

See Unboxing the NXP LPC845-BRK Board for details about the board. This button can be used if the PL_CONFIG_HAS_BUTTONS is enabled:

  • short press: toggles the clock on or off
  • long press: toggles the clock parking (on or off)

Navigation Switch

The firmware supports a '7-way' navigation switch with up, down, left, right, middle, set and reset.

Such breakout boards are available on Alixpress and other vendors.

To support the navigation switch both PL_CONFIG_HAS_BUTTONS and PL_CONFIG_HAS_SWITCH_7WAY needs to be enabled. Below is the default connection of the pins. See the file buttons_config.h for the actual pin assignments.

The switch is used to set the time on the clock:

  • RST: enter change mode and disables clock. Cursor is on the minute (right-most digit)
  • LFT: move cursor to the digit on the left, will wrap-around
  • RHT: move cursor to the digit on the right, will wrap-around
  • UP: increase digit
  • DWN: decrease digit
  • MID: no functionality
  • SET: store time and enable clock

Realtime Clock Breakout Board

To keep the time/date a battery buffered RTC breakout board can be used.

RS-485 Breakout

The Sparkfun RS-485 Breakout board needs to be modified with resitors, see Behind the Canvas: Making of “60 Billion Lights.