70 Commits

Author SHA1 Message Date
Thomas Farstrike 3deb9a9533 fri3d_2026 detection 2026-03-23 07:49:26 +01:00
Thomas Farstrike a9b41b2a2d Fix desktop run 2026-03-22 23:03:58 +01:00
Thomas Farstrike 1ca30efac8 Improve lilygo_t_display_s3 board detection 2026-03-22 22:19:02 +01:00
Thomas Farstrike ba36b213d3 Readability 2026-03-19 17:49:04 +01:00
Thomas Farstrike c8c90456e0 ODroid go: use full MAC address prefix
Otherwise it's way too easy to conflict with other boards.
2026-03-19 16:23:07 +01:00
Thomas Farstrike 7d7394e454 Rename FirstRun to HowTo 2026-03-18 12:01:26 +01:00
Thomas Farstrike 8ac4016e33 Add WebServer settings app 2026-03-17 19:30:34 +01:00
Thomas Farstrike 937db9e306 firstrun: handle auto start 2026-03-11 21:14:04 +01:00
Thomas Farstrike a7727d7a0b task_handler each 1ms for higher framerate, start firstrun at startup, remove launcher icon (not needed) 2026-03-11 18:44:06 +01:00
Jens Diemer 2f4adfcace Add support for unPhone 9 (#74)
https://unphone.net/

What worked:

- hx8357d Display and XPT2046 touch screen works
- Turn display backlight on/off via TCA9555 chip
- Buttons

TODOs:

- Use LEDs
- LoRa
- IR

`.../lib/drivers/display/hx8357d/` is a not modified copy from
https://github.com/lvgl-micropython/lvgl_micropython/tree/main/api_drivers/common_api_drivers/display/hx8357d

`.../lib/drivers/indev/xpt2046.py` based on
https://github.com/lvgl-micropython/lvgl_micropython/blob/main/api_drivers/common_api_drivers/indev/xpt2046.py
but is modified: Because of the shared SPI bus for SPI for hx8357d display and xpt2046 touch
controller. For this i add the management of `CS` pins for reading the touch controller.
Let's discuss how to add this to upstream in
https://github.com/lvgl-micropython/lvgl_micropython/issues/536
2026-03-11 12:38:52 +01:00
Thomas Farstrike 519ceaae6f webrepl: support access from LAN, without internet
Host everything on the device itself, rather than redirecting
to https://micropython.org/webrepl/ because that doesn't work when
there is not internet, including when the device is in Access Point
mode.

This was a bit slow, because of the many files and being pretty large,
but the inline_minify_webrepl.py makes this much better and brings it
down to around 1s to load the page, versus 20 seconds.

The minification also reduces the size from around 160KB to 80KB.
2026-03-05 11:17:25 +01:00
Thomas Farstrike 7d707244dd bma423: avoid i2c scan if possible 2026-03-02 00:21:52 +01:00
Thomas Farstrike 6ce0fcfc4e lilygo_t_watch_s3_plus: add bma423 IMU sensor 2026-03-02 00:06:25 +01:00
Thomas Farstrike f492278b99 Improve lilygo_t_watch_s3_plus 2026-03-01 22:45:30 +01:00
Thomas Farstrike 19420163b7 Move import closer to where it's needed 2026-02-27 14:11:56 +01:00
Thomas Farstrike 557520cafa Comments 2026-02-25 22:03:55 +01:00
Thomas Farstrike 5740b29f11 Add webrepl on esp32 2026-02-25 19:49:30 +01:00
Thomas Farstrike 5555a83d7c Use lilygo_t_display_s3 for emulated t-display-s3
This means the qemu.py is deprecated.
2026-02-25 18:09:43 +01:00
Thomas Farstrike c95a24bbfa lilygo_t_display_s3: fix keyboard handling 2026-02-24 00:12:08 +01:00
Thomas Farstrike e8601c5b05 Board detect: use more digits
Otherwise it will break if espressif wraps around and starts
producing boards with the same first digit of the unique ID.
2026-02-23 23:03:42 +01:00
Thomas Farstrike 965df2545c fri3d_2026: fix audio 2026-02-20 16:09:38 +01:00
Thomas Farstrike 13891fe363 Add lilygo_t_display_s3 (unfinished) 2026-02-20 15:39:09 +01:00
Thomas Farstrike 8a54db91ef Add lilygo_t_watch_s3_plus (untested) 2026-02-18 15:46:28 +01:00
Jens Diemer 0423e09522 Updates for ODROID-GO (#40)
Setup the "Buzzer" and play intro and outro ;) Don't know if "I2S audio" is possible.

Battery "settings": I tested to run ODROID-GO as long as it's possible. The min. raw ADC value on
ODROID-GO i have seen is 210. So update the calculation.

Fix the boot by moving ODROID-GO below `fri3d_2024` because the device will hard crash on
`fail_save_i2c(sda=9, scl=18)` like:
```
MicroPythonOS 0.8.1 running lib/mpos/main.py
matouch_esp32_s3_spi_ips_2_8_with_camera_ov3660 ?
Try to I2C initialized on sda=39 scl=38
OK
Attempt to write a single byte to I2C bus address 0x14...
No device at this address: [Errno 116] ETIMEDOUT
Attempt to write a single byte to I2C bus address 0x5d...
No device at this address: [Errno 116] ETIMEDOUT
waveshare_esp32_s3_touch_lcd_2 ?
Try to I2C initialized on sda=48 scl=47
Failed: invalid pin
m5stack_fire ?
Try to I2C initialized on sda=21 scl=22
OK
Attempt to write a single byte to I2C bus address 0x68...
No device at this address: [Errno 19] ENODEV
fri3d_2024 ?
Try to I2C initialized on sda=9 scl=18
OK

A fatal error occurred. The crash dump printed below may be used to help
determine what caused it. If you are not already running the most recent
version of MicroPython, consider upgrading. New versions often fix bugs.

To learn more about how to debug and/or report this crash visit the wiki
page at: https://github.com/micropython/micropython/wiki/ESP32-debugging

LVGL MicroPython
IDF version : v5.4
Machine     : Generic ESP32 module with SPIRAM with ESP32

Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x401b04dd  PS      : 0x00060830  A0      : 0x801b0944  A1      : 0x3ffdb390
A2      : 0x3f80d2b0  A3      : 0x00000054  A4      : 0x3f8105e8  A5      : 0x3f54b240
A6      : 0x00000001  A7      : 0xaaaaae2a  A8      : 0x00000019  A9      : 0x3ffdb370
A10     : 0xaaaaae2a  A11     : 0x00000063  A12     : 0x3ffc7ccc  A13     : 0x00000000
A14     : 0x3f4464f4  A15     : 0x00000001  SAR     : 0x00000020  EXCCAUSE: 0x0000001c
EXCVADDR: 0xaaaaae37  LBEG    : 0x401d2964  LEND    : 0x401d296d  LCOUNT  : 0x00000000

Backtrace: 0x401b04da:0x3ffdb390 0x401b0941:0x3ffdb3b0 0x40086719:0x3ffdb3d0 0x401a90da:0x3ffdb460
0x401b07ba:0x3ffdb490 0x40085de9:0x3ffdb4b0 0x401a90da:0x3ffdb540 0x401b07ba:0x3ffdb5b0
0x40085de9:0x3ffdb5d0 0x401a90da:0x3ffdb660 0x401b07ba:0x3ffdb690 0x401b083a:0x3ffdb6b0
0x401d35c1:0x3ffdb6f0 0x401d3809:0x3ffdb730 0x401b0919:0x3ffdb830 0x40085b59:0x3ffdb870
0x401a90da:0x3ffdb900 0x401b07ba:0x3ffdb970 0x401b07e2:0x3ffdb990 0x401e8d02:0x3ffdb9b0
0x401e90c9:0x3ffdba40 0x401c5b2d:0x3ffdba70
```
2026-02-16 21:42:14 +01:00
Thomas Farstrike 4ab4e31de1 Fix board detect 2026-02-15 14:37:24 +01:00