# Will the Fin work for me?

**URL:** <https://forums.balena.io/t/will-the-fin-work-for-me/111454>\
**Category:** balenaFin\
**Created:** [May 12, 2020, 5:49pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454 "2020-05-12T17:49:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![crbn60](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/crbn60/32/3671_2.png) [@crbn60](https://forums.balena.io/u/crbn60)\
**Post date:** [May 12, 2020, 5:49pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/1 "2020-05-12T17:49:53Z")

</div>

I want to learn IoT systems by installing a SoC in my off-grid trailer and monitoring system voltages (a few), a few temperatures, and some mechanical states (switches on hatches). I will eventually want to use PWM to control a motor or two.

1. Is a balenaFin going to work for my application, in general?
2. Will the Phoenix “ring” exposed terminals give me the correct access to achieve what I want in a robust manner? (GPIO/ADC/PWM)

I did read the datasheet, but I don’t yet have the knowledge to understand what I’m looking at.

Thanks for your input and comments,

A.

---

<div class="post-metadata">

**Author:** ![odyslam](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/odyslam/32/1684_2.png) [@odyslam](https://forums.balena.io/u/odyslam)\
**Post date:** [May 13, 2020, 9:48am UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/2 "2020-05-13T09:48:26Z")

</div>

Hey Adam,

Yes, balenaFin sounds like an ideal candidate for your use-case. In essence, you would want to use the co-processor for real-time signals, such as PWM and for analog input. To monitor system voltages, ideally you would want to use some intermediary board, as the co-processor supports up to 3.8 voltage and the GPIO support up to 5v.

Thanks for reaching out and we are looking forward to hearing more about your use-case 🙂

---

<div class="post-metadata">

**Author:** ![crbn60](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/crbn60/32/3671_2.png) [@crbn60](https://forums.balena.io/u/crbn60)\
**Post date:** [May 13, 2020, 12:55pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/5 "2020-05-13T12:55:04Z")

</div>

Thanks for the support!

A few more questions:

1. Is the ADC and GPIO accessible from the main CPU directly? I’m hoping to leave do-processor programming to a later stage of development.
2. For convenient 12v vehicle power, should I get a 2-position Phoenix plug and use that instead of the barrel connector?

And indeed, I need to learn about what’s required for accurate voltage measurement in the vehicle power range of 0-18v or so. Maybe I can find something off-the-shelf that has a few inputs and communicates over a bus?

Thanks again,

A.

---

<div class="post-metadata">

**Author:** ![richbayliss](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/richbayliss/32/1054_2.png) [@richbayliss](https://forums.balena.io/u/richbayliss)\
**Post date:** [May 13, 2020, 1:59pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/7 "2020-05-13T13:59:29Z")

</div>

> For convenient 12v vehicle power, should I get a 2-position Phoenix plug and use that instead of the barrel connector?

Yes, that makes sense.

> Is the ADC and GPIO accessible from the main CPU directly?

I think that we have used Firmata in the past which should do what you want.

---

<div class="post-metadata">

**Author:** ![crbn60](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/crbn60/32/3671_2.png) [@crbn60](https://forums.balena.io/u/crbn60)\
**Post date:** [May 13, 2020, 2:18pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/9 "2020-05-13T14:18:16Z")

</div>

You are talking about:

> **[balena-io/balena-fin-coprocessor-firmata](https://github.com/balena-io/balena-fin-coprocessor-firmata)**
>
> firmata firmware for the BGM111 co-processor on the balenaFin - balena-io/balena-fin-coprocessor-firmata

Meaning that I would flash this firmware to the co-processor, then use that protocol to talk to it from the main CPU. Seems reasonable. Thanks.

---

<div class="post-metadata">

**Author:** ![richbayliss](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/richbayliss/32/1054_2.png) [@richbayliss](https://forums.balena.io/u/richbayliss)\
**Post date:** [May 13, 2020, 2:24pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/10 "2020-05-13T14:24:51Z")

</div>

That’s the one 👍

---

<div class="post-metadata">

**Author:** ![crbn60](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/crbn60/32/3671_2.png) [@crbn60](https://forums.balena.io/u/crbn60)\
**Post date:** [May 17, 2020, 6:50pm UTC](https://forums.balena.io/t/will-the-fin-work-for-me/111454/12 "2020-05-17T18:50:53Z")

</div>

I received my fin with the nice Phoenix ring.

The connector pin map:

 ![](https://global.discourse-cdn.com/balena/original/2X/2/28aa634e915bc4327cfa110719f9333abfa8e73c.jpeg)

From this I gather that I have access to an SPI bus, an I2C bus, and a PWM output directly from the core CPU module, but no digital I/O or ADC.

I see PD14, PA2, PA3, and PF6 from the co-processor?

The co-processor data sheet:

> **[BGM111\_datasheet.pdf](https://www.silabs.com/documents/public/data-sheets/BGM111_datasheet.pdf)**
>
> 3.86 MB

So I can use those 4 pins as either GPIO or ADC, at runtime? I’m clueless in this area.

Lastly, I need a serial interface (to put my fridge on the 'Net!!!), where do I get that?

Thanks for your input,

A.
