Clocktridge
A custom SEGA Genesis/Megadrive cartridge that turns the console into a headless alarm clock with RTC, seven-segment displays, save RAM, buttons, and a buzzer.
My first actual Genesis/Megadrive project is the Clocktridge: a custom cartridge that turns the console into a headless alarm clock. It does not contain any additional microcontroller; the console itself is used as the processor. The blue displays did not come out very well on camera, but they look better in real life. 

It features 2 MB ROM, 8 KB FRAM, an RTC IC, eight seven-segment displays, four buttons, and a buzzer. The FRAM, RTC, displays, buttons, and buzzer are mapped to individual RAM locations. The buttons are connected to the lower 8 bits of the bus through a latch with output enable. The same buffer, in the opposite direction, is used for the displays. A BQ4802YPW is used to keep the time. The project also has a custom PCB. The first version had a design flaw: a missing pull-up on the RTC reset line. This was patched later and updated in version 1.1.


The side buttons can be mounted either vertically or sideways.
The cartridge also has a 3D printed case.






The software supports different display modes: time and date, time and weekday, alternating time/weekday/date, time with seconds, time and SEGA text, time only, or display off. It also has an alarm time and snooze function. The buzzer is mapped to one of the unused display dots. Due to a second design flaw, the buzzer sounds for a few seconds when the console is powered on; this is also fixed in version 1.1 with a power-on block for the buzzer. I added the display-off mode because the display was too bright at night. The display automatically turns on again when the alarm goes off, and pressing snooze briefly shows the time.






The Clocktridge opens up the possibility of adding real-time features to games, even if the console is powered off or reset. A version without display, using only ROM, FRAM, and RTC, is planned. For future extensions, parallel-to-I2C converter ICs such as the PCF8584T could make it possible to access I2C devices directly from the console, including temperature sensors, I2C FRAM, I2C RTCs, random number generators, gesture sensors, and more. The button interface could also be used to add more gamepads and make native four-player games possible.


It features 2 MB ROM, 8 KB FRAM, an RTC IC, eight seven-segment displays, four buttons, and a buzzer. The FRAM, RTC, displays, buttons, and buzzer are mapped to individual RAM locations. The buttons are connected to the lower 8 bits of the bus through a latch with output enable. The same buffer, in the opposite direction, is used for the displays. A BQ4802YPW is used to keep the time. The project also has a custom PCB. The first version had a design flaw: a missing pull-up on the RTC reset line. This was patched later and updated in version 1.1.



The side buttons can be mounted either vertically or sideways.

The cartridge also has a 3D printed case.







The software supports different display modes: time and date, time and weekday, alternating time/weekday/date, time with seconds, time and SEGA text, time only, or display off. It also has an alarm time and snooze function. The buzzer is mapped to one of the unused display dots. Due to a second design flaw, the buzzer sounds for a few seconds when the console is powered on; this is also fixed in version 1.1 with a power-on block for the buzzer. I added the display-off mode because the display was too bright at night. The display automatically turns on again when the alarm goes off, and pressing snooze briefly shows the time.







The Clocktridge opens up the possibility of adding real-time features to games, even if the console is powered off or reset. A version without display, using only ROM, FRAM, and RTC, is planned. For future extensions, parallel-to-I2C converter ICs such as the PCF8584T could make it possible to access I2C devices directly from the console, including temperature sensors, I2C FRAM, I2C RTCs, random number generators, gesture sensors, and more. The button interface could also be used to add more gamepads and make native four-player games possible.