I had some minor issues with the original FYSETC firmware which I wanted to iron out. By default, files are created with a generic timestamp (1st of january 2000, 00:00:00 UTC+0). This gets in the way if you have a 3d printer which sorts by descending timestamp. This is an attempt at fixing this issue. There is a limitation: the newly-created file will have the timestamp set to the moment in time when it is copied.
I also needed a better wifi signal reception because my 3d printer is a bit too far away from the router. Since from software it was already set up fine and I couldn't get better results by switching to 802.11 G or B, I made a hardware mod: I've cut the trace of the longer branch of the antenna and soldered a 58mm copper wire (from an ethernet cable). This did the trick for me. Soldering an IPEX connector and using an external antenna would also work. There are other online resources which recommend different wire lenghts or types. As always, YMMV.
Compile with the dependencies mentioned below. For increased transfer speed, you can try to choose 160MHz for CPU frequency. This will allow transfer rates to go from around 250KB/s to ~330KB/s. However I'm not sure what it does for stability.
This project is a WiFi WebDAV server using ESP8266 SoC. It maintains the filesystem on an SD card.
Supports the basic WebDav operations - PROPFIND, GET, PUT, DELETE, MKCOL, MOVE etc.
Once the WebDAV server is running on the ESP8266, a WebDAV client like Windows can access the filesystem on the SD card just like a cloud drive. The drive can also be mounted like a networked drive, and allows copying/pasting/deleting files on SD card remotely.
I am using this setup as a networked drive for 3D Printer running Marlin. Following circuit with ESP8266 and a MicroSD adapter is fabricated on a PCB. A full size SD card adapter is glued to one end and provides access to all SPI data lines from printer. ESP8266 code avoids accessing micro SD card, when Marlin (printer's firmware) is reading/writing to it (detected using Chip Select line).
GCode can be directly uploaded from the slicer (Cura) to this remote drive, thereby simplifying the workflow.
If you don't want to update the firmware. You don't need to do this. Compile and upload the program to an ESP8266 module.
-
Open the project
Download this project and open it with arduino software.
-
Add board manager link
Add boards manager link:
https://arduino.esp8266.com/stable/package_esp8266com_index.jsonto File->Preferences board manager, Documentation: https://arduino-esp8266.readthedocs.io/en/2.7.1/ -
Select board
Select Tools->boards->Generic ESP8285 Module.
-
Select CPU Frequency
I think the default is 80MHz but I found that it works better running at 160MHz
Select Tools-> CPU Frequency -> 160 MHz
-
Select lwip stack
Based on my own tests, I've found much better network performance (and also support for very large files transfer) using
Select Tools -> lwIP Variant -> v2 Prebuilt (MSS=1460, unstable)
-
Click the Arduino compile button
- Plug in the USB cable to your computer.
- Press and hold the module FLSH
- Connect the USB cable to the module
- Release the module FLSH button
- Click the Arduino upload button
First you can see our video here. You have two ways to config the module.
note: The card should be formatted for Fat16 or Fat32
You can edit the example SETUP.INI file in ini folder, change the SSID and PASSWORD value. And then copy SETUP.INI file to your root SD card. Then insert it to the module.
- Turn the module option button to
USB2UART - Open a COM software in your computer
- Connect the module to your computer with USB cable
- Open the software COM port
you can see the module IP and other information.
note: if you miss the serial output, you can click the RST button in the module.
Insert your sdcard to the module.
- Turn the module option button to
USB2UART - Open a COM software in your computer
- Connect the module to your computer with USB cable
- Open the software COM port
And use the following command to connect the network or check the network status
M50: Set the wifi ssid , 'M50 ssid-name'
M51: Set the wifi password , 'M51 password'
M52: Start to connect the wifi
M53: Check the connection status
To access the drive from Windows, type \\ip\[SHARE_LOCATION_NAME] at the Run prompt, this will show in serial output as our video shows.
Or use Map Network Drive menu in Windows Explorer.
Just need to use http://192.168.0.x in access network drive option
Marlin Firmware - http://marlinfw.org/
Cura Slicer - https://ultimaker.com/en/products/ultimaker-cura-software
3D Printer LCD and SD Card Interface - http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
LCD Schematics - http://reprap.org/mediawiki/images/7/79/LCD_connect_SCHDOC.pdf