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 77-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
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.
Aus der Geräteliste können 3 Geräten den Zielen A, B und C zugeordnet werden
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.
Description
Languages
JavaScript
49.7%
C++
37.5%
Python
4.7%
CSS
3%
HTML
2.9%
Other
2.2%