If you don’t like juggling SD cards and consider Raspberry Pi with Octoprint too difficult to set up, then we might have the right solution for you: Toshiba FlashAir SD cards. There are already various posts about these Wi-Fi enabled cards in the discussion forums and Facebook groups. However, we wanted to share our own comprehensive guide on how to get this thing running without any issues. The whole process is very straightforward, and you will be able to upload G-codes wirelessly to your printer in just a few minutes!
This tutorial expects that you have several things ready:
- Prusa i3 MK2 (or newer) 3D printer with the latest firmware. This method can be used for basically any hardware that accepts SD cards, but we’ll focus on our printers for obvious reasons 🙂
- Toshiba FlashAir SD card with Wi-Fi – any capacity, version W-03 or W-04. This method would not work with W-01 and W-02, because they lack the capability to be mounted as a drive in Windows.
- A computer with an internal or external SD card reader.
- An existing Wi-Fi network
What is Toshiba FlashAir
Toshiba FlashAir looks like a regular SD card and works like one, too. But in addition to the standard SD card functionality, it has wireless LAN capability embedded, it can be programmed in LUA and it can also control its GPIO pins. Plus, it can publish its contents via the WebDAV protocol, which is exactly what we need.
To have everything working properly, you’ll need FlashAir version W-03 or W-04. Older versions do not support WebDAV and can’t be used for our purpose.
You can get your FlashAir card for roughly 20-40 USD from Amazon, eBay, and even AliExpress. You can also check your local electronics and photo equipment retailers but always double-check the version of the card. From my experience, they often have old stock of W-02 or even the original FlashAir (W-01, although it’s not written on the card). So beware!
Configuring the FlashAir card
The card’s configuration is done using a text file. This file is named CONFIG (it does not have any extension) and it resides in the SD_WLAN folder. The folder and the file are hidden, so you’ll have to turn on the Show Hidden Files and Folders function in Windows Explorer.
Create a backup of your CONFIG file and name it “CONFIG.old”, for example.
Then replace the contents of the CONFIG file with the following:
[Vendor] APPSSID=your-wifi-name APPNETWORKKEY=your-wifi-password CID=02544d535733324740e35b5979010b01 VERSION=FA9CAW3AW3.00.01 APPMODE=5 APPNAME=3D_printer LOCK=1 PRODUCT=FlashAir STA_RETRY_CT=0 UPDIR=/G-Code UPLOAD=1 VENDOR=TOSHIBA WEBDAV=2
You will have to modify the first four values:
- APPSSID and APPNETWORKKEY are the name and password of your wireless network.
- CID is your SD Card ID. It’s a long hexadecimal number and there is no need to change it. Copy the value from your old CONFIG file, because the value in the code above is just an example.
- VERSION corresponds to the firmware version of your card. Copy the value from your old CONFIG file, because the value in the code above is just an example.
The original file can contain more parameters, but they are not important for us at this point. If you would like to know more about FlashAir’s function, you can check the official documentation. Next, there are some optional parameters you might want to tweak, but it’s not required.
- APPMODE is Wi-Fi operation mode. In our case, we say that the wireless functionality should be enabled and that the card must be in Station Mode (client).
- APPNAME is the logical name of our card, I named it 3D_printer.
- STA_RETRY_CT sets how many times the card will try reconnecting to a wireless network upon failure. Zero will set an unlimited number of retries.
- UPDIR is the path to a folder on the card that allows remote uploads.
- UPLOAD set to 1 enables actual uploads to the given folder.
- VENDOR is the vendor of your SD card.
- WEBDAV set to the value of 2 turns on the WebDAV functionality in read and write mode.
The settings above will enable anyone who is connected to your network to manipulate files on your SD card. If this is not what you want, you need to set up authentication using the HTTPDMODE, HTTPDUSER and HTTPDPASS values. See the documentation for more information on how to configure it.
Also, you don’t need to worry about saving your Wi-Fi password in a plaintext file. Once the card connects to the Wi-Fi network for the first time, the password is then securely stored and it is replaced by asterisks in the text file.
As the last step, create the G-code directory in the root of your SD card. You can now safely remove the card from your computer and insert it into your printer.
Configuring the printer
You basically don’t need to configure anything on the printer. You’ll only have to find out your card’s IP address. Prusa i3 MK2 and newer have support for FlashAir SD Cards and can tell you the assigned IP address if you activate this functionality.
To enable FlashAir support on your printer, go to Menu -> Settings -> SD Card and select FlshAir. Once you do this, you will see your FlashAir IP address in Menu -> Support as “FlashAir IP addr.” Write it down.
However, with the FlashAir W-04, you may run into issues with obtaining the IP address. If it happens, you have to get the IP address from your router’s DHCP client list. The instructions on how to access this list vary depending on your router model. Please refer to your router’s documentation.
The IP address can change based upon your network configuration and connected devices. We recommend using the DHCP reservations function of your router, which will assign always the same IP address to the same device (MAC address). Also, it’s good to set a DNS name for your card/printer if you can. Again, the process is different for each router model and type.
Configuring the computer
You can map the card’s WebDAV storage as a network drive in any supported version of Windows and in other operating systems as well. The following instructions describe how to do it in the current version of Windows 10. FlashAir should be compatible with MacOS as well, however, some users are reporting compatibility issues in newer versions of the OS. Check the manufacturer’s website to see whether your system is compatible.
Windows 10 instructions:
- Open Windows Explorer.
- Right-click the Network node in the left folder tree and choose Map Network Drive from the context menu. Alternatively, use the Computer tab in the Explorer’s toolbar and then select the Map Network Drive
- It will open the same wizard, where you can choose your drive letter (I use G: as in G-Code) and Folder. The folder path is \\10.0.0.15\G-Code (replace 10.0.0.15 with the IP address of your card). Also, check Reconnect at sign-in, so the mapping will survive a reboot of the computer. Then click Finish.
After a few seconds, the new network drive will be added to your computer and anything you’ll save there will be saved to the G-Code folder on your SD card.
Please note that your printer will not show all files in the printing menu, only files with G-Code extensions like .gcode, .gc or .g.
The FlashAir solution is definitely less powerful than the full-fledged OctoPrint or Repetier-Server installation because it enables you to only transfer files. You can’t start or monitor your print remotely etc. On the other hand, it’s a quick, easy and cheap way how to transfer G-Codes to your printer wirelessly, which makes using our printers even more comfortable. So if you don’t need advanced functions of OctoPrint, this might be just the perfect solution for you.
Acknowledgments: Thanks to Bruce Rohde for testing this method with FlashAir W-04.