This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
airflash [2026/09/30 22:07] sausage |
airflash [2026/10/15 03:03] (current) sausage [The piCore Operating System] |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== What is the AirFlash? ===== | ===== What is the AirFlash? ===== | ||
| - | The AirFlash is an open-source standalone USB powered device that accepts up to four USB Flash drives and will serve their content out over WIFI to one or more users. You can take it anywhere and plug it in to a USB power source. Within 90 seconds the device will be available. | + | The AirFlash is an open-source standalone USB powered embedded Linux device that accepts up to four USB Flash drives and will serve their content out over WIFI to one or more users. You can take it anywhere and plug it in to a USB power source. Within 90 seconds the device will be available. |
| Security is at a minimum. The WIFI password should be conveniently printed on the underside of the device for nearby users to gain access from their own computers. | Security is at a minimum. The WIFI password should be conveniently printed on the underside of the device for nearby users to gain access from their own computers. | ||
| Line 12: | Line 12: | ||
| <WRAP center round alert 60%> | <WRAP center round alert 60%> | ||
| - | Please note that this is now a defunct project. Administration for Windows for many corporations can involve locking down the mapping of drives over a wifi connection, rending this as less viable solution. Your mileage might vary. A new bluetooth-based solution is in planning. | + | Please note that this is now a defunct embedded Linux project. Administration for Windows for many corporations can involve locking down the mapping of drives over a wifi connection, rending this as less viable solution. Your mileage might vary. A new bluetooth-based solution is in planning. |
| </WRAP> | </WRAP> | ||
| Line 83: | Line 83: | ||
| ===== What is the rationale for the technology choices? ===== | ===== What is the rationale for the technology choices? ===== | ||
| - | Originally the AirFlash was going to be created using the ESP32 and harnessing the WIFI features and available FTP library. However, USB library support was difficult to find. And I wasn't overly keen to implementing a bit banged mass storage USB driver. | + | Originally the AirFlash was going to be created using the ESP32 MCU and harnessing the WIFI features and available FTP library. However, USB library support was difficult to find. And I wasn't overly keen to implementing a bit banged mass storage USB driver. |
| Next I looked at the Raspberry Pi Pico and noticed it had some support for connecting a USB device. But I forgot that it didn't come with WIFI onboard. I didn't want to go into the complication of adding a module and then have casing considerations. | Next I looked at the Raspberry Pi Pico and noticed it had some support for connecting a USB device. But I forgot that it didn't come with WIFI onboard. I didn't want to go into the complication of adding a module and then have casing considerations. | ||
| - | I settled on the Raspberry Pi Zero W as it features WIFI, USB and good library support through the OS. Having a few seconds boot up time with an OS seemed a fairly pragmatic choice. | + | I settled on the Raspberry Pi Zero W as it features WIFI, USB and good library support through an embedded Linux distro. Having a few seconds boot up time with an OS seemed a fairly pragmatic choice. |
| - | For the OS, I chose piCore (a port of Tiny Core Linux), for it's robust use of persistence. Hard power cycles do not corrupt the data or OS content of piCore, so power can be pulled from the device without incident. | + | For the embedded Linux, I chose piCore (a port of Tiny Core Linux), for it's robust use of persistence. Hard power cycles do not corrupt the data or OS content of piCore, so power can be pulled from the device without incident. |
| Line 96: | Line 96: | ||
| For those wanting to build everything from scratch, let's go! | For those wanting to build everything from scratch, let's go! | ||
| - | The OS chosen for this project is piCore for it's light payload, start up time and resilliance. All versions of piCore are located here: http://forum.tinycorelinux.net/index.php/board,72.0.html | + | The embedded Linux OS chosen for this project is piCore for it's light payload, start up time, modular configuration and filesystem resilience. All versions of piCore are located here: http://forum.tinycorelinux.net/index.php/board,72.0.html |
| I have used piCore-13.0.3 (32-bit): | I have used piCore-13.0.3 (32-bit): | ||