![[626F539F-AEFB-4B25-90F3-DE7E7A2186CE_1_105_c.jpeg]] _4x6" prototype_ # Goals 1. Mostly-automated generation of map PCBs 1. Map designer web app 2. KiCad scripts for initial layout (start with template project) 3. Routing and finishing by hand 2. Reusable controller board 1. Surface-mount system-on-module 1. Castellated pins 2. Usable standalone by hackers 1. BYO power and LEDs 2. Breadboard-friendly pins # TODO ## Map designer - [ ] Unify various Python scripts (simplify the steps in the data flow) - [ ] Find good printing service for 8x10s with known good dimensions ## Firmware - [x] Add serial commands - [ ] Save settings to external EEPROM - [ ] Improve status LED behavior during boot - [x] Read serial numbers from DS2401Z - [ ] Check for firmware updates (GET a text file) - [ ] Fix lockup when saving in setup mode ## Controller hardware - [x] Remove knobs + switches (no through-hole remaining) - [x] Add pushbutton(s) - [x] Setup - [x] Brightness up? - [x] Brightness down? - [ ] Add status neopixel? - [x] Add solder jumper to optionally tie VBUS to VLED - [ ] Add [castellated pins](https://jlcpcb.com/blog/castellated-pcbs-introduction-and-design-requirements) - [ ] For standalone usage - [ ] Add 3-pin header for LEDs - [ ] Add barrel jack # Reference [Arduino-Pico — Arduino-Pico 4.4.2 documentation](https://arduino-pico.readthedocs.io/en/latest/) [Raspberry Pi RP2040 — PlatformIO latest documentation](https://docs.platformio.org/en/latest/platforms/raspberrypi.html) # Power consumption Max current for USB: **500 mA** | LEDs | Brightness | Current | Power | | ---- | ---------- | ---------- | ------ | | 220 | 10% | 200 mA | 1.05 W | | 220 | 50% | 361 mA | 1.85 W | | 220 | 70% | 470 mA | 2.40 W | | 220 | 100% | ==650 mA== | 3.25 W | # LED power trace widths [Trace Width Calculator \| AdvancedPCB](https://www.advancedpcb.com/en-us/tools/trace-width-calculator/) 1 Amp, 1 oz, 10° rise, 25° ambient, 2 inch trace length => 0.3 mm trace width => round up to 0.5mm