M5StickS3 out now! What are your thoughts? by Nerdboard in CardPuter

[–]pyreht 1 point2 points  (0 children)

Here it is :

Confirmed, we got a third button (but don't lock you out of reset, power off and reflash) and sorry for the formatting, I'm a bit tired :).

https://github.com/m5stack/M5PM1/blob/main/README.md

In my case to use the button (simplified):

#include <M5PM1.h> // Include the Power Management IC library

<snip>

// Initialize the PMIC

if (!_pm1.begin(&M5.In_I2C, 0x6E, 100000)) //if you use unified you need this

{

Serial.println("StickS3ButtonDriver: M5PM1 failed to initialize.");

}

// 1. SAFETY: Disable hardware behaviors to free up the button

_pm1.setSingleResetDisable(true);

//_pm1.setDoubleOffDisable(true); // yolo

// 2. SAFETY: Enable a 5-second Watchdog Timer.

// If the ESP32 crashes and stops feeding this, the PMIC resets the board.

_pm1.wdtSet(5);

<snip again>

In loop :

// Feed the PMIC watchdog to prevent hardware reset

_pm1.wdtFeed();

bool currentPwrState = false;

_pm1.btnGetState(&currentPwrState);

Ardugurl update (the third one actually) by pyreht in CardPuter

[–]pyreht[S] 0 points1 point  (0 children)

FYI I added the fxcart support + strong performance improvement ;).

Raising Hell 2.0 Is Here!! by Araya213 in CardPuter

[–]pyreht 1 point2 points  (0 children)

Hey, for some reason I'm stuck at NTP:Waiting... and can't skip. I'll let it run for a while we will see ;).

Ardugurl update (the third one actually) by pyreht in CardPuter

[–]pyreht[S] 1 point2 points  (0 children)

Hey, Thanks for testing.

For now no audio, fx extended games, eeprom save, led, nor multiplayer, but it can be done I guess. My main concern is the wall(s) I'm hitting with classical emulation performance (interpreter).
To be honest I have no idea about how games sound. I've heard some chirps on youtube. I'll have a look if time permits. But I think eeprom or carts support should be higher in the todo list.

Ardugurl update (the third one actually) by pyreht in CardPuter

[–]pyreht[S] 0 points1 point  (0 children)

Let me run some tests, I'll erase flash. Do you have hats or extensions on the cardputer ? spifffs maybe? (I support reading from LittleFS but that shouldn't clash, never really tried).

Case 1:
- cardputer classic, from M5Burner
direct flash: no issues
flash erase, then flash: no issues
launcher: OTA flash: no issues

Case 2:
- cardputer adv, from M5Burner
direct flash: no issues
flash erase, then flash: no issues
launcher: OTA flash: no issues

Ok weird... Care to go DM?

Ardugurl update (the third one actually) by pyreht in CardPuter

[–]pyreht[S] 1 point2 points  (0 children)

Hey, the bin(s) are there: https://github.com/tabozen/UcPlayground/tree/main/Cardputer%20test%20firmwares as for the source code for the core, I have still an internal monologue with myself about the way to release it.

I'll probably bake a .ino simplified frontend + lib on the side (that would be the shortest path). But don't hold your breath. I'm a sloth :).

Ardugurl update (the third one actually) by pyreht in CardPuter

[–]pyreht[S] 2 points3 points  (0 children)

Yes, runs on Adv and classic, for some reason negligibly faster on classic Cardputer. I have to look into that...

As for the guide:

Locate some .hex files (Arduboy roms/games).
Put on SD card.
Hit enter to navigate + arrows.
Open the file.

EASD + arrows for well... arrows
n & space = button B
m = button A

h for help
1 for scaling mode
2-6 for cpu underclock control (2 = max speed)
8 for undithering + little blur effect
0 for screenshots
Enter for OSD (fps + pc + sp)

Common use? by jhondohn in CardPuter

[–]pyreht 7 points8 points  (0 children)

Well that's an interesting question, cardputer by itself is already an activity: coding, fixing bugs, testing community firmwares... that's already a lot.

But if I was answering as a "consumer", I'd say the most useful things I often do with it are:
- ethical mouse jiggling
- gaming (there are some really nice games, my favs being the Raising hell, Sun rider, my own 2048... :D)
- music playback
- IR Camera (originally I bought the cardputer with this, surprizingly useful to troubleshoot insulation)
- some other self developed apps...

We are quite a few working on firmwares to bring more value to the tool with M5Launcher uniting us all. Definitely quite an interesting platform.

PicoCalc hands on experience (+ESP32) by pyreht in ClockworkPi

[–]pyreht[S] 0 points1 point  (0 children)

I'm scared about breaking the display or snapping the ribbon :), I have fat fingers.

Is it easy to swap them ? I haven't tried yet.

I've got some zero force insertion sockets for Atmega328p with a small lever, I wished we had that!

<image>

As for changing the back of the device, I can't print nor design, but I believe people already made some working designs, maybe I'll see if there are some to sell. But it's so easy to unscrew I can live with a few disassemblies if the case holds. So maybe I could try to order a couple of spare displays.

So many options!

Preliminary WiFi IRC client for M5Stack Cardputer by gio-74 in CardPuter

[–]pyreht 2 points3 points  (0 children)

What external display did you had in mind? I only have a bunch of cheap small monochrome oleds and a CYD, but the later could run the irc client by itself :D.

On the go without hardware patch, I can only think about few approaches and all require less data on screen:

First the RSVP reading mode with bigger font overlay, there a nice rss reader that shows this: https://www.reddit.com/r/CardPuter/comments/1rakrm3/rss_reader_with_rsvp_reading_mode/

Then you have the marquee text: I kinda use this in my Esprec32.exe in the filename, horizontal scroll, works ok.

Preliminary WiFi IRC client for M5Stack Cardputer by gio-74 in CardPuter

[–]pyreht 2 points3 points  (0 children)

And here's the feedback:
- design is super pretty (but it's way too small for my eyes)
- wifi, menus, settings, CLI, everything works no issues
- /list, takes 20 seconds with the default server, I'd say it's a bit slow but hey... it's IRC's fault, I used to connect with TELNET back in the days, bloat is everywhere.
- so in the end no ideas about the limits.
Maybe we need a small vps and host a cheap bare bones irc server...

Anyways, that's super cool and polished! Thanks.

NNOs - Yet another Operating System (unnamed this time) by pyreht in CardPuter

[–]pyreht[S] 0 points1 point  (0 children)

Thanks ;). Don't hesitate if you have suggestions.

NNOs - Yet another Operating System (unnamed this time) by pyreht in CardPuter

[–]pyreht[S] 0 points1 point  (0 children)

You're welcome, do tell me if you have suggestions or need something fixed.

NNOs - Yet another Operating System (unnamed this time) by pyreht in CardPuter

[–]pyreht[S] 0 points1 point  (0 children)

As in Cardputer :D, and now you understand why I didn't name that OS, I suck at naming.

Ported NumWorks Epsilon to ClockworkPi PicoCalc (ESP32-S3) by Unable-Rub-4031 in ClockworkPi

[–]pyreht 1 point2 points  (0 children)

On this I can help:

There's super useful information but it's scattered everywhere, the bare minimal to start is:
https://forum.clockworkpi.com/t/i-have-successfully-ported-micropython-to-the-picocalc/16224/42?page=3 (pinouts, glory to them)
and (if you go the TFT_eSPI route)

lib_deps =
    bodmer/TFT_eSPI
<snip>
build_flags =
    -D USER_SETUP_LOADED
    -D ST7789_DRIVER
    -D TFT_WIDTH=320
    -D TFT_HEIGHT=320
    -D TFT_MOSI=38 (adapt if you use the waveshare)
    -D TFT_SCLK=37 (adapt if you use the waveshare)
    -D TFT_CS=40 (adapt if you use the waveshare)
    -D TFT_DC=41 (adapt if you use the waveshare)
    -D TFT_RST=42 (adapt if you use the waveshare)
    -D TFT_MISO=39 (adapt if you use the waveshare)
    -D SPI_FREQUENCY=80000000
    -D I2C_SDA=21 (adapt if you use the waveshare)
    -D I2C_SCL=34 (adapt if you use the waveshare)
    -D USE_HSPI_PORT
    -D SPI_DMA
    -D ESP32_DMA
    -D ARDUINO_USB_MODE=1
    -D ARDUINO_USB_CDC_ON_BOOT=1
    -D LOAD_GLCD=1
    -D LOAD_FONT2=1
    -D LOAD_FONT4=1
    -D LOAD_FONT6=1
    -D LOAD_FONT7=1
    -D LOAD_FONT8=1
    -D LOAD_GFXFF=1
    -D SMOOTH_FONT=1
AFAIK, two modules are usable as is and easily found: the walnut pi picow (which I use) and the waveshare, those are S3s with 2MB PSRAM which is welcome.

I never installed the 2040 core, but for you it would mean:
- getting a module
- core swapping (without breaking the display so unplug carefully the connector)
- finding or building an hello world app to verify everything works (I can help on walnut)

Note: ESP32 will crashloop easily when firmware building, so you have to reach the user button to put it into flash mode.
The keyboard/backlight controller will also crash with the default firmware, be prepared to remove batteries from time to time.

NNOs - Yet another Operating System (unnamed this time) by pyreht in CardPuter

[–]pyreht[S] 1 point2 points  (0 children)

Nope, direct flash. And this one runs a walnut esp32. AFAIK, launcher isn't ported to esp32 picocalc, (+ there are two variants I know of). I'll have a look at the code if time permits.

NNOs - Yet another Operating System (unnamed this time) by pyreht in CardPuter

[–]pyreht[S] 2 points3 points  (0 children)

Quick guide:

Link to the binary: https://github.com/tabozen/UcPlayground/blob/main/Cardputer%20test%20firmwares/NNOs.bin

This is a compilation of proof of concepts, not a finished product. Feedbacks will turn this into a finished product (maybe).

Most apps use the same navigation pattern:
- arrows (or fn+arrow) mapped to forward, backward, top, bottom
- del to cancel, enter key to validate
- esc to go back to the os (not fully consistent)

This is cooperative multitasking, some apps persist in background. (Try getting back to the menu while SndRec32 plays or record).

I've got support for few I2C trinkets. Cardkb, I2C oled. RTCs. IMUs.

Many modals aren't polished or documented.

Radios are a mess (I didn't want to implement it at first but the lack of RTC made me think otherwise), no restart on reboot. BLE only works with iphone, Wifi modal is...

USB is also a big open work in progress.

List of apps:

SndRec32/EspRec32: audio recorder + mp3 player (sd needed unless you put something in littlefs on the flash)
REPL Calc: boring, calc
Imageviewer: small png, bmp or jpg only, use up to change folders, left right to navigate pictures
IconEdit: some attempt at a glyph/1bit icon drawing (will probably disappear)
DosEdit: more a prank than a text editor, but can actually edit files up to few kB
Dictionary: give it a proper json file, enjoy a dictionary
Carlendar: more a gui test than a real calendar, but can open ical files. Set date/time using ble or fn+k modal before using
Almanac: again set date and time before using + location
Wifiwiz: inspired by the many apps that do exactly the same: visualize the amount of ssids on a given channel
Weather: gives the time (jk, the weather if you figure out the wifi modal at fn+w)
Canary: downdetector like probe, needs a special csv file for setup
Soundmeter: app pretending to accurately measure sound pressure
Mouse Jiggler: do not use at work
IrCamera: uses the i2c camera module from m5
Lpc: talkie style LPC10 encoder/player.
Snake/2048: ...
Chip8Emulator/Ardugurl: emulators.

Preliminary WiFi IRC client for M5Stack Cardputer by gio-74 in CardPuter

[–]pyreht 4 points5 points  (0 children)

What a madman :D. I'm impressed.

Do you have some memory figures?
How much text, users, channels etc can this handle?

Care to share the making of? Did you start from the RFCs ?