6 Replies Latest reply on Aug 27, 2015 9:00 PM by bartimaeusx

    USB file access on custom Edison PCB




      I am working on a custom PCB for an Edison sensor/control system. I need to determine how to log data from the system, either on the Edison's flash memory or on an SD card.


      If I choose to store the logs on the Edison, how do I access that data? Can I simply connect the USB-OTG I/Os from the Edison to a micro USB-B receptacle (I don't need the host functionality) on the PCB, with the intent of just plugging the Edison into a laptop and copying the files, or should I include a USB-UART IC (like the FT232R on the Mini Edison Breakout Board) and connect the UART I/Os?


      I've attached a screenshot of my current schematic if anyone is interested. I have yet to add the IMU and pressure sensor.



        • 1. Re: USB file access on custom Edison PCB

          Hi Steven,


          You can save data in /media if you would like to use an SDcard or a USB drive.

          Do you need to read for a certain time the input in the receptable? Are you going to read a file or are you going to read measurements from the physical pins?

          If you are going to read a file you can use the first choice with the USB receptable but if you need to have readings for a certain time I think the FT232R could be a good idea, this one should work for both purposes.




          • 2. Re: USB file access on custom Edison PCB

            Hello Charlie,


            I suppose a bit of context would be beneficial. The application I intend to use this Edison sensor/control system in is a university's human-powered vehicle team; think high-speed aerodynamic bicycles. While the system is powered up, it will log data such as speed, position, direction, rider power output, cadence, temperature, etc. During this time it will provide real time sensor data the rider, but it is also necessary to have a log of every ride that can be analyzed afterwards. This log would be stored either directly on the Edison in flash memory or on an SD card.


            I need to implement either a USB interface for transferring the log file to a laptop or an SD card interface so I can store the log data on the card and subsequently remove the SD card from the system and plug it into a laptop to retrieve the file.


            My question is the following. If I simply connect the Edison's USB OTG GPIOs (Pins 3, 16,18, and 20 from Intel® Edison Boards — Pin-out) to the micro USB-B receptacle, can I (using a micro USB-B to USB-A cable) just connect it to a laptop and see the log file in the Windows file explorer?

            • 3. Re: USB file access on custom Edison PCB

              I don't think that the USB connection can provide a PC with read access to the Edison's file system.  Swapping SD cards in and out would be pretty straightforward, and there are a couple known-good configurations for the SD interface that you can copy (the Arduino board's implementation and Sparkfun's microSD block).  Is there a reason you wouldn't want to just copy the log files over Wifi using scp?

              • 4. Re: USB file access on custom Edison PCB

                Copying over Wifi is a good idea. Out in the field (at a test track or competition) there might not be a network, but I suppose that could be remedied with somebody's cellphone hotspot.


                I opted for a USB receptacle instead of a barrel plug for charging of the system's lipo battery, and if it turned out to be a simple addition of traces the PCB from the Edison's USB OTG pins to the USB receptacle to be able to copy files to a laptop, I figured why not do it. I just wasn't sure of what you can do with the USB OTG (whether its serial communication or file access, etc.) as I haven't toyed around with an Edison yet (just ordered it). 

                • 5. Re: USB file access on custom Edison PCB

                  Wait, I'm an idiot.  Go ahead and route the microUSB connector to the Edison's USB data lines.  Plugging the Edison in as a peripheral creates a virtual network adapter on the host -- Windows sees it as an RNDIS device, and Linux on the Edison sees it as a network interface called usb0.  It may take a little configuration (I use ubilinux, which automatically configures usb0 as; Yocto probably just requires a command or two to bring that interface up, and Windows just needs to be told to use a static IP on the same subnet), but you should then be able to run ssh, scp, etc. without worrying what network the Edison should be looking for, or if Bob brought his phone today.

                  • 6. Re: USB file access on custom Edison PCB

                    Great! That's good to know