OBP Keypad 6/1 ============== - Power supply via M12 connector through NMEA2000 - Input range 6-21 V - Configuration mode via long key press (>3 s) on DST - Deep sleep and reset can be activated from configuration mode - Configuration via web interface - Buzzer for key press feedback passive, allowing tones to be programmed via PWM - I²C temperature/humidity sensor SHT31 Later options - Brightness sensor, e.g. for automatic LED dimming Reassign pins?: I²C -> D0, D1 (GPIO 44, 43) Reorder LEDs: A0 to A5 for the 6 LEDs A6 as analog input for sensor A7 reserved - Version 2 - Seatalk 1 connector for Raymarine tiller pilot remote control - Version X, always optional - 2.9" ePaper display to show key assignments also means: much more complex enclosure To prevent the LEDs from being distracting, switching is possible between permanent illumination and only brief flashing on actuation: day and night mode Power-up sequence ---------------- - Status LED briefly lights up red - A “lamp test” is performed: all LEDs are cycled once - If all tests are successful, a buzzer signal sounds This is also a buzzer test Description ------------ The devices to be connected have to be selected via the web interface. An NMEA2000 device list page is available. The destination LEDs light up only if a corresponding N2K target device has been configured and detected. Enclosure --------- Button mounting hole 12mm Button outer diameter: 17.5mm Connection cable CPU board Connections ----------- Main PCB For power supply +12 V and NMEA2000 2pin terminal block To connect LED PCB JST 2.54 XH 7-pin connector -> LEDs + GND For I²C modules 2x 4pin-pin female headers qwiic-connector (JST_SH_BM04B-SRSS-TB_04x1.00mm) For CAN transceiver module 4-pin right-angle connector, female For mechanical buttons 8-pin terminal block, 7 buttons and GND LED PCB To connect LED pcb 7-pin JST-XH header (cable can also directly soldered to pcb) to connect optional light sensor 2-pin female connector right angle Notes ----- With the currently used pre-wired buttons, the connection wires are extremely delicate. Easy to break and poor workmanship. Better to use buttons without cables. Solid wire with 0.25 mm² seems best suited, both on the button side and for insertion into the terminal block. There are various variants with different spring forces. Final button selection still pending. MCU Nano pin assignment ----------------------- Wiki: https://www.waveshare.com/wiki/ESP32-S3-Nano The Nano has 30 pins. Power is supplied via VIN. According to the specification, 6 to 21 V may be applied there. Operation with 5 V is probably also possible. Do not use the 3.3 V pin. It is intended as an output! The mapping from Nano pins to GPIOs still needs to be verified. The Nano can be operated in two different mapping modes! KEY Color Pin Remarks ----- ------- -------- -------------------- 1 B D2 GPIO5 2 B D3 GPIO6 3 B D4 GPIO7 4 B D5 GPIO8 5 B D6 GPIO9 6 Y D7 GPIO10 DST Y D8 GPIO17 Destination, configuration LED Pin Remarks ------ ---------- ---------------------- A A0 GPIO1 B A1 GPIO2 C A2 GPIO3 RGB-R A3 GPIO4 RGB-G A6 GPIO13 RGB-B A7 GPIO14 CAN Pin Remarks ------ ---------- ---------------------- TX D9 GPIO18 RX D10 GPIO21 BUZZ Pin Remarks ------ ---------- ---------------------- TBD Bill of materials (WIP) ----------------- 1x ESP32-S3 Nano (Waveshare) berrybase.de eckstein-shop.de 6x black or white push buttons (1-6) 1x colored push button (DST) 1x M12 Micro-C panel connector pre-wired 1x RGB LED (common cathode), diffused 3x green LEDs, diffused 6x resistors 330 Ω 1x SN65HVD230 CAN transceiver 1x buzzer 12V, passive 1x MOSFET 2N7000 1x resistor 150 Ω 1x wiring set for buttons, 0.25 mm², 15cm each 8x black (GND) 7x colored (signal) 1x screw terminal block 2pol. 2.54mm 1x 3D enclosure consisting of front and back 1x nut tool, 3D-printed 4x mounting screws M4 countersunk 4x enclosure screws M2.5, long 8x PCB screws M2.5, short 1x silicone sealing cord 2 mm 1x SHT31 I²C module 1x female header 2.54 mm 1x pin header 2.54mm 2x jumpers 1x polyfuse 1x heat-shrink tubing Configuration ------------- WIP - Instance number; multiple keypads can exist in the system - Name of the paired devices (up to three); keys are sent to the selected device - Key codes for buttons 1 to 6 - Key codes for buttons 1 to 6 long pressed - Key names - Wifi setup NMEA2000 -------- No incoming packets are processed except for the mandatory ISO packets. As future extension there could be a feature to receive NMEA2000 alerts. A device list is maintained. From the device list, 3 devices can be assigned to targets A, B, and C. Key codes are sent to the currently active device. If a temperature/humidity sensor is present, the measured values are sent regularly onto the bus.