# HG changeset patch # User David Douard # Date 1604760550 -3600 # Node ID f4160af0485c85823d9e829bae2c00b00a2e6297 # Parent 6171b3d4e6b2b7ea3c0874d9f718ed37be95e825 Add a new HP34970A blog post: new front panel PCB diff -r 6171b3d4e6b2 -r f4160af0485c content/hp34970a_5.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/hp34970a_5.rst Sat Nov 07 15:49:10 2020 +0100 @@ -0,0 +1,228 @@ +========================================== + HP 34970A Data Acquisition Unit - part 5 +========================================== + +:Author: David Douard +:Category: Electronics +:Tags: HP, 34970A, HP34970A, DMM, repair, test equipment +:series: HP 34970A repair +:series_index: 4 + + +After a loooong pause on this project, I have recently been able to work on it +again. In `the previous post in this series <{filename}/hp34970a_4.rst>`_, I've +started to implement a replacement board prototype based on a an NUCLEO board +and an SSD1322-based OLED display. + +Meanwhile, I have also almost completely described the `communication protocol +<{filename}/hp34970a_protocol.rst>`_ between the main unit and the front panel. + +In this episode, I'll describe the next steps: make the circuit diagram and the +PCB for the replacement board. + + +Circuit diagram +=============== + +The circuit diagram is rather simple: + +- an STM32 MCU (I initially chose the `STM32F303RE + `_, + but finally used an STM32F303RD just because the former was out of stock when + I made my command at mouser.) I wanted an STM32 MCU with USB support and + reasonnable amount of flash and ram just not to have to worry about these + while writing the firmware. + +- a 8MHz crystal so the clock config used on NUCLEO boards can be used as is. + +- a step-down DC-DC converter to go from the +18V coming from the main unit + to +5V to power the OLED display and the some chips on the board; I've chosen + a `TPS560430 `_ from TI, + +- a 5V->3.3V LDO regulator to power the MCU, an `MCP1811AT-033 + `_ by Microship, + +- a level shifter for the communication lines bertween the MCU and the main + unit (5V vs. 3.3V logic). For this, instead of going through individual + Mosfet transistors, I've chosen the `LSF0204PWR + `_ from TI, to simplify a bit the + assembly (this chip really is not much more than a bunch of transistors in a + TSOP package). + +Here is the diagram I ended up with: + +.. image:: {static}/images/hp34970a/replacement-front-panel-schematic.svg + :alt: Schematic for a replacement front panel for the HP 34970A + :class: image-process-large-photo + +PCB design +========== + +I've used librecad_ to draw the edge profile of the PCB, after having carefully +measured the broken PCB, and a kicad plugin to generate nice keypad footprints. +(I had to adjust the generated footprint by hand to make it more usable.) + +The end result looks like: + +.. image:: {static}/images/hp34970a/front_panel_replacement_pcb_3d.png + :alt: 3D view of the PCB for a replacement front panel for the HP 34970A + :class: image-process-large-photo + +The 2 buttons on the left are the Reset and the DFU boot mode. The header on +the right is the SWD port. + +After a few days, the PCB arrived (from the usual places): + +.. image:: {static}/images/hp34970a/bare_pcb_front.jpg + :alt: the PCB for a replacement front panel for the HP 34970A + :class: image-process-large-photo + +And it fits just fine in the front panel enclosure: + +.. image:: {static}/images/hp34970a/pcb_test_fit.jpg + :alt: test fit of the PCB for a replacement front panel for the HP 34970A + :class: image-process-large-photo + + +Unfortunately, I made a few mistakes in this design (see below) bit I also made +the big mistake of swaping the marking of R11 and R12, which defined the +feedback divider setting the output voltage of the DC-DC converter. As a +result, I fried a LDO and a STM32F303RD chips! + +But once replaced correctly, is began to work: + + +.. image:: {static}/images/hp34970a/pcb_dfu_connection.jpg + :alt: test USB connection in DFU mode + :class: image-process-large-photo + +After installing the OLED display and adjusting the previous verison of the +code (which was designed for the NUCLEO F446RE board), I could compile it for +my custom board and make it run: + +.. image:: {static}/images/hp34970a/pcb_first_test.jpg + :alt: test of the display circuit + :class: image-process-large-photo + +Firmware design +=============== + +At this point, I tried to make the CDC USB driver work on the board, but I +failed to do so. I realized that the USB stack is `actually missing +`_ for this MCU +in MBed OS 6. (update: there is a `PR +`_ waiting to be accepted and +merged to improve support for the STM32F303 family). + +Unfortunately, I could not make the debug pin of the SWD port work either. I +can upload a new firmware juste fine via this SWD port (in addition to the DFU +mode via USB), but I have been ablt tuse the SWO ping to get a console to see +print statements. + +In last resort, I ended up soledring thin enameled wired directly on the MCU's +pin to get access to of the available UARTs as console/debugger. + +At least this worked just fine, and I could then work on the code much more +easily. + +I also had to use my DSLogic logic analyzer to debug a few things and get to a +point that make the front panel usable: + +.. peertube:: cc6f4327-703f-42f6-8157-03cd0a987387 + +In this version of the code are many remaining problems, the biggest one being +the fact the display flickers a lot. In the code of the formware, I have a +"frame"-buffer in which the main loop draw the information to be displayed, and +a thread that copy this buffer to the actual display once every 30ms. And in +the first version display above, there was no DMA involved in tranferring the +buffer into the display unit. + +Activating the DMA did help a bit, but was not enough to get rid of the +glitches. The real problem was there was no lock around that buffer, so the +display refresher thread was making the transfer at any time, including in the +middle of the drawing proceure. Adding a lock around this buffer finally fixed +the problem. + +Another problem I had in the first version of the firmware was the fact a +keypress event could be sent to the main unit during a transmission of a packet +by this later, which mess the transmission protocol quite a bit. This problem +is now (mostly, not 100% sure there is no edge case left) fixed. + +Here is an example of this situation occuring (screenshot of a `PulseView +`_ session): + +.. image:: {static}/images/hp34970a/packet-collision.png + :alt: transmission collision + :class: image-process-large-photo + +In the example above, one can see the front panel is starting a transmission +(sends a 0x66 on the RX line), but while this byte is being sent, the 0x66 +start of transmission byte is also sent by the main unit. + +Not sure yet how to fix this, either by making sure that this situation does +not occur (which is most unlikely not feasible), or by impriving the transmission +protocol handling state machine in my firmware to be aware that this may happen +and be resilient against it. + +But in the end, I've now reach a point where the firmware begins to be really +usable: + +.. peertube:: 172bf449-eba7-4429-8840-ab9b2d5398f8 + + + +Design errors +============= + +Making this circuit I made a few mistakes and errors. + +Wrong MCU +--------- + +I've not paid enough attention when I chose the MCU. The STM32F303RE I chose is +more then fine on a specifications point of view, however, since I am writing +the formware using MBedOS, I did pay attention that the USB FS stack is not yet +supported for this MCU on MBed OS 6. + +My initial idea was to provide a serial communication protocol with the front +panel to be able to upgrade the firmware easily or get the current display +content, but this is for now not possible. Will have to stick to GPIB for now. + + +No proper USB VBUS handling +--------------------------- + +I decided not to connect the VBUS power line from the USB socket, but it would +have made my life a bit easier to connect it via the usual protection, so the +testing / uploading the firmware could have been a bit easier until the front +panel wasa plugged back to the main unit. + +Even so, it would be nice to be able to upgrade the firmware without having to +plug the whole unit. + +The real problem of not having connected the VBUS signal is USB detection. If I +want to be able to implement a USB connection, I need to be able to detect +wether the USB connector is plugged, and the simplest way of doing that is to +detect the presence of the VBUS signal. + +No diagnostic/status LED +------------------------ + +I should have added a few diagnostic/status LEDs: there are plenty of GPIO left +unused on the MCU, having those visble indocators is alway handy. + +No extra UART +------------- + +I should have routed at least one unused UART from the MCU to a pair of +headers: it way easier not to populate such a header than to hack small wires +directly on the MCU tget a decent console port... + + + + + + + + +.. _librecad: https://github.com/LibreCAD/LibreCAD diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/bare_pcb_front.jpg Binary file content/images/hp34970a/bare_pcb_front.jpg has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/front_panel_replacement_pcb_3d.png Binary file content/images/hp34970a/front_panel_replacement_pcb_3d.png has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/packet-collision.png Binary file content/images/hp34970a/packet-collision.png has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/pcb_dfu_connection.jpg Binary file content/images/hp34970a/pcb_dfu_connection.jpg has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/pcb_first_test.jpg Binary file content/images/hp34970a/pcb_first_test.jpg has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/pcb_ok1.jpg Binary file content/images/hp34970a/pcb_ok1.jpg has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/pcb_splashscreen.jpg Binary file content/images/hp34970a/pcb_splashscreen.jpg has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/pcb_test_fit.jpg Binary file content/images/hp34970a/pcb_test_fit.jpg has changed diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/protocol_rx.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/images/hp34970a/protocol_rx.svg Sat Nov 07 15:49:10 2020 +0100 @@ -0,0 +1,348 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + 0x66 + 0x99 + 0x00 + CMD + LEN + 0x00 + D0 + D1 + ... + + Dn + 0x55 + 0x00 + 0x00 + 0x00 + ... + 0x00 + Rx + Tx + + diff -r 6171b3d4e6b2 -r f4160af0485c content/images/hp34970a/replacement-front-panel-schematic.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/images/hp34970a/replacement-front-panel-schematic.svg Sat Nov 07 15:49:10 2020 +0100 @@ -0,0 +1,30064 @@ + + + +SVG Picture created as hp34970.svg date 2020/11/06 00:06:37 + Picture generated by Eeschema-SVG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + + + +2 + + + + + +3 + + + + + +4 + + + + + + +5 + + + + + +6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + + + +2 + + + + + +3 + + + + + +4 + + + + + + +5 + + + + + +6 + + + + + + + + + + + + + + + + + + + + +A + + + + + + +B + + + + + +C + + + + + +D + + + + + + + + + + + + + + + + + + + + +A + + + + + + +B + + + + + +C + + + + + +D + + + + + +Date: 2020-09-24 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KiCad E.D.A. kicad 5.1.8+dfsg1-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Rev: + + + + + + + + + + +Size: A4 + + + + + + + + + + + + + + + +Id: 1/1 + + + + + + + + + + + + + + + + + + + +Title: HP34970A Front Panel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +File: hp34970.sch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sheet: / + + + + + + + + + + + + + + +David Douard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + +R12 + + + + + +22.1k + + + + + + + + + + + + + + + + + + + + + + + +R11 + + + + + + +88.7k + + + + + + + + + + + + + + + + + + + + + + + +L1 + + + +8.2uH + + + + + + + + + + +150mOhm + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R18 + + + + + +10k + + + + + + + + + + + + + + + + + + + + + + + + + + +C6 + + +1u + + + + + + + + + + + + + + + + + + + + + + + + +C1 + + + +4.7u + + + + + + + + + + + + + + + + + + + + + + +C7 + + +10n + + + + + + + + + + + + + + + + + + + + + +C3 + + +100n + + + + + + + + + + + + + + + + + + + + + + +C2 + + +100n + + + + + + + + + + + + + + + + + + + + + + +SW21 + + + + + +RESET + + + + + + + + + + + + + + + + + + + + + + + + + +SW22 + + + + +DFU + + + + + + + + + + + + + + + + + + + + +C17 + + + + +100n + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + + + + +C11 + + + + + +15u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + +10 + + + + +11 + + + + + +12 + + + + +2 + + +3 + + +4 + + + +5 + + +6 + + +7 + + +8 + + +9 + + + +J1 + + + +Conn_01x12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A + + + +B + + +C + + + +SW19 + + + + + +Rotary_Encoder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + +R17 + + + + + +10k + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + + + + +C16 + + + + +10u + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + + +SW16 + + + + + + + + + + + + + + + + + + + + + + + +SW15 + + + + + + + + + + + + + + + + + + + + + + + +SW14 + + + + + + + + + + + + + + + + + + + + + + + + +SW13 + + + + + + + + + + + + + + + + + + + + +R16 + + + + + +294k + + + + + + + + + + + + + + + + + + + +CB + + + + +1 + + + + + +GND + + + + + +2 + + + + +FB + + + + + +3 + + + + +EN + + + + + +4 + + + + + +VIN + + + + + +5 + + + + +SW + + + + +6 + + + +IC1 + + + + +TPS560430YFDBV + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +C10 + + + + +4.7u + + + + + + + + +3mOhm + + + + + + + + + + + + + + + + + + + + + + + + + + +C9 + + +100n + + + + + + + + +64mOhm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + +10 + + + + +11 + + + + + +12 + + + + +13 + + + + +14 + + + + + +15 + + + + +16 + + + + +2 + + +3 + + +4 + + + +5 + + +6 + + +7 + + +8 + + +9 + + + +J3 + + +Conn_02x08_Odd_Even + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R5 + + + +1k + + + + + + + + + + + + + + + + + + + + + +C5 + + +100n + + + + + + + + + + + + + + + + + + + + + +R2 + + + +1k5 + + + + + + + + + + + + + + + + + + + + + +R4 + + + + +1k5 + + + + + + + + + + + + + + + + + + + + + +R3 + + + +1k + + + + + + + + + + + + + + + + + + + + +R6 + + + +1k5 + + + + + + + + + + + + + + + + + + + + + +R1 + + + + +1k + + + + + + + + + + + + + + + + + + + + +R14 + + + + + + +750k + + + + + + + + + + + + + + + + + + + + + +R15 + + + + + +100k + + + + + + + + + + + + + + + + + + + + + + +R10 + + + + + +1.5k + + + + + + + + + + + + + + + + + + + + + + + + + +SW8 + + + + + + + + + + + + + + + + + + + +C13 + + + + +100n + + + + + + + + +30mOhm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VBUS + + + + + + +1 + + + + + +D- + + + + +2 + + + + +D+ + + + + + +3 + + + + +ID + + + + +4 + + + + + +GND + + + + + +5 + + + + +SHIELD + + + + + + + + + + + +S1 + + + + + + +SHIELD + + + + + + + + + + + +S2 + + + + +J2 + + +USB_B + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + + + +1 + + + + + + + + +2 + + + + + + + +3 + + + + + + + +4 + + + + + + + + +Y1 + + + + +8MHz + + + + + + + + + + + + + + + + + + + + + + +C14 + + + + + +18p + + + + + + + + + + + + + + + + + + + + + +C4 + + + +100n + + + + + + + + + + + + + + + + + + + + + + +C15 + + + + +18p + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VBAT + + + + + + + + + + +1 + + + + + + +PC2 + + + + + +10 + + + + + + +PC3 + + + + + +11 + + + + + + + + +VSSA + + + + + + + + + +12 + + + + + + + + +VDDA + + + + + + + + + +13 + + + + + + + +PA0 + + + + + + +14 + + + + + + + +PA1 + + + + + + + +15 + + + + + + +PA2 + + + + + + +16 + + + + + + +PA3 + + + + + + +17 + + + + + + + +VSS + + + + + + + +18 + + + + + + + + +VDD + + + + + + + +19 + + + + + + + +PC13 + + + + + + + +2 + + + + +PA4 + + + + + + + +20 + + + + + +PA5 + + + + + + +21 + + + + + + +PA6 + + + + + + +22 + + + + + +PA7 + + + + + + +23 + + + + + +PC4 + + + + + + +24 + + + + + + +PC5 + + + + + +25 + + + + + +PB0 + + + + + +26 + + + + + +PB1 + + + + + + +27 + + + + + +PB2 + + + + + +28 + + + + + +PB10 + + + + + + + +29 + + + + + +PC14 + + + + + + + + +3 + + + + +PB11 + + + + + + + + +30 + + + + + + +VSS + + + + + + + +31 + + + + + + + + +VDD + + + + + + + +32 + + + + + + +PB12 + + + + + + + +33 + + + + + +PB13 + + + + + + + +34 + + + + + + +PB14 + + + + + + + + +35 + + + + + +PB15 + + + + + + + +36 + + + + + +PC6 + + + + + +37 + + + + + +PC7 + + + + + +38 + + + + + +PC8 + + + + + +39 + + + + + +PC15 + + + + + + + +4 + + + + + +PC9 + + + + + +40 + + + + + + +PA8 + + + + + + +41 + + + + + + + +PA9 + + + + + + +42 + + + + + + +PA10 + + + + + + + + +43 + + + + + + +PA11 + + + + + + + + + +44 + + + + + + + +PA12 + + + + + + + + +45 + + + + + + +PA13 + + + + + + + + +46 + + + + + + + +VSS + + + + + + + +47 + + + + + + + + +VDD + + + + + + + +48 + + + + + + + +PA14 + + + + + + + + + +49 + + + + + + +PF0 + + + + + + +5 + + + + +PA15 + + + + + + + + +50 + + + + + +PC10 + + + + + + + +51 + + + + + + +PC11 + + + + + + + + +52 + + + + + +PC12 + + + + + + + +53 + + + + + +PD2 + + + + + +54 + + + + + + +PB3 + + + + + +55 + + + + + +PB4 + + + + + + +56 + + + + + +PB5 + + + + + +57 + + + + + +PB6 + + + + + +58 + + + + + +PB7 + + + + + +59 + + + + + +PF1 + + + + + + + +6 + + + + +BOOT0 + + + + + + + + +60 + + + + + +PB8 + + + + + +61 + + + + + + +PB9 + + + + + +62 + + + + + + +VSS + + + + + + + +63 + + + + + + + +VDD + + + + + + + +64 + + + + + + + +NRST + + + + + + + + +7 + + + + +PC0 + + + + + +8 + + + + +PC1 + + + + + + +9 + + + +U2 + + +STM32F303RDTx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + + +SW5 + + + + + + + + + + + + + + + + + + + + + +SW11 + + + + + + + + + + + + + + + + + + + + + + + + +SW2 + + + + + + + + + + + + + + + + + + + + + +SW7 + + + + + + + + + + + + + + + + + + +R19 + + + + + +22 + + + + + + + + + + + + + + + + + +R20 + + + + +22 + + + + + + + + + + + + + + + + + + + + +SW10 + + + + + + + + + + + + + + + + + + + + + + + +SW1 + + + + + + + + + + + + + + + + + + + +R21 + + + + + +22 + + + + + + + + + + + + + + + + + + + + +SW3 + + + + + + + + + + + + + + + + + + +R22 + + + + +22 + + + + + + + + + + + + + + + + + + + + +SW12 + + + + + + + + + + + + + + + + + + + + + + + +SW6 + + + + + + + + + + + + + + + + + + + + + +SW9 + + + + + + + + + + + + + + + + + + + + + +SW20 + + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + + +SW4 + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + +2 + + +3 + + +4 + + + +5 + + +6 + + + +J4 + + + +SWD + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + +GND + + + + + + + + + + + + + + + + + + + + +VREF_A + + + + + + + + + + + + +1 + + + + + +B4 + + + + + +10 + + + + + + +B3 + + + + +11 + + + + + + + +B2 + + + + +12 + + + + + + +B1 + + + + + +13 + + + + + + +VREF_B + + + + + + + + + + + +14 + + + + + + + +A1 + + + + + + +2 + + + + +A2 + + + + + +3 + + + + +A3 + + + + + +4 + + + + + +A4 + + + + + + +5 + + + + +GND + + + + + +7 + + + + +EN + + + + + +8 + + + +U1 + + + +LSF0204PWR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VIN + + + + + +1 + + + + + + +GND + + + + + + + +2 + + + + + +EN + + + + + +3 + + + + +VOUT + + + + + + + +5 + + + +U3 + + +MCP1811AT-033_OT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +C8 + + +10u + + + + + + + + + + + + + + + + + + + + + + + +SW18 + + + + + + + + + + + + + + + + + + + + + + + +SW17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KP_R0 + + + + + + + + +DSP_SCLK + + + + + + + + + + +BFPDI + + + + + + +KP_C0 + + + + + + + +D+ + + + +KP_R3 + + + + + + + + +KP_R2 + + + + + + + + +KP_R1 + + + + + + + + + +SWO + + + +VDD + + + +KP_C4 + + + + + + + + +KP_C3 + + + + + + + +KP_C3 + + + + + + + +KP_C1 + + + + + + + + +KP_C2 + + + + + + + +SWCLK + + + + + + + +SWDIO + + + + + +KP_C2 + + + + + + + +VDD + + + +DSP_DC + + + + + + +~DSP_RST + + + + + + + + + + + + + + + + +DSP_CS + + + + + + ++5V + + + + +DSP_DC + + + + + + ++18V_FLT + + + + + + + + + + + + +KP_C0 + + + + + + + +~DSP_RST + + + + + + + + + + + + + + + + +DSP_CS + + + + + + +DSP_DI + + + + + + ++5V + + + + ++5V + + + + +SWO + + + +NRST + + + + + + +NRST + + + + + + +SWCLK + + + + + + + +SWDIO + + + + + +TXD + + + + + +KP_C1 + + + + + + + + ++5V + + + + +FIL2 + + + + + +BFPDO + + + + + + +FPREF + + + + + + + + + +BFPRST + + + + + + + + + +BFPDI + + + + + + ++3.3V + + + + + + +RST + + + + + +FPSTBY + + + + + + + + + +VDD + + + +VDD + + + ++3.3V + + + + + + +KP_C4 + + + + + + + + +RXD + + + + + +TXD + + + + + ++3.3V + + + + + + +DSP_DI + + + + + + +MISO + + + + +DSP_SCLK + + + + + + + + + + +RST + + + + + +BFPRST + + + + + + + + + +VDD + + + +BFPDO + + + + + + +RXD + + + + + +RE_A + + + + + + + +KP_R1 + + + + + + + + + +KP_R0 + + + + + + + + +KP_R2 + + + + + + + + +VDD + + + +KP_R3 + + + + + + + + ++5V + + + + +D- + + +D+ + + + +VDD + + + +RE_B + + + + + + +RE_A + + + + + + + +RE_B + + + + + + +GND_FLT + + + + + + + + + +GND_FLT + + + + + + + + + +GND_FLT + + + + + + + + + +D- + + +-18V_FP + + + + + + + + + +FPSTBY + + + + + + + + + ++3.3V + + + + + + ++18V_FLT + + + + + + + + + + + + +FIL1 + + + + + + + + +18V (in) + + + + + + + + + + +Main unit connector + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Level converter (5V <-> 3.3V) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +USB port (DFU, UART) + + + + + + + + + + + + + + + + + + + + + + + + +SWD port + + + + + + + + + + +OLED display (SSD1322, 256x64, SPI) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5V -> 3.3V (150mA) + + + + + + + + + + + + + + + + + + + +Power supplies + + + + + + + + + + + + + + + + + + +18V -> 5V (500mA) + + + + + + + + + + + + + + + + + + +Rotary encode + + + + + + + + + + + + + + + + + + + +Keypad + + + + + + + + + + + + +USB + + + +=> OLED display + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +