ETCLabs / lighthack

UNOFFICIAL - Create your own OSC widgets in meatspace!
MIT License
56 stars 16 forks source link

Some Arduino hardware not working. Various responses #5

Open Druuka opened 7 years ago

Druuka commented 7 years ago

USB OSC Arduino Device List Tested on Windows 7 based Ion console

Arduino Uno Genuine Yes Osepp Uno R3 Plus Does not see USB device Arduino 101 Genuine No Arduino Ethernet with Arduino FTDI Yes Arduino M0 Sees as USB Serial device but M0 not handshaking Arduino Due Tries to handshake on programming port but Due tries on native port Generic Nano ATMega328 Does not see USB Device OSEPP Nano ATMega328 Does not see USB Device Gravitech Nano ATMega328 Does not see USB Device Teensy 3.2 Does not See USB Device Update on Teensy. If I change the PID/VID to an UNO the console sees and talks to the board without issue. Arduino ATMEGA2560 Yes ATmega32u4 Sees USB device but does not try to handshake(This was with a Adafruit Circuit Playground)

I think we are dealing with some PID/VID issues where the console doesn't look for a serial port unless they match a list of some sort that it has.

samkearney commented 7 years ago

Thank you so much for doing this testing. To add the additional context from your facebook comment, these are results from testing on an Ion Win7 console, right?

I found out that we are only installing a subset of the Arduino driver pack onto our consoles with the new Eos versions. This is probably the reason for your "Does not see USB Device" results. I am going to see what we can do about this in the future.

Druuka commented 7 years ago

Yes this was with a Windows 7 based Ion console for testing. I agree. It would be great if they could include at least a couple others. Something small like the Nano or Mini/pro mini or micro. The Teensy line are also very popular because they are fast and very versatile. Some of the more obscure (101, M0, Due) are nice units but not part of the core arduino that people own. Most of the Generic/non arduino brand units use the FTDI232 chipset which is its own set of drivers.

sstaub commented 7 years ago

Many Arduino clones and ESP32 boards uses the CH340g USB chip, drivers can found on http://sparks.gogo.co.nz/ch340.html. The last updates of the OSC library was done a year ago and only teensy boards were updated. The newer arduino boards with atmel samd21 (e.g. Arduino Zero) are not supported yet.

sstaub commented 7 years ago

I tested following boards with ETCnomad on WIN10 (Apple MacBook with Parallels and Bootcamp)

Druuka commented 7 years ago

sstaub, Did you install drivers for those on the computer? If so they may not work with a console. I think we need to get a list of what works with the default drivers provided with the console.

sstaub commented 7 years ago

Yes, I installed the driver for my macOS (I use PlatformIO for coding on my MacBook) and WIN10 for use with ETCnomad. I don't know if the drivers work on the console, but if you look on ebay or aliexpress you find many boards who use the cheaper CH340G USB chip instead of the FTDI chip. So maybe etc will install also this driver on the consoles.

Druuka commented 7 years ago

I'm trying to come up with a list of what does and doesn't work with the default drivers so ETC can decide what additional drivers they want to install on the consoles. For Nomad users they can install whatever drivers they want. :)

jpgagnon73 commented 7 years ago

So, I just tried testing mine on an Element XP console and it does not work. such a bummer. But at least it works with Nomad.

jpgagnon73 commented 6 years ago

I can confirm the Arduino Nano works on Nomad if you install the specific driver for for it on the console. This will work for my scenarios very well.

kcrayn commented 6 years ago

I'm trying to get a Genuino Micro working with Nomad under Win10 but not having any luck. It works perfectly using an UNO. Do I need to change anything in the code (I'm specifically trying to get the usb_test to work)

sstaub commented 6 years ago

Working with an micro clone without problems. Have WIN10 recognized your micro?. Will see it by nomad (open tab 99 or setup/diagnostics for analyzing). Have also a look to the new #lighthack forum. https://community.etcconnect.com/etclabs/f/lighthack

kcrayn commented 6 years ago

I didn't realize there was a #lighthack forum, I've made a post over there with more details. Thank you

TfairleyHO commented 6 years ago

I am trying to use a SparkFun "RedBoard" that I got for free with a class I took, but when running the test sketch I can get Nomad to recognize the USB but it won't receive the OSC message. I tried plugging it into our Element (win7) but it would not even recognize the usb device. The redboard has an ATMega328p and FTDI1533. I thought it would work fine since it is supposed to be very similar to the UNO. This might be the wrong thread to post this but I thought it was a hardware issue related to the main topic. Let me know if anyone has any ideas.

Druuka commented 6 years ago

TfairleyHO, If you look at my post above I couldn't get any of the atmega328 based boards to be recognized by the console. The console identifies boards based on how the USB/Serial connection is created Some of the devices show up as a usbserial rather than serial and these seem to be the units that the console is not attempting negotiations with.

samkearney commented 6 years ago

@TfairleyHO, @Druuka is correct about the console, I would expect your Nomad setup to work, though. Where is it failing? What do you see in the Eos diagnostics log?

TfairleyHO commented 6 years ago

I get the "EtcUsbDiscovery usb device connected" message a few times like plugging in a keyboard, and then nothing. No handshake or ping. When I run the serial monitor on the IDE the strings are coming through fine.

I am using the offline version if that makes a difference, and osc incoming is on. Could this be an issue with the driver? The driver installation guide from Sparkfun seems outdated. I am using the FTDI driver that comes with the IDE. Hope this narrows it down.

sstaub commented 6 years ago

Maybe it is the driver, maybe it is a problem with the VID/PID of the the board.

TfairleyHO commented 6 years ago

So I managed to change the PID/VID using the FT-Prog tool from FTDI. I changed it to match the PID/VID for the Uno but I still needed to change the PID/VID in the FTDI driver and force it to use that driver since it wouldn't work with the UNO driver. The main difference seems to be that the Uno uses the FT232RL FTDI chip but the RedBoard uses the FT231XS Chip.

I can successfully upload the Handshake test, and now Nomad seems to recognize it as an OSC device since it puts out a lot of OSC strings. Now however it is giving me the following error multiple times: "Read Failed with result 17, error 0x1". Then it ends with EOS attempting the Handshake but receives nothing in return. I feel like I am closing in on a solution but still need some help. There is a field in the FT-Prog tool to change the Manufacturer from it's default (FTDI) in the EEPROM. Maybe I need to change that. Not sure what is causing EOS to fail out but it must have something to do with the different FTDI chips.

sstaub commented 6 years ago

Have you changed the PID/VID also in the boards.txt of the Arduino IDE? I have had also problems with FTDI chips and their clones, sometimes they work sometimes not. Maybe the driver will be overridden when you install the console software. Best way seems to use chips with native usb, like Arduino Mikro etc. because they work without any external driver on newer systems.

TfairleyHO commented 6 years ago

The PID/VID on the EEPROM and the Driver now match the PID/VID in boards.txt so the IDE now recognizes it as an UNO. I don't really see how changing boards.txt would affect how EOS interacts with it anyways. I wonder if I need to modify the UNO driver to work with this chip, or vice versa edit the FTDI driver so that it acts like an UNO. Has anyone had experience with boards using the FT231XS?

TfairleyHO commented 6 years ago

What driver do you use for your nano-clone, and what PID/VID doe the Nano use? I am especially interested in the Clone using FTDI. If I switch the PID/VID to the UNO I can get EOS to recognize it as an OSC device but it doesn't seem to be able to communicate over USB with it. I have a few other things that I am going to try and I will let you know what happens.

TfairleyHO commented 6 years ago

Anyone know if there is a specific list of PID/VIDs that Eos will listen too?

benjaminauer commented 1 year ago

Cant get this working with Arduino Leonardo. No handshake. Eos 3.1.3 EosDiagnostics 2022-09-16 00-22-15 Screen 2

sstaub commented 1 year ago

@benjaminauer I think Leonardo will not work on Windows. Only Arduino UNO and MEGA is supported official.

benjaminauer commented 1 year ago

@sstaub you are right. UNO works just fine. do you know if a request for more support was every brought to etc? and you know that Leonardo / atmega32u4 works on mac systems?

the library supports the chip, is it an eos issue?

sstaub commented 1 year ago

I can remember that 32u4 boards works on macos. There was an EOS feature request for supporting Teensy and Raspberry Pi Pico boards. On macos I prefer Raspberry Pi Pico boards using https://github.com/earlephilhower/arduino-pico with the master branch of the OSC library which supports the board.

benjaminauer commented 1 year ago

Thanks for the hint. I am looking for the smallest formfactor, thats why i tried the atmega32u4 based dfrobot beetle. will possibly try the beetle RP2040. my teensy did not work with NOMAD windows 10 but not GIO windows 7. ever had succes with a pico board and GIO windows7?

sstaub commented 1 year ago

On consoles only Arduino UNO and MEGA definitely works. Maybe other boards works on consoles which works with Windows 10 like Apex and newer Element 2, but this is not tested. Maybe I work on the new Apex consoles in November were I will try.

jamiejcole commented 10 months ago

Any update on this? I have a win7 element 2 console and my arduino uno clone is not being recognised at all in diagnostics page. It's using the CH340 chipset, really struggling to get this to work. Is there any way i can install the drivers onto the console?

sstaub commented 10 months ago

@jamiecole No! Use an Original Arduino UNO or MEGA.

jamiejcole commented 10 months ago

Any update on this? I have a win7 element 2 console and my arduino uno clone is not being recognised at all in diagnostics page. It's using the CH340 chipset, really struggling to get this to work. Is there any way i can install the drivers onto the console?

Update on this, was able to install the correct drivers by:

sstaub commented 10 months ago

@jamiejcole Yes, you can install drivers on your console, but it is possible that you will loose your warranty.