It runs in Windows 10 okay, so it'll be fine on 7, 8, 10, whatever you are using. Just get the Hyperterminal_WindowsXP.zip, unzip it and run hypertrm.exe.
You're almost certainly not running a version of Windows that is old enough to have HyperTerminal built in, but you can download it over here: Would you be willing to run a test with HyperTerminal? I found that HyperTerminal was more tolerant while I was developing the sketch. I did have some problems with SyncTerm while I was developing the sketch, but was hopeful that I had ironed those out with the various optimizations I made where it ended up working on a Mega (you can see in my video I upload a ~100K file at 57600 in SyncTerm). I was hoping that the Uno and Mega would behave the same once the sketch was small enough to operate in the limited memory space of the Uno. Thanks for trying the sketch on an Uno, Dan! Any ideas what might be causing the failure? Xfer Notice: Hit any key or wait 60 seconds to continue. Xfer Warning: Transfer failed on receipt of: ZRPOS Xfer Error: Received ZRPOS at offset: 1280 Xfer Info: Resuming transfer from offset: 1152 Xfer Error: Received ZRPOS at offset: 1152
Xfer Info: Resuming transfer from offset: 1024 Xfer Error: Received ZRPOS at offset: 256 Xfer Warning: ZACK for incorrect offset (1024 vs 256) Xfer Error: Received ZRPOS at offset: 512 Xfer Error: Received ZRPOS at offset: 1024 Xfer Info: Receiver specified buffer size of: 1024 Xfer Info: Receiver requested mode (0x23):įull-duplex, Can overlap I/O, CRC-32, Escape: Normal Xfer Info: Sending f:\temp\upload\purple.bmp (225 KB) via ZMODEM Here's a link to the test bmp file:Īnd here is the log of the upload attempt: A small text file works fine, but a bitmap file (about 226kb) won't send. It communicates with the arduino and SD card - I can use the file commands such as "DIR" and "CD". I commented out #define ARDUINO_SMALL_MEMORY_INCLUDE_SZ so that I could fit the sketch in memory. I hadn't heard the term "zmodem" used in over 20 years, but instantly remembered using it on BBSs and realized it was the perfect solution for file transfer over serial. Thanks! This is exactly what I was looking for. I hope someone finds this sketch useful! Thanks again to Pete (El Supremo) for seeding this idea! More information is available on the Wiki page of the GitHub repository. While SyncTERM is available for any platform you're likely to be using, I'm hopeful that this sketch will operate with other popular terminal applications on Mac and Linux platforms given that I got a perfect run on anything that still reasonably runs on Windows.
I tried HyperTerminal, SyncTERM, and TeraTerm all successfully, send and receive. On my Arduino Mega 2560 R3, I can receive files on the Arduino at up to 57600 baud reliably maybe those using much faster boards can crank out more bps on receive, it's easy to configure and try. For those in a similar situation, this sketch may form a simpler way to get files to/from an Arduino SDCard without getting into wherever your Arduino is hidden away and unplugging the SDCard to move it to a computer. I realize that there are more modern options available than Serial, like WiFi for example, but my project involves an SDCard on a SparkFun MP3 shield and no WiFi.
I managed to get the dynamic memory usage down to just under 4K, but unfortunately that means if you want to use this sketch, the Uno isn't going to cut it, you'll need a board like a Mega with a little more memory (Even Chuck Forsberg who wrote the original ZModem code back in 1987 probably had more than 2K of memory available!) Sketch available for download at GitHub here:Īrduino SDCard file manager sketch with ZModem - GitHub repositoryįirst - much credit goes to Pete (El Supremo) who got this started in this thread a few years back:
I thought I would share it with the community perhaps others will find it useful as well.Īrduino SDCard file manager sketch with ZModem - Demonstration Video
I recently put together a sketch that creates an SDCard file manager with ZModem file transfers via the Serial interface that the Arduino USB port provides.