November 14, 2026, 11:27:58 AM

Recent posts

#1
Neo6502 / Re: Prophet server for the Neo...
Last post by béné - Today at 12:51:21 AM
Hi Ralf,

Thanks for the detailed report, it helped a lot. I need to correct what I said earlier: the Olimex UART WiFi module is not unsupported at the protocol level. The network client speaks standard AT commands (ATE0, AT+CIPSTART, AT+CIPSEND, +IPD) at 115200 8N1.

The likely cause of the error flood is on Trinity's side. The module plugs into the UEXT, which is the same UART (uart0, GPIO 28/29) as Trinity's debug port, also at 115200 baud. Trinity sent a status line every second on it. The ESP8266 answers "ERROR" to that text, and everything received on that UART was fed into the keyboard queue. NeoDOS therefore typed the module's answers (hence the files like "ER" and "ROR") and echoed them back, which created a feedback loop.

I have changed the debug port so that it stays silent and ignores incoming bytes until it is deliberately woken up. The fix is in Trinity 0.16.103, now on the Prophet server:
  • client settings: set server prophet.3617.fr and set port 8998
  • entry firmware/trinity, file trinity.uf2, to be copied onto the RPI-RP2 drive in BOOTSEL mode
  • SHA-256: 36cfd174113d254ceb078aab75c133ed5d9db0c68a6a55a7a038bab7f163fc35

You can also build it from source: https://github.com/benedictemarty/Neo6502firmware/tree/trinity-v0.16.103

Please note that this is a test build. It was compiled and tested in an emulator only, not on a real board. I do not have the Olimex module, so I have never tried it myself and cannot confirm that it works.

If you are willing to try it with the module plugged into the UEXT, the expected result is no error flood and no stray files. Could you also tell me which port/pins the module is connected to, and whether the files still appear?

Thanks again for testing Trinity so thoroughly.

béné
#2
New Products release / OpenFest 2026 Soldering worksh...
Last post by olimex - November 10, 2026, 02:50:15 PM
Open Fest Soldering Workshop for beginners recap https://olimex.wordpress.com/2026/11/10/openfest-2026-soldering-workshop-recap/ #oshw #soldering #embedded #electronics #maker #stem #openfest2026
#3
A20 / ### ERROR ### Please RESET the...
Last post by laskov - November 10, 2026, 11:01:36 AM
Hello,

I tested two images on different microSD cards and the result is the same. Booting stops with:


U-Boot SPL 2021.04+olimex-1-20250305.102147 (Mar 05 2025 - 10:22:57 +0000)
DRAM: 0 MiB                                                                     
### ERROR ### Please RESET the board ###                                       
                                                                               
U-Boot SPL 2013.10-rc2-08400-g8a4621c (Oct 29 2013 - 15:24:26)                 
Board: A20-OLinuXino_MICRO                                                     
DRAM: ? ? 0 MiB                                                                 
### ERROR ### Please RESET the board ###

Please help! What could the problem be, and how can I fix it?

A20-Olinuxino-Micro Rev. G
#4
A64 / SPI Bus on UEXT connector on A...
Last post by winfried - November 10, 2026, 12:30:43 AM
Want to drive the Olimex ADS1262 (ADC converter) on the UEXT connector,
on my A64-OLinuXino-2Ge8G-IND, running OLIMAGE with kernel 5.10.180-olimex:

running `olinuxino-overlay`and selecting "spi0-spidev.dtbo" and reboot did not bring up the "/dev/spidev0.0" .

With help of "GPT-6.1 Terra" I got a solution, I do not understand at all, so I ask here if this is a valid/good solution ?

Here the summary:
---

A64-OLinuXino: SPI overlay in uEnv.txt was added.

No /dev/spidev* device appeared, and both SPI controllers were still marked disabled in the running device tree.

What was wrong:

This image boots from a FIT image (/boot/kernel.itb). Although /boot/boot.cmd imports uEnv.txt, it does not apply the fdtoverlays list in the FIT boot path. The FIT configuration for my board included the I²C0 overlay, but not the SPI overlays.

Also, two SPI0 overlays are needed:

sun50i-a64-spi0.dtbo enables the SPI0 controller.
spi0-spidev.dtbo adds the userspace SPI device on chip select 0.
The spi0-spidev overlay alone does not enable its parent controller.

What worked:
I backed up /boot/kernel.itb and edited the FIT template at /usr/lib/olinuxino/kernel.its:

Added an image entry for spi0-spidev.dtbo.
Added both the existing SPI0 controller overlay and the new spidev overlay to the config-8861 FDT list, keeping the existing I²C0 overlay.
Rebuilt /boot/kernel.itb and rebooted.
After reboot, /dev/spidev0.0 appeared.

The practical lesson for this image is that adding overlays to uEnv.txt was not sufficient: they had to be included in the FIT configuration actually used to boot the board. The same issue may affect other overlays listed only in uEnv.txt, such as a DS3231 RTC overlay.
---

I remember years ago, it was working with the "olinuxino-overlay", so I am not sure this is the right fix.

mfg winfried

Appendix patch:
--- /usr/lib/olinuxino/kernel.its.before-spi    2026-06-30 10:45:19.000000000 +0100
+++ /usr/lib/olinuxino/kernel.its       2026-11-09 21:53:39.849073203 +0000
@@ -153,6 +153,19 @@
                             algo = "sha1";
                     };
                 };
+overlay-4 {
+    data = /incbin/("/usr/lib/olinuxino-overlays/sun50i-a64/spi0-spidev.dtbo");
+    type = "flat_dt";
+    arch = "arm64";
+    compression = "none";
+    load = <0x4FA40000>;
+    hash-1 {
+        algo = "crc32";
+    };
+    hash-2 {
+        algo = "sha1";
+    };
+};
         };
 
         configurations {
@@ -178,7 +191,7 @@
                         description = "Boot Linux kernel ${VERSION} with A64-OLinuXino-2Ge8G-IND";
                         kernel = "kernel-1";
                         ramdisk = "ramdisk-1";
-                        fdt = "fdt-3", "overlay-1";
+                       fdt = "fdt-3", "overlay-1", "overlay-2", "overlay-4";
                         compatible = "olimex,a64-olinuxino-2ge8g-ind";
                 };
cd /boot
sudo sh -c 'sed "s/\${VERSION}/$(uname -r)/g" \
  /usr/lib/olinuxino/kernel.its > /boot/kernel-spi-test.its'
sudo mkimage -f /boot/kernel-spi-test.its /boot/kernel-spi-test.itb
#5
A64 / Re: Realtime scheduling for au...
Last post by winfried - November 10, 2026, 12:11:12 AM
Intermediate result: Until now, I installed jackd and puredata as service: it runs for 2 Weeks and is stable , everything seems fine.
 :)
#6
ESP32 / Re: ESP32-P4 micropython port
Last post by puhuri - November 07, 2026, 01:33:58 PM
I was testing ESP-P4-DevKit (rev D1) ethernet on micropython. Seems that I cannot find the right set of parameters to initialize connection.

With vanilla Micropython ESP32_P4 v1.29 (PRE_V3 variant:(sysname='esp32', nodename='esp32', release='1.29.0', version='v1.29.0 on 2026-08-24', machine='Generic ESP32P4 with pre revision 3 chip with ESP32-P4')) the error message is OSError: esp_eth_driver_install failed with invalid argument for all the cases.

With kerekesg firmware (sysname='esp32', nodename='esp32', release='1.27.0-preview', version='v1.27.0-preview.339.gbe4892097e.dirty on 2025-10-23', machine='Olimex ESP32-P4-DevKit with ESP32-P4') the error is a bit more useful:

E (30570) esp_eth: esp_eth_driver_install(209): can't set eth->mac or eth->phy to null
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
I've tried several intialization parameters but no luck (leaving some parameters out and trying out variations). The most correct I think is (based on schematic and micropython source):

lan=network.LAN(0, mdc=Pin(31), mdio=Pin(52), phy_type=network.PHY_IP101, phy_addr=1,  reset=Pin(51), ref_clk=Pin(50), ref_clk_mode=0)
but that fails with above error. With kerekesg firmware there seems to be an issue with GPIO configuration as Pin(52) results "ValueError: invalid pin" (Pin(32) works fine, for example).

The ref_clock_mode is a bit guess, 0 is input AFAIK but tried also 1.

Would just want to use wired network connection for a location as the wifi connection there is a bit spotty.

Have not yet tried to compile own firmware (with updated micropython), just trying to first check that it is not something trivial I'm missing here.

#7
New Products release / Ethernet for PICO and PICO2
Last post by olimex - November 04, 2026, 03:40:38 PM
New OSHW board adds 100MB Ethernet for RP2040, RP2350 and ESP32-S3/C3/C5/C6. ESPHome example auto-discovery in Home Assistant, OTA over Ethernet and a ready-to-flash UF2, with no Wi-Fi needed. #HomeAssistant #ESPHome #RP2040 #OSHW
 https://www.olimex.com/Products/Modules/Ethernet/UEXT-CH390/open-source-hardware
#8
A20 / Re: Wich board to correctly mo...
Last post by oly - November 04, 2026, 01:37:56 PM
Any clue about origin of this ?
#9
A20 / Re: Wich board to correctly mo...
Last post by oly - October 31, 2026, 02:23:32 PM
Hi,

I burnt the base img on SD then boot from it with no HDD connected => OK, boot from SD OS
I burnt the base img on SD then boot from it with HDD connected => OK, boot from SD OS

Then I burnt the minimal img on the SD and boot from it with no HDD connected => The system boot many times then I got prompt from SD.
I try 'findmnt -no SOURCE / reports /dev/mmcblk0p1' => nothing visible
lsblk shows only mmcblk0p1

I boot from this SD with HDD connected => OS is loaded from HDD.
The boot screen shows this :
switch to partitions #0, OK
mmc0 is current device
scanning mmc 0:1 ...
Found U-Boot script /boot/boot.scr
2274 bytes read in 3mms (740.2 KiB/s)
## Executing script at 43100000
Bott script loaded from mmc
Checking for /uEnv.txt...
Checking for /boot/uEnv.txt
1156 bytes read in 2 mms
Boot script loaded from mmc



With
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda          8:0    0 111,8G  0 disk
└─sda1        8:1    0 111,8G  0 part /
mmcblk0    179:0    0  14,8G  0 disk
└─mmcblk0p1 179:1    0  14,8G  0 part


EDIT 20261101:
I re  rownload 20-OLinuXino-bookworm-minimal-20260323-113959.img
Re verify md5sum
Reburn it on the same SD
Try to boot with no HDD => OK
Try to boot with HDD connected => KO, boot from HDD

All these inspire me perplexity
#10
ESP32 / Re: Ethernet link not connecti...
Last post by Edac145 - October 31, 2026, 08:31:41 AM
Hi,

I tested the code you provided, but the behavior is the same as before. The Ethernet interface does not come up, and there is still **no link up**.

I have attached the build/runtime logs, along with my board and test setup information below.

RUN TIME LOG
---------------------------------------------------------------------------
entry 0x40080644
--- 0x40080644: call_start_cpu0 at E:/Program_Files/EspTools/Espressif/frameworks/.espressif/v6.0.2/esp-idf/components/bootloader/subproject/main/bootloader_start.c:27
I (27) boot: ESP-IDF v6.0.2 2nd stage bootloader
I (27) boot: compile time Oct 31 2026 10:05:11
I (28) boot: Multicore bootloader
I (29) boot: chip revision: v3.0
I (32) boot.esp32: SPI Speed      : 40MHz
I (35) boot.esp32: SPI Mode      : DIO
I (39) boot.esp32: SPI Flash Size : 4MB
I (42) boot: Enabling RNG early entropy source...
I (47) boot: Partition Table:
I (49) boot: ## Label            Usage          Type ST Offset  Length
I (56) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (62) boot:  1 phy_init        RF data          01 01 0000f000 00001000
I (69) boot:  2 factory          factory app      00 00 00010000 00100000
I (75) boot: End of partition table
I (79) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=14084h ( 82052) map
I (115) esp_image: segment 1: paddr=000240ac vaddr=3ffb0000 size=02c7ch ( 11388) load
I (120) esp_image: segment 2: paddr=00026d30 vaddr=40080000 size=092e8h ( 37608) load
I (136) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=36d60h (224608) map
I (216) esp_image: segment 4: paddr=00066d88 vaddr=400892e8 size=03028h ( 12328) load
I (221) esp_image: segment 5: paddr=00069db8 vaddr=50000000 size=00028h (    40) load
I (228) boot: Loaded app from partition at offset 0x10000
I (228) boot: Disabling RNG early entropy source...
I (242) cpu_start: Multicore app
I (250) cpu_start: GPIO 3 and 1 are used as console UART I/O pins
I (250) cpu_start: Pro cpu start user code
I (250) cpu_start: cpu freq: 160000000 Hz
I (252) app_init: Application information:
I (256) app_init: Project name:    esp32_poe_iso_wrover_diagnostic
I (262) app_init: App version:      uart-v0.1.0-dirty
I (267) app_init: Compile time:    Oct 31 2026 10:04:45
I (272) app_init: ELF file SHA256:  d5f3d297e...
I (276) app_init: ESP-IDF:          v6.0.2
I (280) efuse_init: Min chip rev:    v0.0
I (284) efuse_init: Max chip rev:    v3.99
I (288) efuse_init: Chip rev:        v3.0
I (292) heap_init: Initializing. RAM available for dynamic allocation:
I (298) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (303) heap_init: At 3FFB4140 len 0002BEC0 (175 KiB): DRAM
I (308) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (314) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (319) heap_init: At 4008C310 len 00013CF0 (79 KiB): IRAM
I (326) spi_flash: detected chip: generic
I (328) spi_flash: flash io: dio
I (333) main_task: Started on CPU0
I (335) main_task: Calling app_main()
I (359) poe_diag: ESP-IDF: v6.0.2
I (360) poe_diag: Board: ESP32-POE-ISO-WROVER, PHY LAN8710A
I (360) poe_diag: Mode: forum-code reproduction
I (364) poe_diag: RMII clock: output on GPIO0
I (400) esp_eth.netif.netif_glue: 7c:9e:bd:dc:5f:f3
I (400) esp_eth.netif.netif_glue: ethernet attached to netif
I (4502) poe_diag: Ethernet started
I (4503) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (4504) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (4507) poe_diag: Web server started on port 80
I (4514) main_task: Returned from app_main()
I (7511) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (7511) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (10516) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (10516) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (13521) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (13521) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (16526) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (16526) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (19531) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (19531) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (22536) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (22536) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (25541) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (25541) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (28546) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (28546) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (31551) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (31551) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (34556) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (34556) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (37561) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (37561) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (40566) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (40566) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (43571) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (43571) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (46576) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (46576) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
I (49581) poe_diag: PHY ID=0007:c0f1 BMSR(first/second)=7809/7809 link=0 autoneg_done=0
I (49581) poe_diag: PHY BMCR=3000 ANAR=01e1 ANLPAR=0001 R17=0002 energy=1 R18=60e0 R31=0040
---------------------------------------------------------------------------------------


Board Information
- Board Model: ESP32-POE-ISO-WROVER-EA
- Hardware Revision: N1
- Olimex Part Number: 0000112904
- Manufacturing Date: YYWW 2630

Software
- ESP-IDF Version: v5.5.6 (output using the idf.py --version)

Power Source
- Powered via USB (not PoE)

Network Setup
- Connected directly to my laptop (no router or switch in between)
- IEEE 802.3: Not enabled
- Speed & Duplex: Auto Negotiation enabled

Ethernet Cable
- Type: Cat6
- Length: Approximately 1 meter

Please let me know if there are any additional settings or hardware checks I should perform for the ESP32-POE-ISO-WROVER-EA Rev. N1.