I admit it: I'm a total geek. I love electronics, programming, 3D printing, 3D art, and vintage Apple hardware. I'm always juggling half a dozen projects. I also enjoy documenting it all: my successes, my failures, my experiences... and everything geeky along the way.

GPS Clock Prototyping, Part IV | Kevin Rye.net - Main

Kevin Rye

Geek Extraordinaire. Yeh, I said it.

GPS Clock Prototyping, Part IV

If you’ve been following along, I last left off my GPS Clock prototype with deciding to use a 5-way switch the fully control the clock’s menu system.

5wayjoystick_0009 8

Removing the rest of the buttons required a re-write of the menu system. I first needed to map the whole thing out in order to better visualize what options the menus would use, and what actions would be allowed in each menu.

I created a spreadsheet to map it all out.

clock menu structure

It was then a matter of translating that into code.

Pressing the SELECT button on the 5-way switch brings up the MAIN menu. From there, I can navigate to the TIME OFSET, ALARM, GPS, and SAVE menus. The cursor on the left moves up and down with the navigation buttons to indicate the menu choice selected. Pressing the center button selects the menu. All the menus now have an EXIT choice on the bottom left.

newMenu_0008 8

The CLOCK menu: From here I can specify the time zone offset as well as Daylight Savings.

newMenu_0007 7

The ALARMS menu: From here I can set the alarm time, activate/deactivate the alarm, and enable/disable the Chime on the Hour option.

newMenu_0006 6

The GPS menu: From here I can see all the raw data coming from the GPS module. Pressing the down arrow scrolls through all the data, including longitude, latitude, and satellites. Once the cursor reaches the bottom, it will jump to the SYNC option from where I can do a manual sync. A confirmation is given after which the cursor then jumps to the EXIT option so I can quickly get out of the menu.

newMenu_0005 5

The SAVE menu: From here I can either save all my settings or restore them back to the defaults.

newMenu_0004 4

A confirmation is also given.

newMenu_0003 3

Any time an EXIT choice is made within a menu, I’m returned back to the MAIN menu.

I think the menu came out pretty nice. It’s easier to navigate and everything seems to be where you’d expect it.

I think all that’s left to do is design the PCB.

See this project from start to finish:
GPS Clock Prototyping, Part I
GPS Clock Prototyping, Part II
Arduino Mega 2560
GPS Clock Prototyping, Part III
GPS Clock Prototyping, Part IV
GPS Clock Prototyping, Part V
GPS Clock Assembly, Part I
GPS Clock Assembly, Part II
GPS Clock Assembly, Part III
GPS Clock Assembly, Part IV
GPS Clock Rework - Ditching the Joystick, Part I
GPS Clock Rework - Ditching the Joystick, Part II
GPS Clock Rework - Ditching the Joystick, Part III