Arduino on Firmata

Hi Snaut!.
First, thanks for your pioneering work. I am looking into firmata as an (hopefully) simpler way to interact with steppers (simpler than serial msg parsing anyway :wink: ).
Naturally I have a bunch of questions.

1)I was apparently under the mistaken impression that firmata would be more like a ‘firmware’ mod of the Arduino, but it seems it is ‘only’ a sketch upload. (Maybe that is all that is really possible with an arduino anyway? Or maybe Im just not unnerstanding the Arduino paradigm correctly?)…

2)Why do they use the ancient MIDI protocol? (maybe I dont really want to know, as once the talk turns to Most significant/Least Significant bits/ nibbles et al, my eyes kind of glaze over and I try my best to understand …maybe I dont need to know thks to your work!)(why not a more modern protocol like OSC, as example ?)

3)is there a way to communicate to a firmata’d Arduino other than serial/USB? Ethernet perhaps ?

  1. I gots a warning msg from my Diecimila: ‘low memory, stability problems may occur’ - looks to be about 84% full after uploading the sketch. Is my dfiecimilla just too old and small you think ?

any insights aprec.

I will answer #4 myself: diecimilla is old and small. I switched to an UNo and the problem went away

  1. imo, its great that its a sketch, in that it allows users to upgrade/tweak/develop it using the exact same set of tools they use for any other Arduino development.

  2. My guess is because MIDI is a very simple protocol without much overhead (all messages start with a value > 127) etc. Things like OSC would require much more sketch space devoted to parsing.

  3. I don’t have any experience with them, but I found a few references online about firmata branches supporting ethernet. Maybe the arduino forum is the best place to ask.

  4. Haven’t seen that before. Wonder if its really a problem, or if firmata memory usage is relatively constant (as most embedded systems usually are).

Rob.

@cod65

I have used Firmata for a while and think it is great.

If you are interested in Firmata I would encourage you to checkout the wiki: [url]http://firmata.org/[/url]

It answers your questions. To chime in on what @rob said:

The Firmata project is intended to be a Firmware for arduino, (that’s how it got the name) and I think it does a pretty good job.

Everything from Touch to a browser to MAX / MSP can interact with Firmata all using the same sketch on Arduino.

[url]Bad title - Firmata Answers this exactly. It goes over why the original author chose to use MIDI instead of HID or OSC. Hint, Rob was right.

  1. I have communicated with an Arduino running Firmata wirelessly over Bluetooth, however, that was still via serial. You can do serial over lots of transports.

The Tox file is not here anymore?

Its in the palette now.

Is it possible to change the Baud Rate? I’m running into issues when I go into the component and change the Baud Rate on the Serial Dat

Hey folks,

Would anyone be able to confirm whether or not the Firmata.tox (from the palette) will work with the Circuit Playground Express board running Firmata?

learn.adafruit.com/circuit-play … a/overview

Also, it appears that the Firmata main site is down, maybe has been for a while?
firmata.org/wiki/Main_Page

Any tips or pointers on how to get sensor data from this board into Touch would be appreciated. Thanks :slight_smile:

-Casey

I am having trouble with the firmata componant from the pallette manager. I am trying to simply switch a digital pin on and off. I have selected mode as output for the pin in the pin modes tab, and have connected to the correct serial port. I even see my little arduino blink when i toggle the serial connection. This seems to happen on multiple arduinos (tried on two micros and two megas) with different usb cords and with both the current and older versions of standard firmata.

Any ideas?



Has anyone had any luck with getting firmata->Report Digital Pins to work ? ‘Report Analog Pins’ is reporting the analog pin values correctly, but ‘Report Digital Pins’ doesn’t seem to update ever. The actual firmata functionality is working fine and I’m able to set the values of my output pins no problem. When I try and monitor ‘Output 2 (CHOP) Digital’ the values just remain at 0.

TD 099: Non-Commercial 64-Bit Build 2019.15230
I’m using the default firamta tox that comes in the palette menu.

Hey,

which Arduino Board are you using? I know there are problems with the Mega…

Cheers
Markus

An issue I’m encountering is that the serial DAT’s active parameter export is not working. When I disable/enable the export from null1 to serial1, everything works again. Also switching that export to a reference fixes it as well…

I’m on Mac OSX 10.14.5 and build 2019.15840

I also discovered another issue, it may be the reason that servo’s aren’t totally working…

on line 271 of the firmata extension, values are multiplied by 360. Typically, the arduino servo library expects 0-180.

Hi Lidphi,

Did you manage to solve this problem? I am experiencing similar issues, th leds on the Arduino board respond, but no response in the PinValues DAT.

Any help is much appreciated!
Rob R.

Hi Rob,

I’ve rebuild the firmata component - it will be published with an upcoming build but if you like give it a try:
firmata.tox (9.2 KB)

Best
Markus

1 Like

Wow hey Markus!

Good to hear from you, 'll give it a spin.

thnx!!

Rob

1 Like

Hi guys,

I did some testing and I run into a couple of things.

1 Both with the palette and the new tox file I can not store the pinmodes, they are initialised by the board when it connects tot TD isn’t it? Can this be avoided? (perhaps in the Arduino sketch?) it is a hassle when implemented in an installation.
2 I need to switch on and off both the "Report digital and analog pins"a couple of times before they start responding.
3 Once disconnected, the Uno does not respond anymore after reattaching and resetting or restarting TD, a full reboot is required.

I’ll do some more testing and come back later, any comments are welcome.

Rob R.

Hey @rot8ion,

thanks for checking through this a bit. The new component is suppose to save the pinmodes and upload them when a board connects - I’ll double check why this is not happening for you.

I’ll investigate your other issues but have not experienced them like this.
Can I ask what TouchDesigner version you are on atm?

Best
Markus

The build I am on is 2020.20625

Thnx for looking into it!

Hi Markus,

Any progress so far?

Best,

Rob