<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
>

<channel>
<title><![CDATA[Dobrica Pavlinušić's random unstructured stuff: Recent Changes]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?action=weblog_display;category=Recent%20Changes</link>
<description></description>
<pubDate>Thu, 15 Oct 2026 10:57:50 -0000</pubDate>
<webMaster>root@saturn.ffzg.hr</webMaster>
<generator>Socialtext Workspace v2.19.0.2</generator>

<item>
<title><![CDATA[HU-058 clock]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?hu_058_clock</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div class="wiki">
<p>
<a target="_blank" title="(external link)" href="https://github.com/misterblack1/HU-058_ESPHome">https://github.com/misterblack1/HU-058_ESPHome</a></p>
<p>
fork with NTC, LDR and buzzer</p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/mrceedjay/HU-058_ESPHome-NTC-LDR-Buzzer">https://github.com/mrceedjay/HU-058_ESPHome-NTC-LDR-Buzzer</a></p>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category></category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?hu_058_clock</guid>
<pubDate>Thu, 15 Oct 2026 10:57:50 -0000</pubDate>
</item>
<item>
<title><![CDATA[Proxmark]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?proxmark</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: FPGA, hardware, RFID</div><hr/><div class="wiki">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#latest_code_from_2026">Dobrica Pavlinušić's random unstructured stuff (Latest code from 2026)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Latest code from 2026} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#cheap_er_china_proxmark">Dobrica Pavlinušić's random unstructured stuff (Cheap(er) China Proxmark)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Cheap(er) China Proxmark} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#mifare_sniff_crack">Dobrica Pavlinušić's random unstructured stuff (Mifare sniff/crack)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Mifare sniff/crack} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#usage">Dobrica Pavlinušić's random unstructured stuff (Usage)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Usage} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#brute_force_26_bit_proxcard">Dobrica Pavlinušić's random unstructured stuff (brute force 26-bit proxcard)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] brute force 26-=bit proxcard} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#firmware_version">Dobrica Pavlinušić's random unstructured stuff (firmware version)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] firmware version} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#flashing_update">Dobrica Pavlinušić's random unstructured stuff (flashing update)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] flashing update} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#compile_new_version_of_firmware">Dobrica Pavlinušić's random unstructured stuff (Compile new version of firmware)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Compile new version of firmware} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#boot_loader">Dobrica Pavlinušić's random unstructured stuff (Boot loader)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Boot loader} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><h1 id="latest_code_from_2026">Latest code from 2026</h1>
<ul>
<li>Iceman Fork - Proxmark3 <a target="_blank" title="(external link)" href="https://github.com/RfidResearchGroup/proxmark3">https://github.com/RfidResearchGroup/proxmark3</a></li>
</ul>
<pre>
dpavlin@nuc:/nuc/proxmark3$ cp Makefile.platform.sample Makefile.platform
# Uncomment the lines below in order to make a 256KB image
# and comment out the lines above

PLATFORM=PM3GENERIC
PLATFORM_SIZE=256
STANDALONE=
SKIP_LF=1
SKIP_HITAG=1
SKIP_EM4x50=1
SKIP_EM4x70=1
SKIP_ZX8211=1
SKIP_HF=1
SKIP_ISO15693=1
SKIP_LEGICRF=1
SKIP_ISO14443b=1
SKIP_ISO14443a=1
SKIP_ICLASS=1
SKIP_FELICA=1
SKIP_NFCBARCODE=1
SKIP_HFSNIFF=1
SKIP_HFPLOT=1

dpavlin@nuc:/nuc/proxmark3$ make

dpavlin@nuc:/nuc/proxmark3$ ./pm3
[=] Waiting for Proxmark3 to appear...

</pre>
<br /><h1 id="cheap_er_china_proxmark">Cheap(er) China Proxmark</h1>
<ul>
<li><a target="_blank" title="(external link)" href="http://www.xfpga.com/e_products/?big_id=17&amp;small_id=7">http://www.xfpga.com/e_products/?big_id=17&amp;small_id=7</a></li>
<li><a target="_blank" title="(external link)" href="http://www.proxmark.org/forum/viewtopic.php?id=863">http://www.proxmark.org/forum/viewtopic.php?id=863</a></li>
</ul>
<h1 id="mifare_sniff_crack">Mifare sniff/crack</h1>
<p>
<a target="_blank" title="(external link)" href="http://code.google.com/p/crapto1/">http://code.google.com/p/crapto1/</a></p>
<p>
<a target="_blank" title="(external link)" href="http://www.youtube.com/watch?v=kTvb7tjbSTI">http://www.youtube.com/watch?v=kTvb7tjbSTI</a><br />
<a target="_blank" title="(external link)" href="http://www.fuzzysecurity.com/tutorials/rfid/3.html">http://www.fuzzysecurity.com/tutorials/rfid/3.html</a></p>
<p>
Proxmark firmware comparison on emulated Mifare 4k</p>
<table style="border-collapse: collapse;" class="formatter_table">
<tr>
<td style="border: 1px solid black;padding: .2em;">r</td>
<td style="border: 1px solid black;padding: .2em;">command</td>
<td style="border: 1px solid black;padding: .2em;">note</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;">590</td>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">USB HID</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf rdbl 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">OK</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf chk 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;">617</td>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">USB HID</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf rdbl 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">OK</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf chk 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf mifare</td>
<td style="border: 1px solid black;padding: .2em;">2 red, needs power cycle</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf nested o 0 a a0a1a2a3a4a5 4 t</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;">672</td>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">proxendian.h:22:4: error: #error Define BYTE_ORDER</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;">756</td>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">USB CCID</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf rdbl 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">Auth error</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf chk 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf mifare</td>
<td style="border: 1px solid black;padding: .2em;">red, yellow, red, needs power cycle</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf nested o 0 a a0a1a2a3a4a5 4 t</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;">840</td>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">latest</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf rdbl 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf chk 0 A a0a1a2a3a4a5</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf mifare</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
<tr>
<td style="border: 1px solid black;padding: .2em;"><span style="padding:.5em">&nbsp;</span></td>
<td style="border: 1px solid black;padding: .2em;">hf mf nested o 0 a a0a1a2a3a4a5 4 t</td>
<td style="border: 1px solid black;padding: .2em;">Can't select card</td>
</tr>
</table>
<br /><h2 id="usage">Usage</h2>
<pre>
proxmark3&gt; hw version
#db# Prox/RFID mark3 RFID instrument                 
#db# bootrom: svn 816 2013-10-11 22:09:42                 
#db# os: svn 816 2013-10-11 22:09:43                 
#db# FPGA image built on 2012/ 1/ 6 at 15:27:56                 
uC: AT91SAM7S256 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 256K bytes          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory          

proxmark3&gt; hw tune
#db# Measuring antenna characteristics, please wait...                 
#db# Measuring complete, sending report back to host                 
          
# LF antenna:  0.00 V @   125.00 kHz          
# LF antenna:  0.00 V @   134.00 kHz          
# LF optimal:  0.00 V @ 12000.00 kHz          
# HF antenna:  7.28 V @    13.56 MHz          
# Your LF antenna is unusable.          

proxmark3&gt; hf 14a read
ATQA : 02 00          
 UID : ?? ?? ?? ??
 SAK : 38 [1]          
TYPE : Nokia 6212 or 6131 MIFARE CLASSIC 4K          
 ATS : 0d 78 f7 b1 02 4a 43 4f 50 76 32 34 31 27 cc           
       -  TL : length is 13 bytes          
       -  T0 : TA1 is present, TB1 is present, TC1 is present, FSCI is 8          
       - TA1 : different divisors are NOT supported, DR: [2, 4, 8], DS: [2, 4, 8]          
       - TB1 : SFGI = 0, FWI = 8          
       - TC1 : NAD is NOT supported, CID is supported          
       -  HB : 4a 43 4f 50 76 32 34 31           


</pre>
<br /><h1 id="brute_force_26_bit_proxcard">brute force 26-bit proxcard</h1>
<ul>
<li><a target="_blank" title="(external link)" href="https://github.com/brad-anton/proxbrute">https://github.com/brad-anton/proxbrute</a></li>
</ul>
<h1 id="firmware_version">firmware version</h1>
<p>
According to <a target="_blank" title="(external link)" href="http://wiki.radiowar.org/Proxmark3%E5%9B%BA%E4%BB%B6%E5%88%97%E8%A1%A8">http://wiki.radiowar.org/Proxmark3%E5%9B%BA%E4%BB%B6%E5%88%97%E8%A1%A8</a><br />
firmwares newer than 617 have problems.</p>
<p>
Google translated version</p>
<blockquote>
Please do not upgrade your firmware to the CDC Proxmark3 version r617 ~ r830 driver's! We found that because the problem will lead to Proxmark3 code appears unable to identify high-frequency card, and 816 will appear after Nested number of keys for 000000000000.</blockquote>
<br /><h1 id="flashing_update">flashing update</h1>
<pre>
dpavlin@blue:/blue-zfs/FPGA/proxmark/proxmark3$ make flash-all

</pre>
<br /><h1 id="compile_new_version_of_firmware">Compile new version of firmware</h1>
<p>
<strong>All instructions below this are for old version of software</strong> see <a target="_blank" title="(external link)" href="http://www.proxmark.org/forum/viewtopic.php?id=1668">http://www.proxmark.org/forum/viewtopic.php?id=1668</a></p>
<p>
<a target="_blank" title="(external link)" href="http://code.google.com/p/proxmark3/wiki/Compiling">http://code.google.com/p/proxmark3/wiki/Compiling</a> je strgan <a target="_blank" title="(external link)" href="http://www.proxmark.org/forum/post/3244/#p3244">http://www.proxmark.org/forum/post/3244/#p3244</a></p>
<pre>
sudo apt-get install build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config

dpavlin@t61p:/tank/proxmark3$ svn co http://proxmark3.googlecode.com/svn/trunk proxmark3
</pre>
<br /><h1 id="boot_loader">Boot loader</h1>
<pre>
dpavlin@t61p:/tank/proxmark3/proxmark3$ ./client/flasher -b ./bootrom/obj/bootrom.elf 
Loading ELF file './bootrom/obj/bootrom.elf'...
Loading usable ELF segments:
0: V 0x00100000 P 0x00100000 (0x00000200-&gt;0x00000200) [R X] @0x94
1: V 0x00200000 P 0x00100200 (0x000017a8-&gt;0x000017a8) [R X] @0x294

Waiting for Proxmark to appear on USB...
Connected units:
        1. SN: ? [004/013]
 Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on USB....
Connected units:
        1. SN: ? [004/014]
 Found.

Flashing...
Writing segments for file: ./bootrom/obj/bootrom.elf
 0x00100000..0x001001ff [0x200 / 2 blocks].. OK
 0x00100200..0x001019a7 [0x17a8 / 24 blocks]........................ OK

Resetting hardware...
All done.

Have a nice day!
</pre>
<br />^
<br /><pre>
dpavlin@t61p:/tank/proxmark3/proxmark3$ ./client/flasher ./armsrc/obj/fullimage.elf 
Loading ELF file './armsrc/obj/fullimage.elf'...
Loading usable ELF segments:
0: V 0x00102000 P 0x00102000 (0x0000a4bc-&gt;0x0000a4bc) [R  ] @0xb4
1: V 0x00110000 P 0x00110000 (0x0000ba8c-&gt;0x0000ba8c) [R X] @0xa570
2: V 0x00200000 P 0x0011ba8c (0x00000004-&gt;0x00000004) [RW ] @0x15ffc
Note: Extending previous segment from 0xba8c to 0xba90 bytes

Waiting for Proxmark to appear on USB...
Connected units:
        1. SN: ? [004/015]
 Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on USB....
Connected units:
        1. SN: ChangeMe [004/016]
 Found.

Flashing...
Writing segments for file: ./armsrc/obj/fullimage.elf
 0x00102000..0x0010c4bb [0xa4bc / 165 blocks]..................................................................................................................................................................... OK
 0x00110000..0x0011ba8f [0xba90 / 187 blocks]........................................................................................................................................................................................... OK

Resetting hardware...
All done.

Have a nice day!
</pre>
</div>
<hr/><div>Attachments: gnuarm.diff</div>]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>FPGA, hardware, RFID</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?proxmark</guid>
<pubDate>Thu, 01 Oct 2026 06:36:15 -0000</pubDate>
</item>
<item>
<title><![CDATA[EBAZ4205]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?ebaz4205</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div class="wiki">
<p>
<a target="_blank" title="(external link)" href="https://www.aliexpress.com/item/1005001308030569.html">https://www.aliexpress.com/item/1005001308030569.html</a></p>
<h1 id="from_readme">from readme</h1>
<p>
Power-on:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Voltage: 5V-12V can be used, (no Y3 crystal oscillator version must be 12V. Without Y3 crystal oscillator, it uses the 25M clock output by fpga)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All three 20pin ports can be powered, pins 1 and 2 are power, 3 and 4 are GND, and the power position of the 3 ports is the same.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The J4 position (the same as the 12V interface of the computer motherboard) can also be powered, but the D24 on the back of the board should be short-circuited. This is a diode. The default is not soldered.</p>
<p>
start up:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default is nand startup, there is a linux system in nand, but there is no root password, so it can't be played, so it can only be changed to SD startup or JTAG emulation.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start the SD card, solder the sd card socket, remove the R2584 resistor on the back of the board, and solder to the R2577 position,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put the boot.bin of the image folder in the root directory of the SD card, and the SD card should be formatted as fat32 (maximum support for 32G cards).</p>
<p>
Routine:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Network, sd, buttons, leds are all in one project, and the routine is vivado2017.4 version<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The network is an echo server, the ip is automatically obtained, and when it is obtained, it will be printed on the serial port. The port is 7, what to send back to.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Press the button once, the red light status is reversed. The green light flashes once for 1s.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SD card, only one read and write test. Write 1M data to the card when power on.</p>
<p>
If you have any questions, you can add q416159303.</p>
<p>
Mir development board information,<br />
<a target="_blank" title="(external link)" href="https://pan.baidu.com/s/1PxlRdjQRTDXS30GbeJ9q3Q">https://pan.baidu.com/s/1PxlRdjQRTDXS30GbeJ9q3Q</a> Extraction code: 2c01</p>
<p>
vivado2017.4 software download<br />
<a target="_blank" title="(external link)" href="https://pan.baidu.com/s/1Q5ctriRVHzfFuHqHUw7P2g">https://pan.baidu.com/s/1Q5ctriRVHzfFuHqHUw7P2g</a> Extraction code: bd42</p>
<h1 id="links">links</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/Elrori/EBAZ4205">https://github.com/Elrori/EBAZ4205</a></p>
<p>
<a target="_blank" title="(external link)" href="https://gitee.com/actionchen/ebaz4205_hw/blob/master/Doc/ebaz4205_introduce.md">https://gitee.com/actionchen/ebaz4205_hw/blob/master/Doc/ebaz4205_introduce.md</a></p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/blkf2016/ebaz4205">https://github.com/blkf2016/ebaz4205</a></p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/tomorrow56/EBAZ4205_tutorial">https://github.com/tomorrow56/EBAZ4205_tutorial</a></p>
<h1 id="boot_mode">boot mode</h1>
<p>
<a target="_blank" title="(external link)" href="https://hhuysqt.github.io/zynq1/">https://hhuysqt.github.io/zynq1/</a></p>
<p>
The R2577 and R2584 resistors of this board are used to configure the starting device. Solder R2584 to R2577 and change the original nand boot to SD card boot.</p>
<h1 id="jtag_start">JTAG start</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/Leungfung/ebaz4205_hw/blob/master/Doc/ebaz4205_introduce.md">https://github.com/Leungfung/ebaz4205_hw/blob/master/Doc/ebaz4205_introduce.md</a></p>
<p>
Connect the end of resistor R2578 close to NAND to ground</p>
<p>
English version: <a target="_blank" title="(external link)" href="https://github.com/xjtuecho/EBAZ4205">https://github.com/xjtuecho/EBAZ4205</a></p>
<p>
buildroot: <a target="_blank" title="(external link)" href="https://github.com/blkf2016/ebaz4205">https://github.com/blkf2016/ebaz4205</a></p>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category></category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?ebaz4205</guid>
<pubDate>Tue, 30 Jun 2026 14:16:36 -0000</pubDate>
</item>
<item>
<title><![CDATA[A95X F3 Air]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?a95x_f3_air</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: arm</div><hr/><div class="wiki">
<p>
Amlogic Quad-core A55<br />
RAM: 4GB<br />
ROM: 64GB<br />
WIFI: 2.4/5Ghz<br />
2A@5V DC</p>
<p>
F3X S905X3</p>
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#armbian">Dobrica Pavlinušić's random unstructured stuff (armbian)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] armbian} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#scdard">Dobrica Pavlinušić's random unstructured stuff (scdard)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] scdard} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#dead">Dobrica Pavlinušić's random unstructured stuff (dead)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] dead} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#led_display">Dobrica Pavlinušić's random unstructured stuff (LED display)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] LED display} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#led_strip">Dobrica Pavlinušić's random unstructured stuff (LED strip)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] LED strip} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#serial">Dobrica Pavlinušić's random unstructured stuff (serial)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] serial} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#u_boot">Dobrica Pavlinušić's random unstructured stuff (u-boot)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] u-=boot} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#usb_boot">Dobrica Pavlinušić's random unstructured stuff (usb boot)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] usb boot} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#soc_bypass">Dobrica Pavlinušić's random unstructured stuff (soc bypass)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] soc bypass} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#android_image_unpack_in_search_for_bootloader">Dobrica Pavlinušić's random unstructured stuff (android image unpack in search for bootloader)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] android image unpack in search for bootloader} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><p>
internal photos:</p>
<p>
<a target="_blank" title="(external link)" href="https://fccid.io/2AVBM-A95XF3AIR/Internal-Photos/Internal-photos-4583382.pdf">https://fccid.io/2AVBM-A95XF3AIR/Internal-Photos/Internal-photos-4583382.pdf</a></p>
<h1 id="armbian">armbian</h1>
<p>
<a target="_blank" title="(external link)" href="https://www.armbian.com/amlogic-s9xx-tv-box/">https://www.armbian.com/amlogic-s9xx-tv-box/</a></p>
<p>
boot from sd card doesn't work, button is hidden inside phone connector, and is very stiff.</p>
<h2 id="scdard">scdard</h2>
<pre>
dpavlin@nuc:~$ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 14.88 GiB, 15978201088 bytes, 31207424 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a327079

Device         Boot   Start     End Sectors  Size Id Type
/dev/mmcblk0p1         8192 1056767 1048576  512M ea Linux extended boot
/dev/mmcblk0p2      1056768 4218879 3162112  1.5G 83 Linux


dpavlin@nuc:~$ sudo mount /dev/mmcblk0p1 /tmp/a95x-boot/
[Tue Sep  2 19:53:40 2025] mmc0: cannot verify signal voltage switch
dpavlin@nuc:~$ cd /tmp/a95x-boot/
dpavlin@nuc:/tmp/a95x-boot$ [Tue Sep  2 19:53:50 2025] mmc0: cannot verify signal voltage switch

dpavlin@nuc:/tmp/a95x-boot$ ls
[Tue Sep  2 19:53:54 2025] mmc0: cannot verify signal voltage switch
aml_autoscript                  dtb              initrd.img-6.12.43-current-meson64  u-boot-s905x2-s922     uInitrd
boot.bmp                        emmc_autoscript  s905_autoscript                     u-boot-s905x3
build-u-boot                    extlinux         System.map-6.12.43-current-meson64  u-boot-s905x3-ugoosx3
config-6.12.43-current-meson64  Image            u-boot-s905                         u-boot-s905x-s912

root@nuc:/tmp/a95x-boot/extlinux# ls -al ../dtb/amlogic/*x3*
-rwxr-xr-x 1 root root 40278 Aug 22 05:10 ../dtb/amlogic/meson-gxl-s905w-tx3-mini.dtb
-rwxr-xr-x 1 root root 77285 Aug 22 05:10 ../dtb/amlogic/meson-sm1-ugoos-x3.dtb

root@nuc:/tmp/a95x-boot/extlinux# vi extlinux.conf

root@nuc:/tmp/a95x-boot# cp  u-boot-s905x3-ugoosx3 u-boot.ext


</pre>
<br /><h1 id="dead">dead</h1>
<p>
device draws only 70mA from 5.2V 2A power supply (verified using <a href="https://saturn.ffzg.hr/rot13/index.cgi?dps5005" title="(63 months)  toc OpenDPS https johan.kanflo.com hacking-the-dps5005 https johan.kanflo.com opendps-design https ...">DPS5005</a>).</p>
<p>
<a target="_blank" title="(external link)" href="https://photos.google.com/photo/AF1QipMGlbI49ukEsx0OgqaPwIROT3cjvUe-7qfEOt3">https://photos.google.com/photo/AF1QipMGlbI49ukEsx0OgqaPwIROT3cjvUe-7qfEOt3</a>-</p>
<h1 id="led_display">LED display</h1>
<p>
this device has interesting DVD-like LED display with HT1628 DVD driver chip and some transistors (maybe level shifters since chip is 5V ?)</p>
<p>
<a target="_blank" title="(external link)" href="https://photos.google.com/photo/AF1QipOfJtafYiOvS0QW2uX-rFwruJ3wCz7pZtsZ6qNq">https://photos.google.com/photo/AF1QipOfJtafYiOvS0QW2uX-rFwruJ3wCz7pZtsZ6qNq</a></p>
<h1 id="led_strip">LED strip</h1>
<p>
<a target="_blank" title="(external link)" href="https://photos.google.com/photo/AF1QipMqXN8R4eBN2uQCzwUvn2ZtoBKnsJgQAE1ctr9J">https://photos.google.com/photo/AF1QipMqXN8R4eBN2uQCzwUvn2ZtoBKnsJgQAE1ctr9J</a></p>
<p>
it has three wire led strip of 15 leds (ws2812 meybe?) with three wires and SOIC8 chip on it.</p>
<h1 id="serial">serial</h1>
<p>
4 pins on bottom of board</p>
<p>
1. GND (pin marked with square on board)<br />
2. TX<br />
3. RX<br />
4. 3V3 (?)</p>
<p>
serial output:</p>
<pre>
SM1:BL:511f6b:81ca2f;FEAT:B2F839B2:202B2060;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
LOOP:1;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
LOOP:2;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
LOOP:3;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
LOOP:4;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
LOOP:5;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
LOOP:6;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:20000;USB:8;
</pre>
<br /><p>
with sd card inserted</p>
<pre>
SM1:BL:511f6b:81ca2f;FEAT:B2F839B2:202B2060;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
LOOP:1;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
LOOP:2;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
LOOP:3;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
LOOP:4;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
SM1:BL:511f6b:81ca2f;FEAT:B2F839B2:202B2060;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
SM1:BL:511f6b:81ca2f;FEAT:B2F839B2:202B2060;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;
</pre>
<br /><h1 id="u_boot">u-boot</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/hexdump0815/u-boot-misc/blob/master/readme.gxy">https://github.com/hexdump0815/u-boot-misc/blob/master/readme.gxy</a></p>
<h1 id="usb_boot">usb boot</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/superna9999/pyamlboot/tree/master">https://github.com/superna9999/pyamlboot/tree/master</a></p>
<h1 id="soc_bypass">soc bypass</h1>
<p>
<a target="_blank" title="(external link)" href="https://fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html">https://fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html</a></p>
<h1 id="android_image_unpack_in_search_for_bootloader">android image unpack in search for bootloader</h1>
<pre>
dpavlin@nuc:/nuc/amlogic/utils$ git remote -v
origin	https://github.com/khadas/utils.git (fetch)
origin	https://github.com/khadas/utils.git (push)


dpavlin@nuc:/nuc/amlogic/utils$ ./aml_image_v2_packer -d ~/Downloads/a95x/A95X_F3_AIR_20191024senk.img A95X_F3_AIR_20191024senk
[Msg]Image package version 0x2
[Msg]Unpack item [USB         ,              DDR] to (A95X_F3_AIR_20191024senk/DDR.USB) size:1330032 bytes
[Msg]Unpack item [USB         ,          DDR_ENC] to (A95X_F3_AIR_20191024senk/DDR_ENC.USB) size:65536 bytes
[Msg]Backup item [USB         ,            UBOOT] backItemId[0][USB, DDR]
[Msg]Unpack item [USB         ,        UBOOT_ENC] to (A95X_F3_AIR_20191024senk/UBOOT_ENC.USB) size:1330176 bytes
[Msg]Unpack item [PARTITION   ,         _aml_dtb] to (A95X_F3_AIR_20191024senk/_aml_dtb.PARTITION) size:79872 bytes
[Msg]Unpack item [UBOOT       ,     aml_sdc_burn] to (A95X_F3_AIR_20191024senk/aml_sdc_burn.UBOOT) size:1330544 bytes
[Msg]Unpack item [UBOOT.ENC   ,     aml_sdc_burn] to (A95X_F3_AIR_20191024senk/aml_sdc_burn.UBOOT.ENC) size:1330688 bytes
[Msg]Unpack item [ini         ,     aml_sdc_burn] to (A95X_F3_AIR_20191024senk/aml_sdc_burn.ini) size:602 bytes
[Msg]Unpack item [PARTITION   ,             boot] to (A95X_F3_AIR_20191024senk/boot.PARTITION) size:9620480 bytes
[Msg]Unpack item [PARTITION   ,       bootloader] to (A95X_F3_AIR_20191024senk/bootloader.PARTITION) size:1330176 bytes
[Msg]Unpack item [PARTITION   ,             dtbo] to (A95X_F3_AIR_20191024senk/dtbo.PARTITION) size:438 bytes
[Msg]Unpack item [PARTITION   ,             logo] to (A95X_F3_AIR_20191024senk/logo.PARTITION) size:1020176 bytes
[Msg]Unpack item [dtb         ,           meson1] to (A95X_F3_AIR_20191024senk/meson1.dtb) size:78383 bytes
[Msg]Backup item [dtb         ,       meson1_ENC] backItemId[4][PARTITION, _aml_dtb]
[Msg]Unpack item [PARTITION   ,              odm] to (A95X_F3_AIR_20191024senk/odm.PARTITION) size:536652 bytes
[Msg]Unpack item [conf        ,         platform] to (A95X_F3_AIR_20191024senk/platform.conf) size:155 bytes
[Msg]Unpack item [PARTITION   ,          product] to (A95X_F3_AIR_20191024senk/product.PARTITION) size:14745676 bytes
[Msg]Unpack item [PARTITION   ,         recovery] to (A95X_F3_AIR_20191024senk/recovery.PARTITION) size:16307200 bytes
[Msg]Unpack item [PARTITION   ,           system] to (A95X_F3_AIR_20191024senk/system.PARTITION) size:1377898716 bytes
[Msg]Unpack item [PARTITION   ,           vbmeta] to (A95X_F3_AIR_20191024senk/vbmeta.PARTITION) size:4096 bytes
[Msg]Unpack item [PARTITION   ,           vendor] to (A95X_F3_AIR_20191024senk/vendor.PARTITION) size:204157052 bytes
[Msg]Write config file &quot;A95X_F3_AIR_20191024senk/image.cfg&quot; OK!
Image unpack OK!
</pre>
<br /><p>
let's write bootloader to sdcard</p>
<pre>
root@nuc:/nuc/amlogic/utils/A95X_F3_AIR_20191024senk# ~dpavlin/dd.sh aml_sdc_burn.UBOOT.ENC /dev/mmcblk0
+ dd iflag=fullblock oflag=direct conv=fsync status=progress bs=1M if=aml_sdc_burn.UBOOT.ENC of=/dev/mmcblk0
1+1 records in
1+1 records out
1330688 bytes (1.3 MB, 1.3 MiB) copied, 0.491506 s, 2.7 MB/s
</pre>
<br /><p>
power up, 230-300 mA power draw, leds are cyan with blue vertical strip, passing from right to left, and LCD screen has boot on it.</p>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>arm</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?a95x_f3_air</guid>
<pubDate>Thu, 04 Sep 2025 09:26:35 -0000</pubDate>
</item>
<item>
<title><![CDATA[Xiaomi Tower Fan 2]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?xiaomi_tower_fan_2</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div class="wiki">
<h1 id="problem">Problem</h1>
<p>
After first install with official Android app it broke account so hard, that web login to xiaomi just reloaded page in loop, and fan dissipated from Android app.</p>
<h1 id="wifi_reset">wifi reset</h1>
<p>
power + m button for 7 seconds.</p>
<h1 id="token">token</h1>
<p>
I created local xiaomi account, which is useful, since you need password for this tool to work.</p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor">https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor</a></p>
<pre>
dpavlin@nuc:/nuc/Xiaomi-cloud-tokens-extractor$ git remote -v
origin	https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor (fetch)
origin	https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor (push)

dpavlin@nuc:/nuc/Xiaomi-cloud-tokens-extractor$ . venv/bin/activate

(venv) dpavlin@nuc:/nuc/Xiaomi-cloud-tokens-extractor$ python token_extractor.py


   ---------
   NAME:     Xiaomi Smart Tower Fan 2
   ID:       897218688
   MAC:      AC:8C:46:C9:2C:B4
   IP:       192.168.3.120
   TOKEN:    REDACTED
   MODEL:    xiaomi.fan.p45
   ---------

</pre>
<br /><h1 id="code">code</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/rytilahti/python-miio/issues/1544">https://github.com/rytilahti/python-miio/issues/1544</a> - doesn't seem to login into xiaomi cloud for me</p>
<h2 id="home_assistant">home assistant</h2>
<p>
<a target="_blank" title="(external link)" href="https://github.com/syssi/xiaomi_fan/issues/282">https://github.com/syssi/xiaomi_fan/issues/282</a> - doesn't support my model</p>
<pre>
2025-07-29 09:23:06.378 ERROR (MainThread) [custom_components.xiaomi_miio_fan.fan] Unsupported device found! Please create an issue at https://github.com/syssi/xiaomi_fan/issues and provide the following data: xiaomi.fan.p45
</pre>
<br /><p>
<a target="_blank" title="(external link)" href="https://github.com/XiaoMi/ha_xiaomi_home">https://github.com/XiaoMi/ha_xiaomi_home</a> - doesn't work for me</p>
<p>
Finally, Xiaomi Miot Auto works.</p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/syssi/xiaomi_fan/issues/214">https://github.com/syssi/xiaomi_fan/issues/214</a></p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/al-one/hass-xiaomi-miot">https://github.com/al-one/hass-xiaomi-miot</a></p>
<p>
no need to patch local home assistant installation.</p>
<h1 id="teardown_video">teardown video</h1>
<p>
<a target="_blank" title="(external link)" href="https://www.youtube.com/watch?v=8GoeoD_eyvk">https://www.youtube.com/watch?v=8GoeoD_eyvk</a></p>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category></category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?xiaomi_tower_fan_2</guid>
<pubDate>Wed, 30 Jul 2025 14:20:12 -0000</pubDate>
</item>
<item>
<title><![CDATA[CH32V003]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?ch32v003</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div class="wiki">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#balccon_2k24_badge">Dobrica Pavlinušić's random unstructured stuff (BalCCon 2k24 badge)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] BalCCon 2k24 badge} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#ch32v003">Dobrica Pavlinušić's random unstructured stuff (CH32V003)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] CH32V003} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#esp32s2_programmer">Dobrica Pavlinušić's random unstructured stuff (esp32s2 programmer)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] esp32s2 programmer} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#ardulink">Dobrica Pavlinušić's random unstructured stuff (ardulink)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] ardulink} --></span></li>
</ul></ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><h1 id="balccon_2k24_badge">BalCCon 2k24 badge</h1>
<p>
<a target="_blank" title="(external link)" href="https://www.youtube.com/watch?v=4waDha2DxK8">https://www.youtube.com/watch?v=4waDha2DxK8</a></p>
<p>
<a target="_blank" title="(external link)" href="https://ch405-labs.com/mc-0o00/">https://ch405-labs.com/mc-0o00/</a></p>
<p>
<a target="_blank" title="(external link)" href="https://gitlab.com/ch405labs/badgelife/mcd-0o00/mcd-0o00-hardware-design">https://gitlab.com/ch405labs/badgelife/mcd-0o00/mcd-0o00-hardware-design</a></p>
<span class="nlw_phrase"><img alt="MC-0o00-Schema.png" src="https://saturn.ffzg.hr/rot13/index.cgi/MC-0o00-Schema.png?action=attachments_download;page_name=ch32v003;id=20250216085615-0-27503" /><!-- wiki: {image: MC-=0o00-=Schema.png} --></span><br /><br /><h1 id="ch32v003">CH32V003</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/cnlohr/ch32v003fun">https://github.com/cnlohr/ch32v003fun</a></p>
<h2 id="esp32s2_programmer">esp32s2 programmer</h2>
<p>
<a target="_blank" title="(external link)" href="https://github.com/cnlohr/esp32s2-cookbook/tree/master/ch32v003programmer">https://github.com/cnlohr/esp32s2-cookbook/tree/master/ch32v003programmer</a></p>
<p>
flash programmer to esp32s2</p>
<pre>
dpavlin@nuc:/nuc/Balccon2k24/esp32s2-cookbook/ch32v003programmer$ /nuc/esp8266/esptool/esptool.py --port /dev/ttyUSB2 -b 460800 write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 build/bootloader/bootloader.bin 0x10000 build/usb_sandbox.bin 0x8000 build/partition_table/partition-table.bin
esptool.py v4.7-dev
Serial port /dev/ttyUSB2
Connecting.....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Detecting chip type... ESP32-S2
Chip is ESP32-S2 (revision v0.0)
Features: WiFi, No Embedded Flash, No Embedded PSRAM, ADC and temperature sensor calibration in BLK2 of efuse V1
Crystal is 40MHz
MAC: 7c:df:a1:02:81:de
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00004fff...
Flash will be erased from 0x00010000 to 0x00041fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Compressed 13376 bytes to 9327...
Wrote 13376 bytes (9327 compressed) at 0x00001000 in 0.4 seconds (effective 244.8 kbit/s)...
Hash of data verified.
Compressed 201568 bytes to 111748...
Wrote 201568 bytes (111748 compressed) at 0x00010000 in 2.6 seconds (effective 614.4 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 119...
Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.1 seconds (effective 391.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
</pre>
<br /><p>
Connect SWIO (Pin D1) on CH32V003 to GPIO6 on the ESP32S2.</p>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;Optionally use 10k pull-up on SWIO.<br />
&nbsp;&nbsp;&nbsp;&nbsp;Optional Clock Synthesizer is on GPIO2 &quot;Multi2&quot; / &quot;M0&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;VCC Output on GPIO11/12 on ESP32S2.</p>
<p>
hmm... doesn't seem to work for me</p>
<pre>
dpavlin@nuc:/nuc/Balccon2k24/ch32v003fun/minichlink$ ./minichlink -3i
Found ESP32S2-Style Programmer
Interface Setup
Error: Failed to get chip details
</pre>
<br /><p>
that's because I didn't turn on switch on badge!</p>
<pre>
dpavlin@nuc:/nuc/Balccon2k24/ch32v003fun/minichlink$ ./minichlink -i
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
Found ESP32S2-Style Programmer
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
Interface Setup
USER/RDPR  : e817/5aa5
DATA1/DATA0: ff00/ff00
WRPR1/WRPR0: 00ff/00ff
WRPR3/WRPR2: 00ff/00ff
[Fri Feb 21 14:38:00 2025] usb 3-3.3.4.4: input irq status -75 received
Flash Size: 16 kB
R32_ESIG_UNIID1: 4f29abcd
R32_ESIG_UNIID2: b7cabcd4
R32_ESIG_UNIID3: ffffffff
</pre>
<br /><p>
flash</p>
<pre>
dpavlin@nuc:/nuc/Balccon2k24$ ./minichlink -w functest.bin 0 -b
</pre>
<br /><h2 id="ardulink">ardulink</h2>
<p>
<a target="_blank" title="(external link)" href="https://gitlab.com/BlueSyncLine/arduino-ch32v003-swio">https://gitlab.com/BlueSyncLine/arduino-ch32v003-swio</a></p>
</div>
<hr/><div>Attachments: MC-0o00-Schema.png</div>]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category></category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?ch32v003</guid>
<pubDate>Sun, 23 Feb 2025 15:39:04 -0000</pubDate>
</item>
<item>
<title><![CDATA[IR]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?ir</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: esp8266</div><hr/><div class="wiki">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#ir_send">Dobrica Pavlinušić's random unstructured stuff (Ir Send)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Ir Send} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#tasmota_ir">Dobrica Pavlinušić's random unstructured stuff (Tasmota IR)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Tasmota IR} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#configure_module">Dobrica Pavlinušić's random unstructured stuff (Configure module)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Configure module} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#configure_wifi">Dobrica Pavlinušić's random unstructured stuff (Configure WIFI)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Configure WIFI} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#configure_mqtt">Dobrica Pavlinušić's random unstructured stuff (Configure MQTT)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Configure MQTT} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#configure_logging">Dobrica Pavlinušić's random unstructured stuff (Configure Logging)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Configure Logging} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#configure_other">Dobrica Pavlinušić's random unstructured stuff (Configure Other)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Configure Other} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#console">Dobrica Pavlinušić's random unstructured stuff (Console)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Console} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#reed_sensor">Dobrica Pavlinušić's random unstructured stuff (reed sensor)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] reed sensor} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#esp_ir_tr">Dobrica Pavlinušić's random unstructured stuff (ESP IR TR)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] ESP IR TR} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#am2301_ir">Dobrica Pavlinušić's random unstructured stuff (AM2301 + IR)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] AM2301 + IR} --></span></li>
</ul></ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><p>
Various infrared links collected here</p>
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                <a href="/rot13/index.cgi?action=weblog_display;category=IR">Recent Changes in Tag IR</a>
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<br /><ul>
<li><span class="nlw_phrase"><a title="inter-workspace link: rot13" href="https://saturn.ffzg.hr/rot13/index.cgi?usb_irtoy_v2">USB IRToy v2</a><!-- wiki: {link: [USB IRToy v2]} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {tag_list: IR}
--></div><br /><br /><h1 id="ir_send">Ir Send</h1>
<p>
Updated for HVAC Mitsubishi &amp; Panasonic IR</p>
<ul>
<li><a target="_blank" title="(external link)" href="https://github.com/r45635/HVAC-IR-Control">https://github.com/r45635/HVAC-IR-Control</a></li>
</ul>
<h1 id="tasmota_ir">Tasmota IR</h1>
<h2 id="configure_module">Configure module</h2>
<p>
Generic</p>
<p>
D4 GPIO2 - AM2301</p>
<p>
D6 GPIO12 - IN - IRrecv</p>
<p>
D7 GPIO13 - Switch1 - reed relay to gnd</p>
<p>
D5 GPIO14 - OUT - IRsend</p>
<h2 id="configure_wifi">Configure WIFI</h2>
<p>
AP1 SSID, AP1 password<br />
hostname - ir</p>
<h2 id="configure_mqtt">Configure MQTT</h2>
<p>
Host: rpi2</p>
<p>
Topic: ir</p>
<h2 id="configure_logging">Configure Logging</h2>
<p>
Telemetry period: 10</p>
<h2 id="configure_other">Configure Other</h2>
<p>
Device Name: IR</p>
<p>
Friendly Name 1: IR</p>
<h2 id="console">Console</h2>
<p>
SerialLog 3 - turn serial log output <a target="_blank" title="(external link)" href="https://tasmota.github.io/docs/Commands/">https://tasmota.github.io/docs/Commands/</a></p>
<h2 id="reed_sensor">reed sensor</h2>
<p>
switch 2 gpio 13</p>
<p>
<a target="_blank" title="(external link)" href="https://tasmota.github.io/docs/Buttons-and-Switches/#switchmode-15">https://tasmota.github.io/docs/Buttons-and-Switches/#switchmode-15</a></p>
<p>
expose gpio 13 in homeassistant as lodja_vrata sensor, remove connection with relay</p>
<pre>
SwitchText2 lodja_vrata
Setoption114 1
SwitchMode2 15
</pre>
<br /><h1 id="esp_ir_tr">ESP IR TR</h1>
<p>
<a target="_blank" title="(external link)" href="https://templates.blakadder.com/ESP_IR_TR.html">https://templates.blakadder.com/ESP_IR_TR.html</a></p>
<pre>
{&quot;NAME&quot;:&quot;Tasmota IR-Gateway&quot;,&quot;GPIO&quot;:[0,0,0,0,1056,0,0,0,0,0,1088,0,0,0],&quot;FLAG&quot;:0,&quot;BASE&quot;:18}
</pre>
<br /><p>
GPIO04 	IRsend <br />
GPIO14 	IRrecv</p>
<h2 id="am2301_ir">AM2301 + IR</h2>
<p>
module pinout</p>
<span class="nlw_phrase"><img alt="esp_ir_tr-pinout.jpg" src="https://saturn.ffzg.hr/rot13/index.cgi/esp_ir_tr-pinout.jpg?action=attachments_download;page_name=ir;id=20250217101619-1-27366" /><!-- wiki: {image: esp_ir_tr-=pinout.jpg} --></span><br /><br /><span class="nlw_phrase"><img alt="esp_ir_tr-am2301-gpio15.jpg" src="https://saturn.ffzg.hr/rot13/index.cgi/esp_ir_tr-am2301-gpio15.jpg?action=attachments_download;page_name=ir;id=20250217095613-0-27366" /><!-- wiki: {image: esp_ir_tr-=am2301-=gpio15.jpg} --></span><br /><br /><p>
(it's on GPIO13, ignore picture name which is wrong)</p>
<p>
addition AM2301 on GPIO13 - requires custom tasmota ir build with USE_DHT enabled for IR_FIRMWARE build</p>
<pre>
(venv) dpavlin@nuc:/nuc/esp8266/Tasmota$ git diff
diff --git a/tasmota/include/tasmota_configurations.h b/tasmota/include/tasmota_configurations.h
index 1260892a0..c64d1ac1e 100644
--- a/tasmota/include/tasmota_configurations.h
+++ b/tasmota/include/tasmota_configurations.h
@@ -503,7 +503,8 @@
 #undef USE_PROJECTOR_CTRL                        // Disable support for LCD/DLP Projector serial control interface
 #undef USE_LOX_O2                                // Disable support for LuminOx LOX O2 Sensor

-#undef USE_DHT                                   // Disable support for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321) and SI7021 Temperature and Humidity sensor
+// XXX FIXME dpavlin -- keep DHT11
+//#undef USE_DHT                                   // Disable support for DHT11, AM2301 (DHT21, DHT22, AM2302, AM2321) and SI7021 Temperature and Humidity sensor
 #undef USE_MAX31855                              // Disable MAX31855 K-Type thermocouple sensor using softSPI
 #undef USE_MAX31865                              // Disable support for MAX31865 RTD sensors using softSPI
 #undef USE_TM1638                                // Disable support for TM1638 switches copying Switch1 .. Switch8
</pre>
<br /><p>
template:</p>
<pre>
{&quot;NAME&quot;:&quot;Tasmota IR-Gateway&quot;,&quot;GPIO&quot;:[0,0,0,0,1056,0,0,0,0,0,1088,1216,0,0],&quot;FLAG&quot;:0,&quot;BASE&quot;:18}
</pre>
</div>
<hr/><div>Attachments: esp_ir_tr-am2301-gpio15.jpg, esp_ir_tr-pinout.jpg</div>]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>esp8266</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?ir</guid>
<pubDate>Mon, 17 Feb 2025 10:17:09 -0000</pubDate>
</item>
<item>
<title><![CDATA[Milk-V Duo]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?milk_v_duo</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: riscv</div><hr/><div class="wiki">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#duo_s">Dobrica Pavlinušić's random unstructured stuff (Duo S)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Duo S} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#buildroot">Dobrica Pavlinušić's random unstructured stuff (buildroot)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] buildroot} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#duo_256m">Dobrica Pavlinušić's random unstructured stuff (Duo 256M)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Duo 256M} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#debian">Dobrica Pavlinušić's random unstructured stuff (debian)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] debian} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#persisatnt_cdc_ncm_mac_address">Dobrica Pavlinušić's random unstructured stuff (persisatnt cdc ncm mac address)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] persisatnt cdc ncm mac address} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#camera">Dobrica Pavlinušić's random unstructured stuff (camera)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] camera} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#raspberry_pi_camera">Dobrica Pavlinušić's random unstructured stuff (raspberry pi camera)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] raspberry pi camera} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#gc2083">Dobrica Pavlinušić's random unstructured stuff (gc2083)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] gc2083} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#run_yolo_model">Dobrica Pavlinušić's random unstructured stuff (run yolo model)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] run yolo model} --></span></li>
</ul></ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#tdl">Dobrica Pavlinušić's random unstructured stuff (tdl)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] tdl} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><p>
<a target="_blank" title="(external link)" href="https://milkv.io/docs/duo/overview">https://milkv.io/docs/duo/overview</a></p>
<h1 id="duo_s">Duo S</h1>
<p>
<a target="_blank" title="(external link)" href="https://milkv.io/docs/duo/getting-started/duos">https://milkv.io/docs/duo/getting-started/duos</a></p>
<pre>
[Thu Jan 23 16:32:35 2025] usb 3-3.3.4.4: new high-speed USB device number 28 using xhci_hcd
[Thu Jan 23 16:32:36 2025] usb 3-3.3.4.4: device descriptor read/64, error -71
[Thu Jan 23 16:32:36 2025] usb 3-3.3.4.4: New USB device found, idVendor=3346, idProduct=1009, bcdDevice= 5.10
[Thu Jan 23 16:32:36 2025] usb 3-3.3.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Thu Jan 23 16:32:36 2025] usb 3-3.3.4.4: Product: RNDIS
[Thu Jan 23 16:32:36 2025] usb 3-3.3.4.4: Manufacturer: Cvitek
[Thu Jan 23 16:32:36 2025] usb 3-3.3.4.4: SerialNumber: 0123456789
[Thu Jan 23 16:32:36 2025] rndis_host 3-3.3.4.4:1.0 eth0: register 'rndis_host' at usb-0000:00:14.0-3.3.4.4, RNDIS device, 7a:f4:9f:e4:50:82
[Thu Jan 23 16:32:36 2025] usbcore: registered new interface driver rndis_host
[Thu Jan 23 16:32:36 2025] rndis_host 3-3.3.4.4:1.0 enx7af49fe45082: renamed from eth0

dpavlin@nuc:/nuc/milkv-duo$ sudo dhclient enx7af49fe45082

dpavlin@nuc:/nuc/milkv-duo$ /sbin/ifconfig enx7af49fe45082
enx7af49fe45082: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;  mtu 1500
        inet 192.168.42.94  netmask 255.255.255.0  broadcast 192.168.42.255
        inet6 fe80::78f4:9fff:fee4:5082  prefixlen 64  scopeid 0x20&lt;link&gt;
        ether 7a:f4:9f:e4:50:82  txqueuelen 1000  (Ethernet)
        RX packets 7  bytes 816 (816.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31  bytes 6008 (5.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

dpavlin@nuc:/nuc/milkv-duo$ ssh root@192.168.42.1.
The authenticity of host '192.168.42.1. (192.168.42.1)' can't be established.
ED25519 key fingerprint is SHA256:sfqq5/VjPb++J6gD4Q8/JxUn6u2geewQcqPwIjJHiF4.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:809: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.42.1.' (ED25519) to the list of known hosts.
root@192.168.42.1.'s password: ### milkv
[root@milkv-duo]~#

[root@milkv-duo]~# cat /proc/cpuinfo
processor	: 0
hart		: 0
isa		: rv64imafdvcsu
mmu		: sv39

[root@milkv-duo]~# uname -a
Linux milkv-duo 5.10.4-tag- #1 PREEMPT Thu Jun 6 14:28:13 CEST 2024 riscv64 GNU/Linux
[root@milkv-duo]~# free
              total        used        free      shared  buff/cache   available
Mem:         330960       22516      296692         148       11752      300580
Swap:             0           0           0
</pre>
<br /><h2 id="buildroot">buildroot</h2>
<pre>
dpavlin@nuc:/nuc/milkv-duo/duo-buildroot-sdk$ ./build.sh milkv-duos-sd

...

 create partition mounting points and move sytems to read-write partitions
  [TARGET] br-rootfs-pack
make -C /nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05 milkv-duos-sd_musl_riscv64_defconfig BR2_TOOLCHAIN_EXTERNAL_PATH=/nuc/milkv-duo/duo-buildroot-sdk/host-tools/gcc/riscv64-linux-musl-x86_64
make[1]: Entering directory '/nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05'
  GEN     /nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05/output/milkv-duos-sd_musl_riscv64/Makefile
#
# configuration written to /nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05/output/milkv-duos-sd_musl_riscv64/.config
#
make[1]: Leaving directory '/nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05'
/nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05/utils/brmake -j16 -C /nuc/milkv-duo/duo-buildroot-sdk/buildroot-2021.05
2025-01-24T13:36:30 &gt;&gt;&gt; host-util-linux 2.36.2 Building
Done in 10s  (error code: 2)
make: *** [Makefile:597: br-rootfs-pack] Error 2
Error: Build board milkv-duos-sd failed!
dpavlin@nuc:/nuc/milkv-duo/duo-buildroot-sdk$
</pre>
<br /><p>
huh, Debian sid build doesn't work. Build with docker and Ubuntu 22.04 works.</p>
<pre>
docker run --privileged -itd --name duodocker -v $(pwd):/home/work milkvtech/milkv-duo:latest /bin/bash

docker exec -it duodocker /bin/bash -c &quot;cd /home/work &amp;&amp; cat /etc/issue &amp;&amp; ./build.sh milkv-duos-musl-riscv64-sd&quot;
</pre>
<br /><h1 id="duo_256m">Duo 256M</h1>
<h1 id="debian">debian</h1>
<p>
<a target="_blank" title="(external link)" href="https://community.milkv.io/t/debian-images-for-duo256-duos/1715">https://community.milkv.io/t/debian-images-for-duo256-duos/1715</a></p>
<p>
<a target="_blank" title="(external link)" href="https://github.com/Fishwaldo/sophgo-sg200x-debian">https://github.com/Fishwaldo/sophgo-sg200x-debian</a></p>
<h1 id="persisatnt_cdc_ncm_mac_address">persisatnt cdc ncm mac address</h1>
<pre>
[root@milkv-duos]~# grep -C 2 c0:ff /etc/run_usb.sh
  if [ &quot;$CLASS&quot; = &quot;ncm&quot; ] ; then
    # FIXME dpavlin
    echo c0:ff:e0:00:00:44 &gt;$CVI_GADGET/functions/$CLASS.usb$FUNC_NUM/host_addr
    ln -s $CVI_FUNC/ncm.usb$FUNC_NUM $CVI_GADGET/configs/c.1
  fi
</pre>
<br /><ul>
<li>isb rom mode</li>
</ul>
<pre>
dpavlin@nuc:/nuc/milkv-duo/duo-buildroot-sdk-v2/build$ ./tools/cv181x/usb_dl/rom_usb_dl/cv181x_rom_usb_download.py
fip_path: /nuc/milkv-duo/duo-buildroot-sdk-v2/build/fip.bin
CV181X USB download start
Connecting to ROM

</pre>
<br /><h1 id="camera">camera</h1>
<h2 id="raspberry_pi_camera">raspberry pi camera</h2>
<p>
It does not work as well as gc2083</p>
<pre>
[root@milkv-duo]/mnt/data# uname -a
Linux milkv-duo 5.10.4-tag- #1 SMP PREEMPT Mon Dec 9 10:20:52 CST 2024 aarch64 GNU/Linux
[root@milkv-duo]/mnt/data# ls -al
total 28
drwxr-xr-x 2 root root 4096 Dec  6  2024 .
drwxr-xr-x 6 root root 4096 Dec  6  2024 ..
lrwxrwxrwx 1 root root   21 Dec  6  2024 sensor_cfg.ini -&gt; sensor_cfg_GC2083.ini
-rw-r--r-- 1 root root  262 Dec  6  2024 sensor_cfg_GC2083.ini
-rw-r--r-- 1 root root  259 Dec  6  2024 sensor_cfg_OV5647_J1.ini
-rw-r--r-- 1 root root  259 Dec  6  2024 sensor_cfg_OV5647_J2.ini
-rw-r--r-- 1 root root  263 Dec  6  2024 sensor_cfg_SC035HGS.ini
-rw-r--r-- 1 root root  259 Dec  6  2024 sensor_cfg_SC200AI.ini


root@milkv-duo]~# i2cdetect -y 1
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:
[root@milkv-duo]~# i2cdetect -y 2
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- 36 --
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:
[root@milkv-duo]~# cd /mnt/data/
[root@milkv-duo]/mnt/data# ls
sensor_cfg.ini         sensor_cfg_OV5647_J1.ini  sensor_cfg_SC035HGS.ini
sensor_cfg_GC2083.ini  sensor_cfg_OV5647_J2.ini  sensor_cfg_SC200AI.ini
[root@milkv-duo]/mnt/data# grep 36 *
sensor_cfg_OV5647_J1.ini:sns_i2c_addr = 36
sensor_cfg_OV5647_J2.ini:sns_i2c_addr = 36

# this is error prodced on v2 sdk which doesn't work

[root@milkv-duo]/mnt/system/usr/bin# ./sample_sensor_test
[sys_vi_init]-59: MMF Version:7d0dea0a1-64bit
[SAMPLE_COMM_SNS_ParseIni]-2168: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1761: devNum =  1
[parse_sensor_name]-1842: sensor =  OV_OV5647_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1871: bus_id =  3
[parse_sensor_i2caddr]-1882: sns_i2c_addr =  36
[parse_sensor_mipidev]-1893: mipi_dev =  0
[parse_sensor_laneid]-1904: Lane_id =  2, 0, 1, -1, -1
[parse_sensor_pnswap]-1915: pn_swap =  0, 0, 0,  0,  0
[sys_vi_init]-70: Parse complete
[sys_vi_init]-129: set VBpool [0] 1920:1080, BlkCnt= 3, Size = 3133440
family ID request : receive error
ISP Vipipe(0) Allocate pa(0x962f1000) va(0x0x7f9bba3000) size(284104)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0x5dcd00
[SAMPLE_COMM_VI_StartMIPI]-494: sensor 0 stDevAttr.devno 0
[sys_vi_init]-163: vi init failed. s32Ret: 0xffffffff !

[root@milkv-duo]/mnt/data# ln -sf sensor_cfg_OV5647_J2.ini sensor_cfg.ini

# this is working output on v1 sdk

[root@milkv-duo]~# /mnt/system/usr/bin/sensor_test
[sys_vi_init]-41: MMF Version:7e0cc6a08-musl_riscv64
[SAMPLE_COMM_SNS_ParseIni]-1950: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1605: devNum =  1
[parse_sensor_name]-1686: sensor =  OV_OV5647_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1714: bus_id =  2
[parse_sensor_i2caddr]-1725: sns_i2c_addr =  36
[parse_sensor_mipidev]-1736: mipi_dev =  0
[parse_sensor_laneid]-1747: Lane_id =  5, 3, 4, -1, -1
[parse_sensor_pnswap]-1758: pn_swap =  0, 0, 0,  0,  0
[SAMPLE_PLAT_SYS_INIT]-72: common pool[0] BlkSize 3133440
ISP Vipipe(0) Allocate pa(0x97b1f000) va(0x0x3fda046000) size(291120)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0xef898
[SAMPLE_COMM_VI_StartMIPI]-483: sensor 0 stDevAttr.devno 0
awbInit ver 6.8@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
19700101 02:29:34.620 2892 E isp setNoiseProfile:3460 Noise profile get fail. Please check
ViPipe:0,===OV5647 1080P 30fps 10bit LINE Init OK!
********************************************************************************
cvi_bin_isp message
gerritId:      36403          commitId:      c69c5863e
md5:           cab880835a2ad5184de5ed7762404b84
sensorNum      1
sensorName0    22087

PQBIN message
gerritId:      80171          commitId:      5c9d8fc5d
md5:           ba5a510e093ad42db6788e6c2d13169e
sensorNum      3
sensorName0    2053

author:        wanqiang.he    desc:          思博慧CV1812H_GC2083_RGB_mode_V1.0.0
createTime:    2023-08-04 16:48:08version:       V1.1
tool Version:       v3.0.5.24           mode:
********************************************************************************
sensorName(0) mismatch, mwSns:22087 != pqBinSns:2053
[SAMPLE_COMM_ISP_Thread]-95: ISP Dev 0 running!
0 R:1165 B:3087 CT:2688
1 R:1464 B:2327 CT:3937
2 R:1974 B:1613 CT:7225
Golden 1464 1024 2327
wdrLEOnly:1
[main]-578: ---Basic------------------------------------------------
[main]-579: 1: dump vi raw frame
[main]-580: 2: dump vi yuv frame
[main]-581: 3: set chn flip/mirror
[main]-582: 4: linear wdr switch
[main]-583: 5: AE debug
[main]-584: 6: sensor dump
[main]-585: 7: sensor proc
[main]-586: 255: exit
[main]-587: input your choice: 255
ISP Vipipe(0) Free pa(0x97b1f000) va(0x0x3fda046000)

[root@milkv-duo]~# camera-test.sh
</pre>
<br /><p>
This only works with original v1 version of sdk <a target="_blank" title="(external link)" href="https://github.com/milkv-duo/duo-buildroot-sdk/releases">https://github.com/milkv-duo/duo-buildroot-sdk/releases</a></p>
<h2 id="gc2083">gc2083</h2>
<pre>
[root@milkv-duos]~# i2cdetect -y 3
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- -- 37
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:

[root@milkv-duos]~# ls -al /mnt/data/sensor_cfg.ini
lrwxrwxrwx 1 root root 21 Jan  1 00:01 /mnt/data/sensor_cfg.ini -&gt; sensor_cfg_GC2083.ini

[root@milkv-duos]~# which camera-test.sh
/mnt/system/usr/bin/camera-test.sh

[root@milkv-duos]~# cat /mnt/system/usr/bin/camera-test.sh
#!/bin/sh

export LD_LIBRARY_PATH=/mnt/system/lib

sample_vi_fd /mnt/cvimodel/scrfd_768_432_int8_1x.cvimodel
</pre>
<br /><h3 id="run_yolo_model">run yolo model</h3>
<pre>
[root@milkv-duos]~# ./sample_vi_od yolov3 yolov3.cvimodel

[SAMPLE_COMM_SNS_ParseIni]-1950: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1605: devNum =  1
[parse_sensor_name]-1686: sensor =  GCORE_GC2083_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1714: bus_id =  3
[parse_sensor_i2caddr]-1725: sns_i2c_addr =  37
[parse_sensor_mipidev]-1736: mipi_dev =  0
[parse_sensor_laneid]-1747: Lane_id =  2, 0, 1, -1, -1
[parse_sensor_pnswap]-1758: pn_swap =  0, 0, 0,  0,  0
MMF Version:7e0cc6a08-musl_riscv64
Create VBPool[0], size: (3110400 * 3) = 9331200 bytes
Create VBPool[1], size: (3110400 * 3) = 9331200 bytes
Create VBPool[2], size: (2359296 * 1) = 2359296 bytes
Total memory of VB pool: 21021696 bytes
Initialize SYS and VB
Initialize VI
ISP Vipipe(0) Allocate pa(0x9680e000) va(0x0x3fbd57e000) size(291120)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 25.000000 wdrMode 0 pstSnsObj 0x3fbe3d0860
[SAMPLE_COMM_VI_StartMIPI]-483: sensor 0 stDevAttr.devno 0
awbInit ver 6.8@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
ViPipe:0,===GC2083 1080P 30fps 10bit LINE Init OK!===
********************************************************************************
cvi_bin_isp message
gerritId:      36403          commitId:      c69c5863e      
md5:           cab880835a2ad5184de5ed7762404b84
sensorNum      1              
sensorName0    2083           

PQBIN message
gerritId:      80171          commitId:      5c9d8fc5d      
md5:           ba5a510e093ad42db6788e6c2d13169e
sensorNum      3              
sensorName0    2053           

author:        wanqiang.he    desc:          思博慧CV1812H_GC2083_RGB_mode_V1.0.0
createTime:    2023-08-04 16:48:08version:       V1.1           
tool Version:       v3.0.5.24           mode:      
********************************************************************************
sensorName(0) mismatch, mwSns:2083 != pqBinSns:2053
[SAMPLE_COMM_ISP_Thread]-95: ISP Dev 0 running!
Initialize VPSS
---------VPSS[0]---------
Input size: (1920x1080)
Input format: (19)
VPSS physical device number: 1
Src Frame Rate: -1
Dst Frame Rate: -1
    --------CHN[0]-------
    Output size: (1920x1080)
    Depth: 1
    Do normalization: 0
        Src Frame Rate: -1
        Dst Frame Rate: -1
    ----------------------
    --------CHN[1]-------
    Output size: (1920x1080)
    Depth: 1
    Do normalization: 0
        Src Frame Rate: -1
        Dst Frame Rate: -1
    ----------------------
------------------------
Bind VI with VPSS Grp(0), Chn(0)
Attach VBPool(0) to VPSS Grp(0) Chn(0)
Attach VBPool(1) to VPSS Grp(0) Chn(1)
Initialize VENC
venc codec: h264
venc frame size: 1920x1080
Initialize RTSP
rtsp://169.254.72.208/h264
prio:0
version: 1.4.0
yolove416opt Build at 2024-12-03 01:10:02 For platform cv181x
Max SharedMem size:8306688
Enter TDL thread
Enter encoder thread
0 R:1165 B:3087 CT:2688
1 R:1464 B:2327 CT:3937
2 R:1974 B:1613 CT:7225
Golden 1464 1024 2327
wdrLEOnly:1
obj count: 0, take 473.42,width:1920 ms
obj count: 2, take 474.43,width:1920 ms
^Chandle signal, signo: 2
Exit encoder thread
Exit TDL thread
destroy middleware
ISP Vipipe(0) Free pa(0x9680e000) va(0x0x3fbd57e000)
stop VPSS (0)
[root@milkv-duos]~# 
</pre>
<br /><h1 id="tdl">tdl</h1>
<p>
<a target="_blank" title="(external link)" href="https://milkv.io/docs/duo/application-development/tdl-sdk/tdl-sdk-introduction">https://milkv.io/docs/duo/application-development/tdl-sdk/tdl-sdk-introduction</a></p>
<pre>

</pre>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>riscv</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?milk_v_duo</guid>
<pubDate>Sat, 01 Feb 2025 11:54:56 -0000</pubDate>
</item>
<item>
<title><![CDATA[Raspberry Pi Camera]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?raspberry_pi_camera</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div class="wiki">
<p>
OV5647 15 pin FPC</p>
<h1 id="python">python</h1>
<ul>
<li><a target="_blank" title="(external link)" href="https://github.com/waveform80/picamera">https://github.com/waveform80/picamera</a></li>
</ul>
<h1 id="motion_tracking">motion tracking</h1>
<ul>
<li><a target="_blank" title="(external link)" href="https://github.com/YggdrasiI/RPIMotionDetection">https://github.com/YggdrasiI/RPIMotionDetection</a></li>
<li><a target="_blank" title="(external link)" href="https://www.raspberrypi.org/forums/viewtopic.php?p=556717#p556717">https://www.raspberrypi.org/forums/viewtopic.php?p=556717#p556717</a></li>
</ul>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category></category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?raspberry_pi_camera</guid>
<pubDate>Mon, 27 Jan 2025 07:28:52 -0000</pubDate>
</item>
<item>
<title><![CDATA[Ikea Zigbee]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?ikea_zigbee</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div class="wiki">
<p>
<a target="_blank" title="(external link)" href="https://zigbee.blakadder.com/index.html">https://zigbee.blakadder.com/index.html</a></p>
<h1 id="rodret_dimmer">rodret dimmer</h1>
<p>
To pair the device, reset the device by pressing the pair button exactly 4 times quickly. Then trigger the configuration of the zigbee-device by holding the pair button for 10 seconds.</p>
<h1 id="traderi_led">traderi led</h1>
<p>
pair by turning it off and on 6 times in quick succession</p>
<p>
<a target="_blank" title="(external link)" href="https://www.youtube.com/watch?v=mJm9YpPrGzk">https://www.youtube.com/watch?v=mJm9YpPrGzk</a></p>
<h1 id="vallhorn_pir">vallhorn pir</h1>
<p>
push the vallhorn device link button 4 times in max 5 sec</p>
<h1 id="stoftmoln_light">Stoftmoln light</h1>
<p>
urn off and on 1 second between 6 times I think or 5.</p>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category></category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?ikea_zigbee</guid>
<pubDate>Tue, 21 Jan 2025 16:52:57 -0000</pubDate>
</item>
</channel>
</rss>