====== PICO7 ====== ---- dataentry project ---- status_state: active maintainers: stb, amzi duration_effort: weeks ---- Reverse Engineering des PICO7, um die Sperre zu verstehen und ggf. aufheben zu können. ====== Linkliste ====== ===== IC Markierungen ===== ==== Identifiziert ==== **L151K6** (32 Pins) STM8-Microcontroller, 32 Kbyte Flash, 1 Kbyte EEPROM, 2 Kbyte RAM\\ https://www.st.com/resource/en/datasheet/stm8l151k6.pdf **IS25LP016D** (8 Pins) 16 Mbit / 2 MByte SPI-Flash\\ https://www.issi.com/WW/pdf/25LP-WP016D.pdf **LMP223 4BMT** (14 Pin) Quad-Operationsverstärker\\ https://www.ti.com/lit/gpn/lmp2234 ==== Funktion ==== **PP02 L73V** (6 Pins) Drucksensor (analog?) **NLAS 4684 GAPR** (10 Pins) 2-Fach-Analog-Switch als Controller für die Pumpe\\ https://www.onsemi.com/pdf/datasheet/nlas4684-d.pdf Die Vakuumpumpe arbeitet vermutlich nach dem Schwinganker-Prinzip - ähnlich einem Lautsprecher gibt es eine beweglich aufgehängte Spule in einem fest montierten Dauermagneten (siehe auch Warnung vor einem Magnetfeld in der Bedienungsanleitung). Der weiße Aufkleber auf einer der Pumpenseiten ist integraler Bestandteil und für die Funktion notwendig, da sich darunter die "Fluid"-Kanäle befinden. Zur Ansteuerung der Pumpe ist es ausreichend, das Magnetfeld der Spule regelmäßig umzupolen, daher der eher einfache 2-Fach-Analog-Switch.\\ https://de.wikipedia.org/wiki/Schwingankerpumpe **BDT 18F S34R** (10+4 Pins) Batteriecontroller mit DC-DC Converter (2x AA Zellen = 2.2-3.1V Eingangsspannung, 1.8V Ausgangsspannung?) ===== Datenblätter ===== * https://www.ti.com/lit/ds/symlink/lmp2234.pdf?ts=1708462416409&ref_url=https%253A%252F%252Fwww.mouser.de%252F * https://www.st.com/en/microcontrollers-microprocessors/stm8l151k6.html#documentation ===== Fotos ===== {{:club:projekte:pico7-pcb-front.jpg?400|}}{{:club:projekte:pico7-pcb-rear.jpg?400|}} Side by side {{:club:projekte:pico7-pcb-sidebyside-a.jpg?400|}} {{:club:projekte:pico7-pcb-sidebyside-b.jpg?400|}} ===== Schnittstellen ===== === LED Anzeigen === Die vier LEDs haben folgende Bedeutung: {{:club:projekte:leds.jpg?300|}} === Federkontaktpads === Auf der Rückseite befindet sich eine von außen zugängliche, hinter der Batterieklappe verborgene Schnittstelle. Sie kann mit Federkontaktpins durch Löcher im Gehäuse hindurch kontaktiert werden. {{:club:projekte:pico7-interface.jpg?200|}} ^ Pad^ Signal^ | 5 | | | 4 | | | 3 | | | 2 | RST | | 1 | GND | Die Leiterkarte ist ein Multilayer, daher würde es helfen, die Pads bis zum Mikrocontroller einmal mit dem Multimeter durchzuklingeln. ===== Produktcodes, Marks und Zertifizierungen ===== Die Leiterkarte weist ein "RU" UL Registered Component Logo auf. Da das Produkt ebenfalls in den USA verkauft wird, ist für die Produktsicherheit eine NRTL Zulassung nötig, die oft auch Hinweise auf Features und Design enthält. Bei Underwirters Laboratory gibt es ein E-File E319282 für ein älteres NPWT System, ggf. wurden Design und Zertifizierungen übernommen: https://productiq.ulprospector.com/en/profile/2324577/pidf7.e319282 Im E-File heißt das Produkt "NPD 1000i, NPD 1000, NPD 2000 SP, NPD 1000c". Die Produktlinie kommt ursprünglich von einem anderen Hersteller, der aufgekauft wurde: https://www.nsmedicaldevices.com/news/smith-nephew-purchases-kalypto-medical-080512/ Bei der Food and Drug Administration FDA werden Medizinprodukte bezüglich ihrer Sicherheit und Wirkung getestet. Der Statusbrief findet sich hier: https://www.accessdata.fda.gov/cdrh_docs/pdf21/K211318.pdf ===== Patente ===== Membranpumpe: https://patents.google.com/patent/US9545465B2 ===== Firmware Readout ===== Der Mikrocontroller unterstützt SWIM an Pin 32 und einen Bootloader an USART1 Pin 27 (RX), Pin 28 (TX). SWIM: https://www.st.com/content/ccc/resource/technical/document/user_manual/ca/89/41/4e/72/31/49/f4/CD00173911.pdf/files/CD00173911.pdf/jcr:content/translations/en.CD00173911.pdf mit ST-Link oder ESP8266: https://github.com/rumpeltux/esp-stlink Bootloader: https://www.st.com/resource/en/user_manual/cd00201192-stm8-bootloader-stmicroelectronics.pdf mit FLASHER-STM8: https://www.st.com/en/development-tools/flasher-stm8.html Memory Readout Protection (ROP) und Bootloader Options (OPTBL) können im EEPROM des Mikrocontrollers gesetzt werden, um den Zugriff einzuschränken. Das scheint aber anfällig gegen Glitching zu sein: https://hackaday.com/2020/07/04/the-cheap-way-to-glitch-an-stm8-microcontroller/ https://github.com/janvdherrewegen/bootl-attacks/blob/main/stm8/README.md