Retro Memories 26
An addon originally imagined and intended to show some retro-inspired screensavers, while reusing some design from an RP2040 badge being designed in parallel.
As the design was being formed and test fit into PCB space, the shape wasn't working out square-like as hoped. The more rectangular shape created new inspiration. After testing what was possible on a development board, the work in progress needed to be scrapped and redone. The MCU was changed to RP2350, the board was made even smaller, and the artistic vision was split. This turned the singular focus board into 3 variants:
- Retro Tech
- Whiskey Pirates
- Ultra Compact
All three variants have different artwork but are otherwise functionally the same.
DEF CON 34 Deadlines
- Board Design: DONE
- Boards Manufactured: DONE
- Boards Delivered: YES 20260727
- Boards Finished: NO
- Nametag firmware started: BARELY ;(
- DooM firmware done: YES
- Mac firmware done: YES
Usage
Here's a quick and dirty overview. - Badge is powered from Type C or badge addon. - The official badge needs the addon mounted up-side down. Blame DEFCON.
BADGE MODE
- Mode is persistent.
- Viewing from the front of the addon:
- Press and hold upper right button while powering on to select Nametag / Screensaver personality.
- Press and hold lower right button while powering on to select Mac personality.
- Press and hold both right buttons while powering on to select DooM personality.
Nametag Controls
- Nametag wasn't done in time for DC34. It's only a screensaver for now.
- A random screensaver is selected at boot.
- Tap any button to change screensavers.
Mac Controls
- Tap the lower right hand button to toggle screen backlight reflection on/off.
- There are no controls over the Mac itself. This can come later if someone really wants to do something with it.
DooM Controls
- Requires a magnet to play.
- Works upside down for use on official DC34 badges.
- Left buttons switch weapons, or scroll up/down in the menu.
- Top right button acts as Escape key and enters the menu.
- Bottom right button acts as Enter key.
- Selects menu entires when the menu is open
- Toggles backlight reflection when menu is closed
- To move, use a magnet. You'll figure it out.
- Small Nd magnets work best.
- If movement foward/backward is backwards, flip your magnet over.
- To change strafe / turn mode, pull the magnet away, rotate it 90 degrees, then put back in range
- Operating Note: this is finicky.
- To turn left/right, you can rotate the addon clockwise / counter-clockwise.
- To open doors, pull the magnet away.
- To shoot, tap furiously on the badge.
- Be careful to not tap with your magnet hand, otherwise you may move when you don't want to!
Good luck getting past E1M1!
Firmwares
~~Two~~ Three firmwares exist for this addon:
-
Emulated Mac for After Dark (feature complete)
code found at trueControl/dc34-pico-mac-oled- Emulates a stripped down sorta Mac Plus-ish device
- Has just enough memory to run After Dark 2.0 on System 2.x
- Dev board tested at ~14-22mA power consumption
-
Magnet DooM
code found at trueControl/dc34-retro-doom-oled- Based off of DC32 fork of rp2040-doom
- Heavily modified to work with this addon
- Scaled, scanline-dithered graphics on the 1bpp OLED
- Reflected RGB backlighting support
- Control it with a magnet, tap on the device to fire
- Power optimized (as much as is able in short time frame)
-
Memory Nametag (feature incomplete)
code found at trueControl/dc34-rtc-wp-addon- Another port of the overused nametag firmware by true, now with 2x the resolution.
- Runs completely from RAM to save power.
- Contains an exhaustive menuing system for configuration.
- Adds some featuers to the nametag; see firmware link for details.
- Adds screensavers, both retro-inspired and original.
Hardware Specs
- RP2350A MCU
- Running at 48MHz nominal
- Enabled SRAM: 520K SRAM (pico-mac) / 264K SRAM (nametag)
- 4MiB Flash
- Mostly power optimized, as much as can be done quickly on RP2350
- Rear buttons
- 4x for control, menus, configuration
- 1x dedicated bootloader button
- 4x rear-firing RGBLED for badge and shirt accents
- 8KiB EEPROM for configuration storage
- Allows user to wipe firmware flash without affecting settings
- USB Type C for firmware uploading
- SC7A20H accelerometer
- AK09919C magnetometer
- Ambient light sensing
Things still untested
- Rear LED for ambient light detection
Schematic
Note
These should be accurate to the REV1 boards released at con, but there may be inaccuracies.
If the links don't work, check the source code repository for updated schematic link paths.