Technical Forum Moderator
  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    Commanderfranz reacted to Bianca in Analog Discovery 2 Parts Kit Bundle   
    Next to the word "free" on the pricing sheet there is small red #1 that directs you to notes at the bottom of the page which clarifies that in order to get a free parts kit, you will need to get a coupon code from your professor to enter when you check out online (copy posted below).   The reasoning behind this is that we will give them free to students who are required to purchase it for a class, if their professor is willing to contact us and give us some basic info about the course they are teaching and how many students will be taking the class so we can keep enough in stock.   

    Info from the academic price list on our  website:
    "The Free Analog Parts Kit (APK) can only be ordered by value code or coupon code, by a
    student, anywhere in the world. Schools cannot get free APK, only students. A professor must
    contact Digilent to make arrangements prior to their students ordering the Discovery to get the
    value code. Free APK is limited to one per student."
  2. Like
    Commanderfranz reacted to mwingerson in ZYBO device locked license - worthless?   
    Hello ks0ze,
    Sorry for the delay. Originally this license was supposed to grant you access to a lot of of IP cores and a couple features that weren't included in the standard Webpack license. Since then a lot of features and IP cores were added to the Webpack license diminishing its value. Last time I looked at the usefulness of this license the big value that you were getting was Chipscope. Since I have not kept up with what Xilinx has released under the Webpack license, I will contact Xilinx to confirm what features are included with that license and I will talk with our marketing department to clarify this point on the product description.
    More than anything, we don't want you to feel 'scammed' and if there is no value associated with this license then we need to pull that product and try to make amends with our customers who bought it. Specifically, what license did you buy? The one in the Zybo Accessory Kit, Xilinx Vivado Design Suite Voucher for Zybo or the Zynq SDSoC Development Voucher?
  3. Like
    Commanderfranz reacted to jpeyron in ZedBoard Linux Hardware Design for Vivado   
    Hello saleksin, 
    Sorry for the late response, one great source of information, demos and tutorials for the Zedboard in Vivado is at I believe it requires you to register but there is no cost. Once registered follow this path : Home->Support->Reference Design / Tutorials->Zedboard. Also a good blog for information for the zedboard is at In the near future we will be posting a demo for the Zybo that uses the PmodOLED that with some little changes that will enable users to use onboard OLED on the Zedboard. 
    Thank you,
  4. Like
    Commanderfranz reacted to Bianca in I want to blink LED   
    The constrains are commented. You'll have to uncomment them in order to work. 
    This is how they look
    ## LEDs
    ##set_property PACKAGE_PIN T28 [get_ports S]
    ##set_property IOSTANDARD LVCMOS33 [get_ports S]
    #set_property -dict { PACKAGE_PIN V19   IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; #IO_L19P_T3_A10_D26_14 Sch=led[1]
    #set_property -dict { PACKAGE_PIN U30   IOSTANDARD LVCMOS33 } [get_ports { led[2] }]; #IO_L15N_T2_DQS_DOUT_CSO_B_14 Sch=led[2]
    #set_property -dict { PACKAGE_PIN U29   IOSTANDARD LVCMOS33 } [get_ports { led[3] }]; #IO_L15P_T2_DQS_RDWR_B_14 Sch=led[3]
    #set_property -dict { PACKAGE_PIN V20   IOSTANDARD LVCMOS33 } [get_ports { led[4] }]; #IO_L19N_T3_A09_D25_VREF_14 Sch=led[4]
    #set_property -dict { PACKAGE_PIN V26   IOSTANDARD LVCMOS33 } [get_ports { led[5] }]; #IO_L16P_T2_CSI_B_14 Sch=led[5]
    #set_property -dict { PACKAGE_PIN W24   IOSTANDARD LVCMOS33 } [get_ports { led[6] }]; #IO_L20N_T3_A07_D23_14 Sch=led[6]
    #set_property -dict { PACKAGE_PIN W23   IOSTANDARD LVCMOS33 } [get_ports { led[7] }]; #IO_L20P_T3_A08_D24_14 Sch=led[7]
    and they should be looking like this: 
    # LEDs
    #set_property PACKAGE_PIN T28 [get_ports S]
    #set_property IOSTANDARD LVCMOS33 [get_ports S]
    set_property -dict { PACKAGE_PIN V19   IOSTANDARD LVCMOS33 } [get_ports { led[1] }]; #IO_L19P_T3_A10_D26_14 Sch=led[1]
    set_property -dict { PACKAGE_PIN U30   IOSTANDARD LVCMOS33 } [get_ports { led[2] }]; #IO_L15N_T2_DQS_DOUT_CSO_B_14 Sch=led[2]
    set_property -dict { PACKAGE_PIN U29   IOSTANDARD LVCMOS33 } [get_ports { led[3] }]; #IO_L15P_T2_DQS_RDWR_B_14 Sch=led[3]
    set_property -dict { PACKAGE_PIN V20   IOSTANDARD LVCMOS33 } [get_ports { led[4] }]; #IO_L19N_T3_A09_D25_VREF_14 Sch=led[4]
    set_property -dict { PACKAGE_PIN V26   IOSTANDARD LVCMOS33 } [get_ports { led[5] }]; #IO_L16P_T2_CSI_B_14 Sch=led[5]
    set_property -dict { PACKAGE_PIN W24   IOSTANDARD LVCMOS33 } [get_ports { led[6] }]; #IO_L20N_T3_A07_D23_14 Sch=led[6]
    set_property -dict { PACKAGE_PIN W23   IOSTANDARD LVCMOS33 } [get_ports { led[7] }]; #IO_L20P_T3_A08_D24_14 Sch=led[7]
    If you want to blink all the leds, you'll have to declare "led" it as standard_logic_vector. Also, the name in the code must exactly match the name in the constraints. If you simply declare "led" it won't be recognized in the constraints as the signals are named led[1], led[2]. If you use a standard_logic_vector(7 downto 1) then you can refer to led[1] or led[2].
    Uncomment just one line, name the signal led and see if it works.  The same thing with the clock signal. You'll have to uncomment the clock signal and give in the constraints the same name as in the code, otherwise it won't know where it should route signal and you'll get constraints errors. 
    You can see the user demo project of the genesys 2 and take example from there:
  5. Like
    Commanderfranz reacted to attila in Analog Discovery - Not Fully USB 2.0 Compliant   
    The 16 inch cable length limitation of USB 2.0 is for data transmission signal integrity. In case you need more than this you use up to 5 USB hubs.
    The Analog Discovery needs about 400mA (2W) to function, less than the 500mA USB 2.0 limitation at 5V.
    Most computers can provide more than 2A without any problem (like external HDDs need this to spin up), having the surge protection above this limit.
    However long and/or bad quality cables have high resistance and the voltage will drop too much on the device side, below the ~4V minimal requirement for the AD.
    There can be huge differences between cables. The best cable I have is a thin unshielded 6 feet one, some others are thick and looking good but have way more resistance. It seems the plug contact resistance is a very important factor since these can oxidize easily.
    With a good cable I see 0.1V drop (4.9V), with other bad ones up to 0.8V (4.2V) when using with AD taking 2W.
    Try using different USB cables, check the device voltage in the WaveForms application status bar.
    You can also try the Analog Discovery 2 which can be powered from 5V auxiliary supply.
  6. Like
    Commanderfranz reacted to attila in Explorer Board system monitor   
    The difference is between the devices.
    The Analog Discovery has power monitor on USB and AD2 has an additional one on the AUX supply.
    The EExplorer does not have such power monitor, but it has voltage and current measurement on each supply output.
  7. Like
    Commanderfranz reacted to brmarcum in Explorer Board system monitor   
    When I open Waveforms 2015 and connect the AD1 or AD2, I can click on the status button on the bottom of the main window and it will pop up a system monitor that allows a quick view of the USB voltage and the total current draw from the device. If I attach a separate AUX 5V power supply to the AD2 (awesome feature!), it will display AUX voltage and AUX current. I tested it with a high W resistor and easily pulled 1100mA with no issues and was able to observe that value through the system monitor (see image "AD2").
    My question is why doesn't this feature work for the Explorer Board (see image "EE")? At first I thought it might be related to the power running exclusively through the USB with the AD1/AD2, which is why I tested it with the AUX power supply on the AD2. Since that worked, my only thought is that the hardware and/or software on the Explorer Board doesn't allow that type of data to be returned to the system monitor. If it is software, is it possible to add this feature? All it tells me right now is that my board is on/off, which I can see from the bright green "ready" LED on the board itself, so that doesn't help me much. I realize there are multiple ways that I could either use external tools, or even utilize the tools on the EE board to figure this out, but it would be nice to just be able to see total system voltage/current at a quick glance.
    Thank you.

  8. Like
    Commanderfranz got a reaction from JColvin in Questions about the AD2   
    Hi there,
    We also have videos detailing installation of WaveForms 2015 located here.
  9. Like
    Commanderfranz reacted to attila in Python Scripts   
    You can use the WaveForms (2015) application designed for Digilent instrumentation devices:
  10. Like
    Commanderfranz reacted to attila in Python Scripts   
    The instrumentation devices can be controlled by custom application or script (C, Python, LabView, MatLab...) using the WaveForms Runtime.
    In the WF SDK install location you can find the documentation and some examples.
    To run a Python program on Windows install a Python package like WinPython.
    C:\WinPython-32bit-\python-2.7.6>python "C:\Program Files (x86)\Digilent\WaveFormsSDK\samples\py\" The Script interface in the WaveForms (2015) Application is a different thing. This allows you to control the instruments of the application, like: perform a Scope acquisition, based on the measurements, adjust the Wavegen paramters;
  11. Like
    Commanderfranz reacted to Mirandamay in Nexys 4 DDR   
    Hello! I admit this is not my area of specialty, however I have found a Instructable relating to your question that you may find helpful. You can select the operating system in step two.
    Please let me know if you still have questions and I can find someone with better expertise!
  12. Like
    Commanderfranz reacted to sandeepsan in Zybo Root file system   
    Hi Nate,
    Thanks for the information. I partitioned the SD card with ext4 file system.
  13. Like
    Commanderfranz reacted to NAEastland in From device tree to Linux drivers   
    Hey Herrmattoon,
    I just responded to your previous question from last week, sorry for the delay. It seems as though you have made some progress along the tutorial!
    You are right in your assumption about the functionality of the device tree in that it is just there to inform the kernel about the peripherals available for the specific machine it is running on. The drivers handle communication with the various hardware peripherals at run time. All the drivers you should need for basic Linux usage are included in the kernel, though depending on if you want to use certain USB devices you may need to download additional drivers.
  14. Like
    Commanderfranz reacted to [email protected] in How to use the on board 16MB memory of nexys 3 via VHDL. Any help is appreciated .   
    It looks like @jpeyron and I may have confused you in our zeal to try to answer your question.  Let's start at the top, "onboard memory" can be ambiguous.  The Nexys 2 documentation describes 16MB SDRAM as onboard memory, however the Spartan3E chip also has memory onboard and even "onchip".  This latter memory is further split into two categories, "block RAM" which we described above and "distributed RAM" which is accessed in a similar fashion.  There are differences between the two: "Block RAM" is limited by the FPGA chip.  It's not likely that you will have 16MB of it.  The wires for block RAM never leave the chip, so you don't need to mention them in any UCF file.  "SDRAM", however, is different.  This one takes a bit more logic to access properly, the controller is harder to build and easier to copy someone elses, and the wires do leave the chip and hence need to be in a UCF file.
    That said, here are some things I noticed:
    If you are trying to use block RAM on your FPGA,
    1. The address should not appear on any NET's
    2. The size is not likely to require 26 bits of address
    3. By registering "ind" and then reading/writing the memory on the next clock, you may well be placing your memory value at the last address, not the address that comes with it
    If, on the other hand, you are hoping to use the 16MB SDRAM on your board, then you will instead wish to download and use the SDRAM controller found here.  This controller will require quite a few lines between your FPGA and the memory, and it should be clear from the controller what lines those are.  Still, you can't have multiple addr(0) lines in your netlist. 
    You may notice that I'm talking around the details of the SDRAM, but giving details of the block RAM interface.  That is on purpose.  The SDRAM isn't as simple to use.  If that's what you wish to use, however, just say so and I (we) will taylor our responses to your purpose.
    Also, next time you write to tell us things aren't working, please include an explanation of why, or what error message you are getting.  It'll make this process easier.  In this case I can imagine several errors you might have gotten with your code above, but as you get closer to working code that's not likely to remain that way.
  15. Like
    Commanderfranz reacted to Gra in Is there an arty drawing available?   
    Great, Many Thanks Bianca.   Kind Regards Gra
  16. Like
    Commanderfranz reacted to [email protected] in a vivado project   
    Ok, so now I understand.  You would like to run a program on the Zybo.  You would like to start that program from the Vivado command shell, not run it from within the command shell.
    Check out the Zynq chapter in the Vivado High Level Synthesis Tutorial.  I think it'll help with what you need.
  17. Like
    Commanderfranz reacted to Aaron in Issue with BNO055 sensor on uC32 via I2C   
    Thank you for the response. I'll see which way seems to make sense. Checking the Arduino IDE library will be quick, and I pretty much presume will have trouble, but it's an easy check.
    Rewriting some of the API calls is probably the proper route, so I'll let you know how it goes.
  18. Like
    Commanderfranz reacted to TommyK in "Cannot erase chip"   
    Hi guys,
    Sorry you're have such a hard time with these boards. I'm pretty sure it's a problem with the old bootloader on the uC32. You can run the sketch found here in MPIDE to update the bootloader. You do not need a programmer to do this, just run the sketch in MPIDE and let me know if it solves the problem!
  19. Like
    Commanderfranz reacted to JColvin in No reset when using Arduino IDE   
    Hi mboroff,
    What do you mean by no reset? Do you mean the code doesn't actually upload to the board or something else?
  20. Like
    Commanderfranz reacted to JColvin in Arduino IDE & chipKit core problem   
    Hi cantrade,
    It took me a little while, but I think I have reproduced your problem. 
    What I think happened is that you added the chipKIT Core to the Arduino IDE as outlined here getting the .json file listed, at which point you are then able to select your Uno32 board in the "Tools" tab, but nothing happens. If I'm reproducing your problem correctly, what you need to do next is then go Tools->Board: -> Boards Manager... and scroll down to the chipKIT boards. You then have the option to select a version (currently just 1.1.0) and install the board files.
    If all goes well, this should eliminate the "no target found" error.
    Let me know if this helps!
  21. Like
    Commanderfranz reacted to cantrade in Arduino IDE & chipKit core problem   
    Hello, Mr. Colvin
    I performed the steps as you suggested and everything worked o.k.  I used IDE 1.6.7 and have not gone back to try 1.6.8 yet.  I thought the 1.1.0 files were installed already but who knows.  
    Thanks for all of your attention to this problem.  
    Don, KM5XK
  22. Like
    Commanderfranz reacted to jpeyron in Error UDP Wi-Fire   
    Looking in to the Github the error code refers to Link Layer errors and is ipsIPNotSetup. I know using the similar library with a diy instructable project i worked on we had to hard code the ip address of the router.I believe this is the issue. here is a link to the instructable with code using the WF32.
    thank you,
  23. Like
    Commanderfranz reacted to MnM-bbb in Carebot Board   
    Well I went with the uC32, and a couple of i/o boards. 
    It is favorable for my application since it requires a bit of connection skills and a computer to access.
    It is a drive by wire actuator but not throttle, The actuator controls a supercharger bypass valve. All retrofitted.
    I am very pleased with the board so far My HP (AMD) opened up the port right away but the dell (INTEL) had some issues. Working like a champ now.
    New to Arduino but an old MPLAB IDE assembly man. Matrix Flowcode does not support the 32 bit micro-controller either. I uploaded a simple knob control program example which seems to be close to basic and assembly. Right up my alley
    I will up-date as the project progresses, hoping to program three different profiles based on input resistance. Traffic,Highway,Race
    All the Best, M
  24. Like
    Commanderfranz reacted to JColvin in Carebot Board   
    Hi M,
    I haven't done much with drive by wire technology, so I'm not the most familiar with it. Looking at the board though (and guessing at your needs) you may be able to get a much smaller microcontroller board (such as a WF32 or a uC32) and then use an appropriate Pmod to interface with your motor (PmodHB5 or PmodHB3 for DC motors, PmodCON3 for servo motors, PmodSTEP for a stepper motor).
    I'm not sure if that works for your project or not, but let me know!
  25. Like
    Commanderfranz reacted to [email protected] in ChipKit Max32 / ArduinoMega 5V compatibility   
    The easiest answer is: Expect issues.
    "5V tolerant" simply means that you won't permanently damage your part by connecting 5V to that pin.  Often you can still sense digital inputs, since a 3V circuit will test whether or not the input is greater than 1.5V (rather than 2.5V), but it's still not ideal.
    You might find the PMod Logic Level Shifter to be valuable.  This will convert your 3V digital outputs to 5V, as well as converting 5V inputs to the 3Volts that your device is expecting.  You'll still need to get a 5V reference voltage from somewhere, however.  (USB perhaps?)
    Hope this helps,