# Which pins can't be used when using the Wifi board?

**URL:** <https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220>\
**Category:** OpenMV Boards\
**Created:** [March 24, 2017, 6:50pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220 "2017-03-24T18:50:32Z")\
**Posts on this page:** 11\
**Page:** 2

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [March 27, 2017, 10:42pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/21 "2017-03-27T22:42:14Z")

</div>

Um, so is the image flipped? This mounts upside down?

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [March 27, 2017, 10:43pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/22 "2017-03-27T22:43:18Z")

</div>

Wait, I think you need to swap the TX and RX pins. The TXO pin of the Arduino is connected to the TX pin of the OpenMV Cam. I think you want the TX pin ont he OpenMV Cam connected to the RXI pin on the Arduino.

---

<div class="post-metadata">

**Author:** ![zlite](https://avatars.discourse-cdn.com/v4/letter/z/c6cbf5/32.png) [@zlite](https://forums.openmv.io/u/zlite)\
**Post date:** [March 28, 2017, 3:49am UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/23 "2017-03-28T03:49:29Z")

</div>

Yes, the shield is back-to-back with the OpenMV, so you can get access to the Arduino reset button and the PWM pins. I _think_ I’ve got the RX and TX pins right. I’ve labelled the OpenMV pins now so it should be easier to follow:

 ![Capture.PNG](https://canada1.discourse-cdn.com/flex029/uploads/openmv1/original/1X/5e622f6937c79371500334a6e01ae2034f928a89.png)

---

<div class="post-metadata">

**Author:** ![deshipu](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/deshipu/32/8_2.png) [@deshipu](https://forums.openmv.io/u/deshipu)\
**Post date:** [March 28, 2017, 8:00am UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/24 "2017-03-28T08:00:54Z")

</div>

I would consider using I2C instead of UART. You have the A4 and A5 pins free on the Arduino, so you can make it into an I2C slave. This way you can connect more things to those two pins.

Here’s an example of a Pro Mini-based servo controller that uses I2C for communication: [https://hackaday.io/project/9131-servo-controller](https://hackaday.io/project/9131-servo-controller) (click on the ‘code repository’ to see the Arduino sketch used). I think you could easily modify this to suit your needs.

---

<div class="post-metadata">

**Author:** ![zlite](https://avatars.discourse-cdn.com/v4/letter/z/c6cbf5/32.png) [@zlite](https://forums.openmv.io/u/zlite)\
**Post date:** [March 28, 2017, 6:49pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/25 "2017-03-28T18:49:05Z")

</div>

You’re probably right, but I’ve been traumatized by years of fighting I2C glitches and timing bugs in drones and I’ve got a bit of PTSD there (we now have a rule to only use SPI for mission critical stuff and we use Serial for everything else). At the end of the day, I always come back to Serial, which always works with every hardware combination I throw at it. It’s like English – not a great language, but ~everyone can speak it.

To be clear, I2C is very good for driving motors and servos. But I need this module to read sensors, too, and we’ve had trouble with I2C timing glitches introducing sampling biases in sensors. That’s why we won’t use it for any mission critical sensing.

---

<div class="post-metadata">

**Author:** ![deshipu](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/deshipu/32/8_2.png) [@deshipu](https://forums.openmv.io/u/deshipu)\
**Post date:** [March 29, 2017, 7:42am UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/26 "2017-03-29T07:42:13Z")

</div>

I suppose you could use the same SPI bus as the wifi shield uses, and use one of the free pins as CS…

---

<div class="post-metadata">

**Author:** ![zlite](https://avatars.discourse-cdn.com/v4/letter/z/c6cbf5/32.png) [@zlite](https://forums.openmv.io/u/zlite)\
**Post date:** [April 8, 2017, 2:11am UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/27 "2017-04-08T02:11:22Z")

</div>

Here’s the real thing. So far so good!

 ![IMG_20170407_185651.jpg](https://canada1.discourse-cdn.com/flex029/uploads/openmv1/original/1X/865c201825c95446df87681021ae9332162b1d25.jpeg)

---

<div class="post-metadata">

**Author:** ![zlite](https://avatars.discourse-cdn.com/v4/letter/z/c6cbf5/32.png) [@zlite](https://forums.openmv.io/u/zlite)\
**Post date:** [April 8, 2017, 6:26pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/28 "2017-04-08T18:26:53Z")

</div>

Slight update. I decided to move the Serial Rx and Tx pins on the Arduino that talk to the OpenMV to SoftwareSerial on Pins 2 and 3, so you can still use the hardware serial Rx and Tx pins for the FTDI cable to program it and monitor serial output while it’s attached to OpenMV:

 ![Capture.PNG](https://canada1.discourse-cdn.com/flex029/uploads/openmv1/original/1X/3cab8417d9ef5a292af06dd931afab23904ba88b.png)

---

<div class="post-metadata">

**Author:** ![deshipu](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/deshipu/32/8_2.png) [@deshipu](https://forums.openmv.io/u/deshipu)\
**Post date:** [April 8, 2017, 7:19pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/29 "2017-04-08T19:19:09Z")

</div>

Shame you didn’t move them to A4 and A5, then you would have the option for I²C 🙂

---

<div class="post-metadata">

**Author:** ![zlite](https://avatars.discourse-cdn.com/v4/letter/z/c6cbf5/32.png) [@zlite](https://forums.openmv.io/u/zlite)\
**Post date:** [April 8, 2017, 8:20pm UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/30 "2017-04-08T20:20:31Z")

</div>

BTW, I tried both 3.3v and 5v Ardiuno Minis and they both worked fine (I guess the logic lines are tolerant of both). So might as well go with the 5v and get the faster clock speed

---

<div class="post-metadata">

**Author:** ![Drews](https://avatars.discourse-cdn.com/v4/letter/d/f07891/32.png) [@Drews](https://forums.openmv.io/u/Drews)\
**Post date:** [July 17, 2017, 6:28am UTC](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220/31 "2017-07-17T06:28:37Z")

</div>

> [@](#):
>
> Shame you didn’t move them to A4 and A5, then you would have option for I²C 🙂

Good idea, I’m going to give that a try on my project.

[Previous page](https://forums.openmv.io/t/which-pins-cant-be-used-when-using-the-wifi-board/220.md?page=1)
