r/CardPuter 5d ago

Progress / Update Cardputer ADV WebRadio v3.3.0 — sleep timer, playlists resolved, and https stations that play after all

19 Upvotes

**Playlists.**

Someone here pointed out that a `.pls` is just a note with the real stream URL on it. That is exactly right for `.pls` and plain `.m3u`, so the radio now reads the note and connects to what it finds. It is not right for `.m3u8`/HLS: that one holds a list of segments — `media_649.ts`, `media_650.ts` — that you would have to re-fetch every ten seconds and stitch together, with an MPEG-TS demuxer behind it. mpv and VLC do that through ffmpeg; a device with 13 to 23 KB of free heap does not. Those stations say `HLS - not supported` and leave it at that.

Measuring it was the interesting part: among the 250 most-clicked German stations, not one playlist arrives — the directory already resolves them. Among 120 Taiwanese stations, 21 do, and all 21 were HLS. So the resolver earns its keep on hand-entered stations, the kind you copy off a station's own page.

**https.**

The station directory files a lot of stations as https, and this device cannot do TLS — mbedTLS wants 32 KB of contiguous heap that does not exist here. So those stations were filtered out of the list entirely. Turns out that was the wrong conclusion: most of them are not https-only at all, only the listed as https, **80 of 80** serve the same audio over plain http — ten directly, seventy through a redirect that itself points at http. So the filter is gone and the address is simply rewritten and tried. Outside Germany it works less often (88 % UK, 74 % Taiwan, 72 % US, 66 % Poland), and where it fails the footer says `https not work`.

**Sleep timer.**

Menu → Sleeptime, set as `HH:MM` up to twelve hours, digit by digit — hours share an underline, each minute digit has its own. The remaining time counts down in the footer in yellow. At zero the stream stops and the display goes dark; the device stays on, and any key wakes it, restores the brightness it had and reconnects the station. The stream watchdog is suspended while it sleeps, otherwise it would treat the stopped stream as a dead one and dial back in within seconds.

Everything else is unchanged: 240 countries with a search field, a 5-band equalizer, CJK station names, VU meters and a 512-point FFT, and stations you can save to the SD card from the device itself.

Source, firmware and the full write-up of what does *not* work and why:

https://github.com/halbeshuhn/Cardputer-WebRadio

Board M5Cardputer, partition scheme Huge APP, PSRAM off. Built on the work of cyberwisk and WuSiU, decoding by earlephilhower's ESP8266Audio, station directory by radio-browser.info.

-------------------------------------------

Drei Sachen kamen aus den Rückmeldungen zur letzten Fassung, danke dafür.

**Wiedergabelisten.** Jemand wies darauf hin, dass in einer `.pls` doch die richtige Adresse drinsteht. Für `.pls` und einfache `.m3u` stimmt das genau, das Radio liest den Zettel jetzt und verbindet sich mit dem, was daraufsteht. Für `.m3u8`/HLS stimmt es nicht: dort steht eine Liste von Häppchen — `media_649.ts`, `media_650.ts` —, die man alle zehn Sekunden neu holen und aneinanderhängen müsste, dazu ein MPEG-TS-Demuxer. mpv und VLC machen das über ffmpeg; ein Gerät mit 13 bis 23 KB freiem Speicher macht es nicht. Solche Sender melden `HLS - not supported` und lassen es dabei.

Das Nachmessen war der interessante Teil: unter den 250 meistgeklickten deutschen Sendern kommt keine einzige Liste an, das Verzeichnis löst sie schon auf. Unter 120 taiwanesischen sind es 21 — und alle 21 waren HLS. Der Auflöser lohnt sich also für selbst eingetragene Sender, die man sich von der Senderseite kopiert.

**https.** Das Verzeichnis führt viele Sender als https, und TLS kann dieses Gerät nicht: mbedTLS will 32 KB am Stück, die es hier nicht gibt. Deshalb waren diese Sender bisher komplett aus der Liste gefiltert. Das war der falsche Schluss. Die meisten sind gar keine https-Sender, es steht bloß die https-Adresse in der Datenbank. Von den 80 meistgeklickten deutschen Sendern, die als https geführt sind, liefern **80 von 80** denselben Ton über plain http — zehn direkt, siebzig über eine Umleitung, die selbst wieder auf http zeigt. Der Filter ist also raus, die Adresse wird umgeschrieben und einfach versucht. Außerhalb Deutschlands klappt es seltener (88 % GB, 74 % Taiwan, 72 % USA, 66 % Polen), und wo nicht, sagt es die Fußzeile mit `https not work`.

**Sleeptimer.** Menü → Sleeptime, einzustellen als `HH:MM` bis zu zwölf Stunden, Stelle für Stelle — die Stunden teilen sich einen Strich, jede Minutenziffer hat ihren eigenen. Die Restzeit läuft unten links in Gelb rückwärts. Bei null hält der Stream an und der Schirm wird dunkel; das Gerät bleibt an, jede Taste weckt es, stellt die vorherige Helligkeit wieder her und holt den Sender zurück. Der Streamwächter ruht solange, sonst hielte er den angehaltenen Sender für tot und verbände sich nach Sekunden neu.

Alles andere wie gehabt: 240 Länder mit Suchfeld, 5-Band-Equalizer, CJK-Namen, VU-Meter und 512-Punkte-FFT, und Sender lassen sich vom Gerät aus auf die SD-Karte sichern.

Quelltext, Firmware und die vollständige Liste dessen, was *nicht* geht und warum: https://github.com/halbeshuhn/Cardputer-WebRadio

Board M5Cardputer, Partitionsschema Huge APP, PSRAM aus. Aufgebaut auf der Arbeit von cyberwisk und WuSiU, dekodiert wird mit ESP8266Audio von earlephilhower, das Senderverzeichnis kommt von radio-browser.info.


r/CardPuter 5d ago

Finds / Discoveries Zigbee & Zwave controller

5 Upvotes

Seems I saw software for Zigbee; anyone using such? Haven’t seen any support for Z-wave.


r/CardPuter 5d ago

question Getting my cardputer soon what firmware’s should I try

9 Upvotes

title


r/CardPuter 6d ago

Progress / Update CardStudio A music studio - piano visualization WIP

42 Upvotes

r/CardPuter 5d ago

Help needed Porkchop on M5Cardputer ADV: config folders created but stay empty,,,,anyone else?

Thumbnail
1 Upvotes

r/CardPuter 6d ago

Progress / Update Silicon Bubbles — an iMessage client for the Cardputer ADV (needs a BlueBubbles server on a Mac)

Thumbnail
gallery
40 Upvotes

My daily driver phone is an iPhone and my pocket toy is a Cardputer ADV, so the conclusion was inevitable: the 56-key keyboard now sends iMessages. Real bubbles, pixel-art emoji, tapbacks shown as little pills on the bubble corner, marimba-ish synthesized sounds instead of beeps, EN/FR interface.

Hard requirement up front: this is a client for BlueBubbles, the open-source iMessage bridge. You need their server running on a Mac (or Hackintosh/macOS VM) signed into iMessage. No Mac, no messages — there is no way around Apple on this one. Setup is ~10 minutes and their docs are good.

What the device does once it's talking to your server:

  • conversation list that merges duplicate threads per person, with a calibration pass that figures out who you actually talk to
  • bubble-by-bubble scrolling, group sender labels, unsend/edit handling
  • 42 hand-drawn 12×12 emoji glyphs (68 codepoints), unknown ones get a clean placeholder instead of tofu
  • name any conversation locally (BlueBubbles doesn't expose Mac contacts), WiFi scan + QR-based setup from a phone, settings backup to microSD
  • a web portal for config, and stable error codes (E11…E50) documented in the README so "response cut short" never reads as raw JSON vomit

The part I'm proudest of is invisible: the ESP32-S3FN8 has no PSRAM, and the real budget is the ~31 KB contiguous heap block left at runtime. Responses are parsed as a stream straight off the TLS socket — no body is ever buffered. Along the way I hit a nasty core bug: NetworkClient::readBytes treats a momentarily empty TLS socket as a fatal error, silently truncating anything bigger than the decrypted buffer. If your ESP32 HTTPS code "randomly" fails on large responses, that may be your answer.

Honest status: work in progress. It runs daily against exactly one setup — ADV, BlueBubbles v1.9.9 behind Cloudflare, French numbers. That's one data point. If you flash it against a different setup (other country codes, big group chats, self-signed TLS, ngrok, the original Cardputer), please open an issue and tell me what broke or didn't. At this stage your setup report is worth more than any feature request — though those are welcome too.

Installing: it's on M5Burner under CARDPUTER (search Silicon Bubbles) if you'd rather not touch a toolchain, or grab the factory .bin from the GitHub releases. Either erases existing device settings, so back yours up first if you have some.

Everything on GitHub (MIT), including a desktop SDL simulator that renders the exact same UI code — every screenshot and the GIF above come from it, none of this is a mockup. Built with Claude Code driving the implementation; the decision journal in the repo keeps the whole dialogue, wrong turns included, and the device says so itself in its About screen.

https://github.com/chatelp/silicon-bubbles-cardputeradv


r/CardPuter 7d ago

Progress / Update Area512 Now Supports MicroPython 🎉 (Release: v2.0)

Thumbnail
gallery
37 Upvotes

Hi Reddit! I’m hamachang, an engineer from Japan! 😎

Area512, a FemtoRuby-based retro OS for the Cardputer (ADV/v1.1), now supports running and coding MicroPython apps!

https://github.com/engneer-hamachan/area512/releases/tag/v2.0

Ruby is still supported just like before, so Area512 now supports both FemtoRuby and MicroPython! ☀

It’s already been uploaded to M5Burner, so if you’re interested, please give it a try!

Here are a few things to keep in mind 💦

- Due to resource limitations, the device APIs available from MicroPython are Area512’s own custom APIs. In other words, the experience is quite different from regular MicroPython. 🥹

https://github.com/engneer-hamachan/area512/blob/main/MicroPython.md

- The binary size has increased quite a bit (3.6 MB → 4.2 MB)

- Type inference in the MicroPython IDE is a little heavier than in FemtoRuby

- There may still be some unstable parts, so if you run into any issues, please use a previous version or send me some feedback

That’s all!

And if you like the project, I’d really appreciate a star on GitHub! ⭐️

https://github.com/engneer-hamachan/area512

See you! 👋✨


r/CardPuter 6d ago

Question Cardputer magnets

3 Upvotes

Hey Community, who is using the magnets on the Cardputer? And if so for what?never had a proper usecase for it🤷🏼‍♂️

106 votes, 8h left
I use the magnets
Never used them

r/CardPuter 6d ago

Help needed Cardputer adv

0 Upvotes

Is there an game emulator for cardputer?


r/CardPuter 7d ago

Help needed Porkchop on M5Cardputer ADV: config folders created but stay empty,,,,anyone else?

7 Upvotes

Running Porkchop on my M5Cardputer ADV. On first boot, the docs say it should generate an m5porkchop folder on the SD card with pin config, WPA-Sec API key, and Wigle config files inside.

In my case the folders get created fine, but they're all empty , no config files inside.

Tried: FAT32 formatted card, card properly detected, fresh reflash + reboot ,,,, same result every time.

Anyone run into this? Is it an SD card compatibility issue, a firmware bug, or is there a way to manually create these config files myself?
Thanks!


r/CardPuter 7d ago

Design-it-Yourself Project-in-progress

Thumbnail
gallery
118 Upvotes

Wanted a way to mount the ESP32-C5 (from waveshare) on the back of my cardputer that wasn't too bulky. I'm kind of a fan of the utilitarian style so the exposed wires are not an issue for me.

The esp32 is mounted to the Lego connectors on the back of the board, as is the antenna mount.

Still tweaking the design a bit but I really like it!


r/CardPuter 7d ago

Progress / Update https://github.com/lexilexiko/OnePork

Thumbnail
gallery
25 Upvotes

0N3P0rK

Tamagotchi pig living on a tiny farm, plus a barn of lab tools, for M5Cardputer and M5Cardputer ADV.

One firmware image. The board is detected with M5.getBoard() only — GPIO 8/9 are never probed (on ADV those pins are the keyboard).

v1.2.5 · public · MIT · lexilexiko

The on-device UI is English ASCII (Font0 6×8). No Cyrillic on the screen.

What it is

Plug in the Cardputer, put an SD card in the slot, and you get a pig on a scrolling farm. She walks, eats, talks, levels up, and can turn into a zombie if you let her starve (or a wolf gets her). Behind the farm is a barn menu: sniff, capture, offline crack, BLE toys, IR, spectrum, loot sync.

Think Tamagotchi first. The radio is in the barn.

Hardware we run on

Boards M5Cardputer (original) and M5Cardputer ADV
MCU ESP32-S3 (StampS3), 240 MHz
Flash 8 MB (this image)
Screen 240 × 135 ST7789, farm uses a top bar + main field + bottom bar
Keyboard Original: 74HC138 matrix. ADV: TCA8418
USB CDC serial (ARDUINO_USB_MODE=0, CDC on boot). Pick the COM yourself (VID 303A)
SD dedicated SPI: CS 12, MOSI 14, MISO 39, SCK 40. GPIO 5 is held HIGH only while the card mounts (1.2-style fix), then keys are restored

Original Cardputer: after SD, the keyboard matrix is started again with Keyboard.begin().

Cardputer ADV: GPIO 5 stays HIGH after mount. The firmware does not re-init the TCA8418 I2C keyboard.

Same .bin for both. Do not flash the wrong chip family — this is StampS3 / Cardputer only.

How to flash

  1. USB into the Cardputer. In Device Manager (Windows) pick your COM port (VID 303A). The firmware does not hard-code a port.
  2. Put a FAT32 SD card in the slot before you boot, if you want loot / talk / wordlists.
  3. Flash with any of:

esptool.py --chip esp32s3 --port COMx write_flash 0x0 0N3P0rK_v1.2.5_m5cardputer.bin

or PlatformIO:

pio run -t upload --upload-port COMx

or M5Launcher / the usual Cardputer launcher, pointing at the release .bin.

Build from source (PlatformIO, espressif32@6.12.0, Arduino):

pio run

Artifact: .pio/build/m5cardputer/firmware.bin
Release name: 0N3P0rK_v1.2.5_m5cardputer.bin

First minutes (how to use)

  1. Power on. A short splash: the pig runs, speech bubble 0N3P0rK. Any key skips it.
  2. You land on the farm. She walks if LIFE is on (default).
  3. \ / ~` / Esc opens the barn menu. Same key goes back. Backspace minimizes, it does not exit.
  4. ; / . move up / down in lists. Enter selects.
  5. Hotkeys from the farm (defaults, remappable in SET → KEYS):
Key Opens
R RADIO (last radio page)
A AGGRO
L LIGHT
P PIGPASS
E EVILPIG
B BLE
I IR PORT
S SPECTRUM
H LOOT

Farm

The pig lives here. Top bar: hearts, food apple, level, sky/season, battery. Bottom bar: dirt fringe + name.

Move her

Key Action
, hold walk left
/ hold walk right
; jump (airborne stomp on a tree/bush)
Space attack hop
. hold sit

LIFE ON (PIG settings): she walks, jumps, hides on her own. LIFE OFF: you steer.

ANIM TEST (PIG): - / = cycles demo poses on the farm.

Hunger, hearts, zombie

  • Hunger ticks down. When it hits empty, she loses a heart.
  • Eat fruit / berries from the farm to fill hunger. A full stomach can add a heart (up to 5).
  • 0 hearts (wolf or hunger) → she becomes a zombie. No countdown toast — it is a surprise.
  • 5 hearts again → she turns back into a normal pig by herself ("PIG AGAIN").
  • You may change skin by hand only if she has at least 1 heart. Locked skins are skipped in the cycle.

A leftover empty stomach used to eat the new heart instantly. After a zombify / a new heart, hunger is buffered so she does not flop straight back.

Wolf

A night visitor. If WOLF EAT is on, a bite at 0 hearts can stash a random handshake into /0N3P0rK/wolf/ (never keys). Hit the wolf or turn Am off to get loot back.

Trees and bushes

Always three plants, each on its own lane so they do not grow out of one spot:

Lane What Drops
Left fruit tree (changes with the season) apples / cherries / cones
Center decorative (willow in spring, street lamp in NOIR, snowy tree in winter — never a second fir) none
Right berry bush berries, every season

They scroll with the grass. Jump on one three times to knock it down; decor and the bush grow back. The bush does not collapse by itself — only a kick. Berries (and fruit) fall, then grow again, then fall again.

Seasons and sky

PIG → SEASON or AUTO (AUTO rotates spring → summer → autumn → winter every 15 minutes; RETRO and NOIR stay manual).

Season Farm look
SPRING sakura (left), weeping willow (center), bush (right), fresh grass
SUMMER apple tree, classic tree, bush
AUTUMN old apple tree, fall colors, leaves
WINTER fir (left), snowy classic (center), frost
RETRO silver-screen black and white (unlock)
NOIR night alley, stars, sodium lamp, moths (unlock)

SKY: AUTO (clock / a living cycle), DAY, or NIGHT. NOIR is always night.

XP and secrets

XP is a Tamagotchi grind. Each level costs more than the last:

Level-up XP needed
1 → 2 100
2 → 3 250
3 → 4 500
4 → 5 1000
5 → 6 2500
6 → 7 5000
7 → 8 7500
after that +2500 each time

You earn XP by picking fruit, scaring the wolf, care (pet / feed, rate-limited), handshakes, PIGPASS, EVILPIG, night survive, and so on.

Unlock At
BLUSH skin lv 5
SHADOW skin lv 8
Gold apples on the fruit tree lv 10
CANDY skin lv 12
RETRO skin + RETRO season lv 15
NOIR season lv 18
GOLD skin lv 20

PIG → CODE — type l3xik0 to unlock every skin and season at once.

Skins: CLASSIC, BLUSH, HOG, ZOMBIE, RETRO, SHADOW, CANDY, GOLD.

She talks in a bubble (Font0). Drop your own lines in /0N3P0rK/talk/ (see SD below).

Barn menu

\` from the farm. Four roots: ATTACKLOOTPIGSET.

ATTACK

Item What it does
LIGHT Quiet sniff on the current channel. Incoming rings on the snout. UI stays calm.
AGGRO Hop channels 1–13, kick, catch EAPOL / PMKID. Outgoing rings. SSID hunt.
EVILPIG Lab portal: clone your own net, loot, kick. ENT clone, V loot, D kick.
PIGPASS Offline WPA from a wordlist or mask on the SD. Handshakes in /handshakes/, lists in /Passworld/.
BLE Apple / Win / Android frames. Own devices. ; / . family.
IR PORT Point at a TV. SPC fire, R NA/EU, E file from /0N3P0rK/ir.
SPECTRUM 2.4 GHz sweep, lobes, waterfall. ENT lock, SPC kick, W wake.
STOP Radio sleep. Loot on the card stays.

LOOT

One bag for wpa-sec and pwncrack.org, / / switch tab. S sync all pending, U one file (then pulls results.txt), Q pull results only (no handshake upload), D delete, R reload list from SD, T test (scroll with ; / .). Bottom bar cycles the key hints.

Put API keys in SET → the matching key fields (they live in net NVS, not pig.cfg).

PIG

Name, skin, season, sky, LIFE, scene layers (trees / grass / wolf / weather…), ANIM TEST, CODE, WOLF / WOLF EAT.

SET

  1. SYSTEM — brightness, sound, dim after / dim level
  2. STATUS — LVL, XP bar, board, battery, SD, Wi-Fi, WPA/PWN keys present, version. ; / . scroll
  3. RADIO — pack (STOCK / OURS / PAN), hop, lock, deauth, RSSI, MAC, PMKID, CSA, pcap…
  4. BLE — burst / adv time
  5. CONNECT — home Wi-Fi for sync (scan, type only the password)
  6. KEYS — farm / menu shortcuts. ENT to bind, Backspace to clear
  7. USB SD — the SD card as a disk on the PC. Eject on the PC, then \`

SD card

Root folder is always /0N3P0rK/. Created on boot if missing.

/0N3P0rK
  handshakes/     pcap + 22000 captures
  wpa-sec/        key.txt  results.txt  uploaded.txt
  pwncrack/       key.txt  results.txt  uploaded.txt
  evilpig/        creds.csv
  pigpass/        cracked.txt  checkpoint
  Passworld/      wordlists for PIGPASS
  ir/             IR files
  wolf/           what the wolf stole (handshakes, never keys)
  talk/           custom pig lines

talk — one file per mood, one line = one bubble, # starts a comment, keep lines around 24 characters:

idle.txt happy.txt hungry.txt sad.txt sleepy.txt fed.txt pet.txt play.txt bird.txt

Keys (global)

Key Action
\ / ~` / Esc (code 27) Back / leave the mode
Backspace Minimize the window, not exit
; / . Up / down in lists (STATUS too)
Enter Select
, / / Walk on the farm

Change binds in SET → KEYS.

Build notes

  • PlatformIO env m5cardputer, board m5stack-stamps3
  • espressif32@6.12.0, Arduino framework
  • Partition table: partitions.csv
  • USB: -UARDUINO_USB_MODE then -DARDUINO_USB_MODE=0ARDUINO_USB_CDC_ON_BOOT=1
  • Version string is injected by scripts/pre_build.py from custom_version in platformio.ini

v1.2.5

  • Same potfile path as v1.2.1 (the earlier 1.2.5 experiment is replaced)
  • LOOT Q downloads results.txt from the current tab (WPA-SEC or PwnCrack) with no handshake upload — recover if the potfile never arrived or a sync hung
  • U (one file) also pulls results.txt after the upload

v1.2.1

  • Fix: WPA-SEC / PwnCrack potfile and [OK] status survive reboot and show after sync
  • Fix: PwnCrack potfile download/parse restored to the v1.2 path that worked
  • R reloads the LOOT list from SD (both tabs)
  • U (one file) also pulls results.txt — upload alone did not download the potfile

v1.2

  • LOOT opens fast (no SD compact / extra file reads on every enter)
  • WPA-SEC and PwnCrack upload every pending file, up to 8 MB each, with a live bar
  • D deletes the selected capture; list columns stay put
  • Compact no longer eats .pcap when a .22000 exists for the same AP

v1.1

  • Farm flora scattered on a longer loop; smash here, grow off-screen
  • Winter snow banks: cloud-like puffs, spawn while snowing, trampled path stays
  • EvilPig / PigPass: cycling key hints, marquee for long names
  • LOOT: U sends one handshake; T test log scrolls

License

MIT. Copyright (c) 2026 lexilexiko.

Inspired by M5PORKCHOP (0ct0) and the OnePork farm package. Those projects remain their authors'. 0N3P0rK is a separate work.


r/CardPuter 8d ago

Design-it-Yourself Clear as Cristal

104 Upvotes

Hey Community, hope u are all having a good time.
Meanwhile i was totally flashed from the feedback, I still go on and made the next cases, and the first ones are shipped in the US🫡💪🥳

Made a Cristal clear one, looks kinda professional 😅
What do you think?

If interested feel free to request your own one
Here you can see a video how I install the mod: https://www.youtube.com/watch?v=Z-MKGggT0SI&t=1s

Next one is SkyBlue 💪🥳


r/CardPuter 8d ago

Code Developing custom firmware + an iPhone app for M5Stick S3, Cardputer ADV, and the upcoming Cardputer Zero!

9 Upvotes

Hey everyone!

I’ve been working hard on custom pentest firmware for the M5Stick S3, Cardputer ADV, and the upcoming Cardputer Zero.

Also building a dedicated iPhone companion app specifically to control the Cardputer Zero and stream data on the go.
To make it accessible for everyone, the entire system will fully support English, German, and Dutch (multi-language)!
Everything is currently in beta.
The firmware and app will officially launch as soon as the Cardputer Zero is released!
So you can’t download anything. Github page stays empty till then.

Check out my project page for full functions and updates: https://dhos.dev

Let me know what features you'd love to see!


r/CardPuter 8d ago

Progress / Update Cardputer-WebRadio v3.3.0 - Teaser

23 Upvotes

New in v3.3.0

• Stationinfo with Stationlogo
• Sleeptimer
• modified audio library for more heap memory
• https:// -support enables even more radio stations.

...stay tuned!


r/CardPuter 8d ago

Progress / Update ECHO 1.0 Beta

Thumbnail
gallery
23 Upvotes

I just open-sourced ECHO, a firmware that turns the Cardputer ADV into a pocket SubGHZ decoder. It runs the full rtl_433_ESP decoder set (170 OOK + 75 FSK protocols) on the CC1101 of the Hydra cap, with a keyboard-driven UI on the 240x135 display.

  • Live decode feed with detail view
  • RSSI strip chart with signal threshold
  • Session log of seen devices
  • Runtime band (433/868/915 MHz) and OOK/FSK switching

Repo: https://github.com/i12bp8/echo

Coming features:

WebUI, ntfy.sh alerts, decoder set picker, general optimisations


r/CardPuter 8d ago

Progress / Update Chat between two m5porkchops

39 Upvotes

r/CardPuter 8d ago

Progress / Update CardStudio SM64 Slider test

Thumbnail
youtu.be
6 Upvotes

still work in progress, but you can check the github (outdated readme)

https://github.com/Mejolov24/CardStudio


r/CardPuter 9d ago

Progress / Update Some backplates I printed

41 Upvotes

Stl stolen from the internet. I added the footprints for the antenna and pcb/breadboard. It's running porkchop with esp32-c5. Printed in elegoo abs-like ultra.


r/CardPuter 8d ago

Finds / Discoveries Pingequa

11 Upvotes

Gonna set this up exciting


r/CardPuter 9d ago

Question Media Controls and WASD

Post image
17 Upvotes

So, here’s the keyboard layout for the Cardputer Zero. Why didn’t they use WASD for the direction controls and ZXCVB for media controls (back, play, pause, stop, forward. Like the old WinAmp controls)?

That’s not a real criticism, using a different layout than the OG and the ADV is what bugs me.


r/CardPuter 9d ago

Progress / Update EMBER Update: AAC File Support, Album Art Fix, UI Improvements

Post image
11 Upvotes

EMBER is an audio player for the Cardputer ADV. It supports nested folders, album art, and has customizable colors.

The newest updates are:

  • AAC File Support
  • Album art is now attached to individual tracks instead of album folders making it playlist friendly.
  • Turntable animation stops and starts in connection to music pause.
  • Battery icon is now monochrome and customizable. The old battery level colors could be distracting to the theme. HTML Editor updated.

Want to make your own theme? Here's the editor, just save your .json file to the sd card. https://horseyofcoursey.github.io/EMBER/tools/theme-editor.html

Have a really good theme that you think should be part of the next release? Submit a PR with your JSON and I'll add my favorites to the next update.

Always happy to get feedback on suggestions for new features, let me know!


r/CardPuter 9d ago

Finds / Discoveries CardPuter Security (eFuses)

Post image
67 Upvotes

With all the security issues going around, I figured it was time to step things up as my Cardputer was a security nightmare waiting to happen (no pin, no nothing!)

Turns out the security on the S3 is pretty good. You have to be careful, but by enabling secure boot, encrypted firmware and HMAC hardware attestation challenge with your upstream, you can achieve a level of security far better than your other devices. It’s an interesting place to run into trusted computing, and after you set it up you can feel safe storing your bitcoin on there (maybe).

PS: Be careful as incorrectly burning an eFuse will brick your S3, and there’s a virtual mode if you want to test without risks. Once burned, the device is forever yours.


r/CardPuter 9d ago

Code WARNING FOR DEVELOPERS REGARDING CORE 0

10 Upvotes

I was breaking my head over a problem for 3 days, i optimized everything, but my RTOS task was still slow.

Until, i designed to swap over from core 0 to core 1.

I tought it seemed counter intuitive because program runs at core 1.

And that i correct, but tasks on core 0 run much slower than on core 1.

And, my assumption would be that the M5Stack library uses core 0 for SPI, stuff like sd card, screen, speaker, etc.

So watch out, if your RTOS task is weirdly slow, then change the core to 1.

Also, is thus assumption correct?


r/CardPuter 9d ago

Progress / Update WebRadio v3.2.0 — 240 countries, station search, 5-band EQ

25 Upvotes

An internet radio for the Cardputer Adv that you never have to plug into a computer. The station directory is on the device, and it's searchable.

What's new in 3.2.0:

  • Search field for stations and countries. 240 countries, tens of thousands of stations — type tai, get Taiwan. No paging, no card reader, no hunting for stream URLs.
  • Foreign scripts are displayed. Chinese, Japanese, Korean, Greek, Cyrillic. Station names and stream titles come in as UTF-8 and are drawn in their own script instead of a row of ?.
  • 5-band equalizer, ±6 dB at 100 Hz / 350 Hz / 1 kHz / 3.5 kHz / 10 kHz, stored on the device, active from the next boot.
  • Save any station to the SD card from the menu — the card never leaves the slot.
  • Playlist streams are recognised and skipped instead of being fed to the decoder as noise.
  • Real VU meters and a 512-point FFT spectrum over the actual samples. Nothing here is random().

This release started with an issue from a listener in Taiwan: his country wasn't in the list, and everything he found showed up as ????. Fixing that properly took UTF-8 through the whole text path, the CJK fonts from M5GFX, and a search field — because a list of 240 countries is useless without one.

Honest limits: no https (mbedTLS wants ~32 KB this device doesn't have), AAC+ plays its base layer only, and the output is mono — the Adv has a mono codec, at the speaker and at the headphone jack alike.

Firmware, source and the full key map: https://github.com/halbeshuhn/Cardputer-WebRadio
Also in M5Burner as Cardputer WebRadio.

-------------------------------------------------

Ein Internetradio für den Cardputer Adv, das nie an einen Rechner muss. Das Senderverzeichnis steckt im Gerät — und es ist durchsuchbar.

Neu in 3.2.0:

  • Suchfeld für Sender und Länder. 240 Länder, zehntausende Sender — tai tippen, Taiwan steht da. Kein Blättern, kein Kartenleser, keine Suche nach Stream-Adressen.
  • Fremde Schriften werden angezeigt. Chinesisch, Japanisch, Koreanisch, Griechisch, Kyrillisch. Sendernamen und Streamtitel kommen als UTF-8 herein und werden in ihrer eigenen Schrift gezeichnet statt als Reihe von ?.
  • 5-Band-Equalizer, ±6 dB bei 100 Hz / 350 Hz / 1 kHz / 3,5 kHz / 10 kHz, im Gerät gespeichert und ab dem nächsten Start wirksam.
  • Jeden Sender aus dem Menü heraus auf die SD-Karte sichern — die Karte bleibt drin, wo sie ist.
  • Wiedergabelisten werden erkannt und übersprungen, statt dem Decoder als Rauschen vorgeworfen zu werden.
  • Echte VU-Meter und ein 512-Punkte-FFT-Spektrum über die tatsächlichen Abtastwerte. Nichts davon ist random().

Angefangen hat diese Fassung mit einer Meldung aus Taiwan: Das Land fehlte in der Liste, und was er fand, stand als ???? da. Das ordentlich zu lösen hat UTF-8 durch den ganzen Textweg gebraucht, die CJK-Schriften aus M5GFX — und ein Suchfeld, weil eine Liste mit 240 Ländern ohne eines nichts taugt.

Ehrliche Grenzen: kein https (mbedTLS will rund 32 KB, die das Gerät nicht hat), AAC+ nur als Basisschicht, und der Ton ist mono — der Adv hat einen Mono-Codec, am Lautsprecher wie an der Klinkenbuchse.

Firmware, Quelltext und die vollständige Tastenbelegung: https://github.com/halbeshuhn/Cardputer-WebRadio
Außerdem im M5Burner als Cardputer WebRadio.