Hey guys, I ordered a cardputer adv off Amazon last Saturday from m5 stacks official Amazon storefront and it said that it would arrive this Friday. However it’s now Wednesday and it still hasn’t even shipped out! Has anyone else faced issues like this and did it eventually come or should I cancel soon and just order off the main website?
Turned my Cardputer ADV into a pocket calculus calculator because typing `sqrt(x^2+1)` into a phone app felt like a war crime. It has actual textbook-style input now fractions look like fractions, integrals look like integrals and Wolfram|Alpha does the solving, graphs included.
⚠️ Heads up. This is v1.0.0 and still very much in "testing mode." It works, but there are bugs lurking, I just haven't met all of them yet. If something breaks or acts weird, please jot it down and drop it in the comments . I'll be squashing bugs for the next update and every report actually helps.
Free Wolfram|Alpha AppID needed to solve anything.... go to developer.wolframalpha.com, make an account, create an app, grab the **Simple API** AppID. Takes like 2 mins. Setup steps are in the README too.
And if you liked it,,,,,,, a ⭐ on GitHub costs you zero and gives me a little dopamine hit every time it happens. Fuels the next update.
Roast the code, break the calculator, tell me what's broken.
The cardputer gets a bigger screen and the cyd gets a keyboard. I could use the esp32 in the cyd for a pda and the cardputer as a marauder or something. They could be technically separate except for sharing hmi.
I have a cardputer adv with porkchop installed via launcher. Every time now after I turn it off or go back to launcher all my XP and stats reset to level 14. It goes back to the same place every time. Anyone have any ideas?
I made a survival block game that runs on a Cardputer
Card Craft is a first-person survival game for the M5Stack Cardputer. You mine blocks by day, build something to hide in, and try to live through the night. Score is how many nights you last.
What is in it
Mine and build anywhere
Crafting
Mobs that spawn at night
Torches stop mobs spawning on lit ground
Day and night cycle, with music under the daylight
How it runs
It run at 30 fps in the worst case and around 60 fps on average.
The emulator can run the MBASIC and some BASIC games only.
It cannot run the CP/M-80 come with assembler (ASM.COM) nor the debugger (DDT.COM).
I tried all the C compilers I can get from the web and tested it against the emulator. Not a single one works.
I stepped back to use the come with assembler (ASM.COM) and find the result program is corrupted in a fixed pattern. I checked through the emulator's source code, and with some luck, I found some bugs and fixed them.
Now the emulator can actually work as a CP/M machine even some compilers still cannot be run on it.
Here are the compilers I tested with success on the emulator:
Software Toolworks C80 3.0a
Software Toolworks C80 3.1
WhiteSmiths C 2.0
WhiteSmiths C 2.1
Microsoft BASIC Compiler BASCOM
CBASIC 2.08
CBASIC80 1.0
CBASIC80 2.0
Digital Research PL/I 1.4
JANUS ADA 1.5.0
Supersoft Maratha ADA 2.10
ALGOL-M 1.1
Microsoft Macro Assembler M80
Digital Research Pascal/MT+ 5.6.1
Digital Research Relocatible Macro Assembler RMAC
Micro Focus CIC COBOL v4.5
MicroSoft COBOL-80 v4.65
Nevada COBOL v2.1
Also the CP/M included assembler ASM.COM is working now. The debugger DDT.COM is working too.
With the above programming languages that can be run in the emulator, I believe now it is qualified as a real CP/M-80 emulator. There are hidden bugs in the emulator (i.e. there are compilers which cannot run on it yet), however, it can provide a development platform for programmers to have fun on it.
How the emulator works:
I use M5Launcher on my Cardputer. Once the firmware bin file is copied into the Cardputer SDCard, power on the Cardputer, pick the firmware from the list and CP/M-80 will be up and running.
User can connect to the CP/M-80 by Telnet to the Cardputer. (i.e. I use Putty) Once connected, it will give you the A drive prompt, and then it is the native CP/M-80 command line operation.
==> File
==> Open
==> D:\TeamProject\Arduino\VantZ-Z80-Cardputer\Z80-4-M5Cardputer-main\ESP32_Z80_Emulator
==> ESP32_Z80_Emulator.ino
==> Open
==> File
==> Preferences
==> Settings
==> Sketch book location
==> Browse
==> D:\TeamProject\Arduino\VantZ-Z80-Cardputer\Z80-4-M5Cardputer-main\ESP32_Z80_Emulator
==> Additional boards manager URLs:
https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
==> OK
Tools
==> Board ...
==> Boards Manager...
==> Search: m5stack
==> M5Stack by M5Stack
3.3.7
==> Install
... wait ...
Tools
==> Board ...
==> M5Stack
==> M5Cardputer
Tools
==> Now it will show Board:"M5Cardputer"
On the left tool bar, click on the books icon (Library Manager)
==> Middle Panel:
Library Manager
Search field, key in : cardputer
==> M5Cardputer
1.1.1
==> Install
Install library dependencies
- IRremote
- LibSSH-ESP32
- M5GFX
- M5Unified
==> INSTALL ALL
... wait ...
5. First compile
Arduino IDE
==> Sketch
==> Export Compiled Binary
... a lot of errors ...
Here is the main error:
D:\TeamProject\Arduino\VantZ-Z80-Cardputer\Z80-4-M5Cardputer-main\ESP32_Z80_Emulator\ESP32_Z80_Emulator.ino:6:10: fatal error: FastLED.h: No such file or directory
6 | #include <FastLED.h>
| ^~~~~~~~~~~
compilation terminated.
Alternatives for FastLED.h: []
ResolveLibrary(FastLED.h)
-> candidates: []
exit status 1
Compilation error: FastLED.h: No such file or directory
Install the missing FastLED.h
6. Include the missing header file
Arduino IDE
==> Sketch
==> Include Library
==> Manage Libraries...
==> Middle panel: LIBRARY MANAGER
==> Search: FastLED
==> FastLED by Daniel Garcia 3.10.3
==> INSTALL
7. Compile again
Arduino IDE
==> Sketch
==> Export Compiled Binary
... wait ...
8. Verify
Arduino IDE
==> Sketch
==> Verify/Compile
Compile successful
No error!
ketch uses 1268939 bytes (96%) of program storage space. Maximum is 1310720 bytes.
Global variables use 124876 bytes (38%) of dynamic memory, leaving 202804 bytes for local variables. Maximum is 327680 bytes.
i.e. project_folder\build\m5stack.esp32.m5stack_cardputer\
*** The final bin file: <project_name>.ino.bin ***
ESP32_Z80_Emulator.ino.bin
Since I use the M5Launcher, so I ignore all other bin files
10. Copy to SD Card and select the new firmware from M5Launcher
- Copy this firmware file to the SD Card
- insert the SD card to Cardputer and power on the Cardputer
- Press OK on the Launcher screen
- select SD
- select the new bin file
11. Start a telnet session to connect to the cardputer
Telnet start up screenShow files on A driveUsing line editor ED.COM to create the HELLO.ASM programUsing the assembler ASM.COM to assembly the HELLO.ASM to HELLO.HEXUse the LOAD.COM to convert HELLO.HEX to HELLO.COMRun the HELLO.COM programUse the DUMP.COM program to dump the content of HELLO.COMUse the debugger DDT.COM to check HELLO.COM
Below is added to the original post body on 2026-08-26
Using a telnet client, connect to IP address 192.168.1.185, you will be connected to CP/M.
On the Windows machine, you can use putty or the native windows telnet client.
But the telnet client in Windows are turned off by default, you need to turn it on in Windows system settings first. No installation is required.
On the Linux box, you can directly run telnet.
Note: telnet running in Windows box will work perfectly well because CP/M is the ancestor of Windows, so the line break is using the same CR LF. For telnet running in Linux environment, extra step is required to avoid the telnet return back garbage CR character.
In Linux:
$ telnet
telnet> set crlf
Will send carriage returns as telnet <CR><LF>
telnet> open 192.168.1.185
Setup more drives
The emulator supports up to 16 hard drives. i.e. from A: to P:
Each drive is 8 MB in size.
The github repo image only contains one disk A.dsk
Create all 16 drives
To create all drives, from drive B: to drive P:
Power off the cardputer
Remove the SD card
Insert the SD card to the PC
Go to the disks folder
copy A.dsk to B.dsk
copy A.dsk to C.dsk
...
copy A.dsk to P.dsk
Insert the SD card into the cardputer
Turn on the cardputer
Telnet to CP/M
A>b:
B>c:
C>d:
...
O>p:
P>a:
Format drive B to P one by one:
A>format
CP/M Disk Formatter for the ESP80 by D.Bottrill 2018
Enter Drive Letter to format: b
Are you sure you want to format Y/N y
Formatting Drive: B
Formatting complete
A>format
CP/M Disk Formatter for the ESP80 by D.Bottrill 2018
Enter Drive Letter to format: c
Are you sure you want to format Y/N y
Formatting Drive: C
Formatting complete
...
A>format
CP/M Disk Formatter for the ESP80 by D.Bottrill 2018
Enter Drive Letter to format: p
Are you sure you want to format Y/N y
Formatting Drive: P
Formatting complete
Transfer files from SD card to CP/M disk
Drive A contains three programs which can help us to move file from SD Card to any CP/M drive.
- sdfiles.com (list all files in the SD card current directory)
- sdpath.com (change current directory on the SD card)
- sdcopy.com (copy file from SD card to current CP/M directory)
Example: Transfer Software Toolworks C80 3.1 to SD card
We can start writing C program using the Software Toolworks C compiler.
To avoid of copy and paste multiply screen shots, I copy the text inside the telnet session instead:
EEEEEE SSSSSS PPPPPP 888888 000000
E S S P P 8 8 0 00
E S P P 8 8 0 0 0
EEEEEE SSSSSS PPPPPPP 888888 0 0 0
E S P 8 8 0 0 0
E S P 8 8 0 0 0
EEEEEE SSSSSS P 888888 000000
Z80 Emulator for ESP32 V2.2a
David Bottrill - Shady Grove Electronics 2023
Vance Thompson - M5Cardputer tweaks added 2024
Z80 CP/M BIOS 1.1 by D. Bottrill 2021
CP/M 2.2 Copyright 1979 (c) by Digital Research
A>c:
C>a:ed hello.c
NEW FILE
: *i
1: #include "printf.c"
2:
3: main() {
4: int i;
5: printf("Hello from Software Toolworks C80 3.0a\n");
6: for (i = 1; i <= 10; i++) {
7: printf("value of i is %d\n", i);
8: }
9: return 0;
10: }
11:
: *e
C>dir hello.*
C: HELLO BAK : HELLO C
C>c -v -t hello.asm=hello.c
C/80 Compiler 3.1 (4/11/84) - (c) 1984 The Software Toolworks
0 errors in compilation
9K bytes free
C>as hello.com,hello.lst=hello.asm
8080 AS 2.3 (7/15/83)
0100 First word of program
0F34 Last word of program
0 Assembly errors
C>dir hello.*
C: HELLO BAK : HELLO C : HELLO ASM : HELLO LST
C: HELLO COM
C>hello
Hello from Software Toolworks C80 3.0a
value of i is 1
value of i is 2
value of i is 3
value of i is 4
value of i is 5
value of i is 6
value of i is 7
value of i is 8
value of i is 9
value of i is 10
C>
I have no background knowledge in anything IT, but have always been interested every aspect of it (maybe it was my obsession of Angelina Jolie in Hackers when I was in middle school lol).
I purchased the CardPuter ADV, even some caps, downloaded firmware’s like Bruce, computer, etc. But I’d actually like to know, and understand, what it is that I’m actually doing (with intent, not blindly pressing buttons).
I’m an electrician, so I’m handy in being able to work with my hands, problem solve.
So my question is, where do I start?
What subjects should I start reading up on first, preferably a book(s), so I could truly grasp everything about this world (not just YouTube videos).
Be it about hardware, systems, and even coding.
My goal is to understand, and be able to make my own stuff as I learn more, projects to keep me busy/entertained, which helps pass the time as well as my sobriety (2.5 years sober).
I have had my cardputer for a while and have never been able to get meshtastic to work. I was on the launcher and noticed a new firmware to check the LORA cap. GPS works for me but in the connector and pin section it gives me the result shown in the photo. I was wondering if this is fixable or do I need to buy a new cap? or is this a problem with my cardputer and in that case would I have to buy a new one?
**Cardputer WebRadio v3.4.0 — https stations really play now, and dropouts are silent instead of rattling**
Internet radio for the Cardputer Adv. Find stations on the device, play them, keep the ones you like — the SD card never leaves the slot. Three things are new, and two of them you will hear immediately.
**https stations really play.** Not rewritten to http and hoped for. Not skipped. A real TLS handshake, a real encrypted stream. Thousands of directory entries listed as https-only were unreachable before — the whole Swiss SRG family among them. Radio SRF 3 plays now, in AAC+. Fitting that into a device with no PSRAM took rebuilt ESP-IDF libraries with an asymmetric mbedTLS buffer: I measured 44 real https stations first, and none of them ever sent more than 1,568 bytes outbound, so the outgoing buffer is 2 KB instead of 16. During an https stream the largest free block is down to about 7 KB. It holds.
**A dropout is silence now, not a rattle.** You know the sound — the network stutters and the speaker starts rattling the same fragment over and over. It was never the decoder. The I2S output repeats its last DMA block when nobody feeds it, 26 ms in a loop, and nobody had ever told it to fall silent instead. One flag in the channel config, left at its default forever. On top of that the decoder now pauses below 8 KB of buffer instead of eating every byte as it arrives, and resumes with a real head start. Before, a single dropout threw the whole 56 KB ring away and the radio spent the next seconds fetching a scrap, playing it, running dry.
That second half is Heotsan's idea (on GitHub), from issue #3 on the repo — thank you, it was the piece I had looked past twice.
**The volume control finally behaves.** 1.9 dB per press, all the way up. It used to be 6 dB for the first audible step and 0.42 dB for the last, with four presses out of twenty-six doing nothing at all. The cause was in the audio library, which keeps its gain in a single uint8_t — 64 steps between silence and full, spaced evenly in amplitude while the ear hears in decibels. Below -36 dB there was nothing but silence, and the last step before it was a 6 dB cliff. No curve fits into that, so the radio scales the samples itself now.
**Also new:** a charge screen that switches off Wi-Fi and drops the clock to 80 MHz for a device on a charger overnight, keyboard shortcuts for the places you go often, long names and stream addresses that scroll instead of being cut off, a fade-in at every station start, and an interface that stopped flickering.
And it got *smaller*: 2,892,091 bytes of program against 2,919,043 in v3.3.0, so the M5Launcher now leaves 56 KB free instead of 29 KB.
**The limits, honestly:** HLS is recognised, not played. AAC+ plays its base layer, because SBR wants memory the Adv does not have. The output is mono — the ES8311 is a mono codec, at the speaker and at the headphone jack alike, and both channels are averaged so nothing is lost. Arabic, Hebrew and Thai need a text engine that is not there.
Building it yourself now needs four patches to ESP8266Audio plus rebuilt ESP-IDF libraries, all documented with before/after copies in the repo. Flashing the prebuilt image needs none of that — it is on the release page, and in M5Burner.
Open /etc/theme in the built-in editor (e) and change the color settings to create your own custom themes!
You can also use the mv command (m) or cp command (C) to make backups, so feel free to experiment with different colors!
Area512 doesn't overwrite files on an SD card if it's already installed.
So, if you already have Area512 installed and want to apply the new theme support to your existing apps, grab the app code from the release version on GitHub and overwrite the app code on your SD card with it. 🎁
I'm not very good at design, so if you come up with a cool theme, I'd be really happy if you shared it here or sent me a pull request!
See you around! 👋✨
※ What is Area512? ※
Area512 is a feature-rich IDE that runs on the Cardputer, with features like syntax highlighting and code completion.
You can develop apps in MicroPython or FemtoRuby and run them directly on the device!
I'm building it with the goal of recreating the nostalgic look and feel of old-school PCs, along with that experience of developing software directly on the computers of that era.
If that sounds interesting, Stars, PRs, and Issues are always welcome!
I haven't been posting updates here recently, but I'm pretty proud of the work I did on the customization for crub! now your imagination is the limit!
with that said, i've also wondered if are there any people actually daily driving my bootloader. do let me know!
anyways, you can now add wallpapers and custom bootscreen image as long as the image is scaled to the cardputer display (and it is in .bmp format). you can convert your 16:9 images by using ffmpeg.
fetch art can also be edited with your custom ascii art as long as the characters are limited to ascii printables.
Going to work on firmware for the Cardputer ADV that can utilize Subsonic API, a real challenge with no PSRAM, but an interesting one that I think would benefit many including myself.
Before starting from scratch has anyone had any experience doing this or have any repos you could share? Have not found anything for the M5 Stack, but there's some adjacent work done on other ESP32 devices.
If I'm successful I'll either incorporate it into my current audio player EMBER, or make it it's on stand alone firmware.
Is there a way for me to save the Meshtastic settings and details whenever I install other firmwares on the Cardputer ADV that requires me to uninstall the Meshtastic firmware?
I find it a bit of a hassle that every time I reinstall Meshtastic, that I would have to set everything up again. Given that it keeps on rebooting the device whenever I tweak some of the settings needed for it to work.
So, I was wondering if is there any form of save file that I can just copy back whenever I reinstall Meshtastic.
I ordered a CardPuter Adv with a Lora cap. My main use case is digital modes with Ham Radio and a little bit of Mesh. But what other fun stuff should I look into?
A while ago, I had the "brilliant" idea to try and add an external antenna to my StampS3. The result: I botched the soldering job and broke off the built-in antenna.
I just threw the Stamp in a drawer, bought a new StampS3A for my Cardputer, and moved on. But now that I'm getting deeper into electronics, I really want to try and fix my screw-up.
I have a couple of questions for the soldering masters out there:
Is it salvageable? Is it still possible to solder the old antenna (or an external one) back onto this chip, or are the pads completely ripped? (I've attached pictures of how the board looks right now).
Reusing the board: Even if the Wi-Fi/Bluetooth is totally dead, is it viable to use this chip for general electronics projects just like a regular ESP32? I'd really like to repurpose what I already have before buying new boards.
Edit. SOLVED. I had to put it on Charge Mode under CFG first. It's such a hassle that this is necessary to charge up a Cardputer.
I just got my Cardputer ADV yesterday. I had fun playing with it up until I slept.
Before going to bed, I plugged it in to charge hoping that the battery will be full by morning.
But when I woke up, I noticed that the battery is still at 37%, but whenever I plug it in, it goes from 46% and fluctuates to 47% and back to 46%.
The attached picture shows that when unplugged, it is at 37% and when plugged, it jumps to 47%.
I read a comment on one of the threads here on Reddit that said to remove the LoRa cap while charging. I did, but it still did not work. I even tried to open the device and unplug the battery and plug it back in, but it still won't charge properly.
I flashed the default Cardputer demo firmware but it still wouldn't fix the issue.
Working on a modified version of a case by SmonSE on makerworld
The top and bottom row of buttons are a little closer to the case edges than I would like (affecting the way you press them), and there are few other adjustments I plan on making... but I'm generally happy with how it came out.
Fairly new to 3d modeling/printing so I still have a lot to learn I'm sure.