how to (physically) connect the Arduino Pro Mini?

Hi, all -

I’m going through Molloy’s book, and am on the chapter regarding the BBB buses. I got an Arduino Pro Mini and some other devices for the exercises in the chapter. When the Mini arrived, I discovered that connecting it isn’t as straightforward as the other devices I’ve used so far.

I’m a software engineer, so please forgive my lack of knowledge in the area of physical connections, but…how am I supposed to work with this thing? The videos in Molloy’s web page don’t address the Mini, and there doesn’t seem to be a lot of information about this on SparkFun’s site either, though they do indicate that soldering and some other activities might be needed. This is a little out of my pay grade, though I suppose I can learn.

Can anyone point me to a reference (or just tell me how) on how I’m supposed to make connections like this? I guess most users of the BBB are more proficient with electronics than I am, because it’s a topic that Molloy kind of glosses over in the book.

Thank you for any help. I’m really anxious to get this working, because chapters 8 and 9 are the real reason I wanted to experiment with the BBB in the first place.

I have the book but haven’t referred to it much (I should at some point). Could you provide a bit more information:
I am on page x, and am attempting to do y. The book wants me to do a, but I can’t do so because b. Be as specific as possible and I’ll try to get you an answer. Thanks!

Andrew

Hi, Andrew -

Yeah, I suppose I should have included that information. If your book is the same edition as mine, on page 315 you’ll find figure 8-16. There, the author shows the wiring connections between the BBB and the Arduino. It’s the physical connections to the Arduino I don’t know how to do. I can’t just insert the wires I use for the BBB and the breadboard; the holes are too big, plus that would be a hokey connection anyway.

This isn’t the only place in the chapter where there are some “mystery connections” but I imagine the others will work the same way this one does (whatever that turns out to be).

Thanks.

This is something you should contact, and discuss with D.R. Molloy.

I know nothing about the mini, but I do have his book, just not accessible
at this moment. So I can not look at the page you mentioned. However there
are 3-ish ways to connect one embedded system to another. The easiest of
which is going to be UART, However, you need to understand that the
Beaglebones I/O is all 3v3 signalling. Except for the ADC, if you wish to
count that in the I/O category. Which the ADC is 1v8, or 1.8v max input.

Anyway, you need to check and make absolutely sure that whatever you
connect to the Beaglebone does not exceed 3.3v, ever. Additionally, the
pins on the beaglebone can not have power applied to them at power up, or
power down. Such an occurrence could destroy the Beaglebone's processor.
One can avoid this problem by using various isolation techniques. Which
I'll let someone else describe in more detail, if needed. As I'm not en EE
either. Just a low level / applications software developer.

Additionally, each pin has a maximum value in current that it can sink or source. I can not remember is these values are listed in the datasheet, TRM, or SRM. But these values are listed for each pin.

I’m going to make a couple assumptions here and hope I’m not going in the wrong direction.
assuming you have a breadboard, solder some male pins on the arduino pro mini and stick it on a breadboard across the middle “valley” so that the pins are on either side.
connect the beaglebone 3.3v to the Arduino VIN pin on the breadboard
connect the beaglebone ground to the Arduino ground on the breadboard
connect the beaglebone serial rxd to the arduino txd on the breadboard
connect the beaglebone serial txd to the arduino rxd on the breadboard

You should then be able to communicate with the Arduino on /dev/ttyO4, I can’t recall which offhand.

/dev/ttyO4 would require an overlay to be loaded, as would any of the
UART's. The only UART that is normally loaded at system up is /dev/ttyO0,
which is the serial debug port.

you likely don’t need an overlay, simply modify /sys at boot to mux the pins to serial…

Thanks for all the information, guys. I think the answers are:

  1. yes, some soldering is involved. Guess I’ll get on Amazon later today
  2. the name for the piece(s) I need is “pin headers.” I’ll be getting some of these as well.

Maybe this kind of thing is obvious to everyone but me, but…I wish that Dr. Molloy had been a little more explicit and thorough when specifying the parts needed to perform the exercises in his book. I live in an area where I can’t just run out and buy these components, so this business of incrementally discovering what I need, and ordering it, is time consuming and costs a lot in shipping. Anyway…not your problem.

Thanks again.

On Mon, 27 Feb 2017 10:49:21 -0800 (PST), mzimmers
<mzimmers@gmail.com> declaimed the following:

the physical connections to the Arduino I don't know how to do. I can't
just insert the wires I use for the BBB and the breadboard; the holes are
too big, plus that would be a hokey connection anyway.

  First step is probably to buy a supply of
Break-away 0.1 36-pin strip male header - Black - 10 pack : ID 392 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits and solder them onto the sides of the
Mini... (I think the 6 holes on the end are for the programming connection,
and putting headers there will make it difficult to put the rest into a
breadboard)

That should then permit you to stuff the entire Mini into a breadboard, and
make connections through the other parts of the breadboard. OR, if you've
put headers everywhere, get jumper wires with sockets on one end to connect
to the top of the headers.

Or maybe 36-pin 0.1 Short Female Header - Pack of 5 : ID 3008 : $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits if you just want to plug
random (bare end) wire jumpers into a board, without needing sockets.

That would take an awful lot of work, and knowledge compared to simply
loading an overlay at boot, or interactively from the command line. The
overlays already exist too. They're in /lib/firmware

The point i was trying to make anyhow, is that it wont work just because
you've connected hardware to hardware, and that you need to mux the pins,
and load the serial driver module. Which an overlay makes pretty simple.

you will also need a copy of Electrical Engineering 101 by Ashey. You’ll probably want to read it before going further.

mzimmers,

What exactly is it that you’re trying to do ? Aside from the obvious . …but I mean like high level. Do you have a specific application that requires both of these boards. Or are you just trying to stay busy, while learning something ?

The reason I ask is because all beaglebone have 2 on die PRU’s which could potentially blow any of these small Atmel processors away in shear performance.

I can understand doing an exercise such as this however. I’ve done it myself with a different platform. An MSP430 launchpad.

Hi, William -

Small scale answer is that I’m trying to perform the exercises in Molloy’s book. Large scale answer is that I’m trying to learn about embedded Linux, particularly as it applies to bus and peripheral interface programming. Just an attempt at making myself more marketable.

The best advice I can offer to you, assuming you want any: Is to learn Linux. Learn Linux well, then learn the Linux programming interface. Learn how to work with files, as most of the devices you’ll be communicating with will be through a file like interface. Some interfaces can even be socket like in nature. SocketCAN for example when using a CANBUS device in Linux. At some point, you’ll come to realize that all these software libraries written by many people are all but useless. This is one of the problems I have with the book “Exploring embedded Linux with the beaglebone black”. There is so much useless example software, that this software gets in the way of learning how to work with the hardware, through software. So in effect, the book in whole for me is useless, as I learn nothing from it Granted, I know where I stand in terms of electronics engineering. e.g. I’m about good enough to be dangerous. Luckily for me, I’ve a buddy who designs hardware, and sometimes we even agree to work on a project together . . .

Hi, William -

Thanks for the suggestions. I think I know Linux well enough to start learning the nuances of how its embedded features work. And, I’m already somewhat familiar with various peripheral devices. In another job, I wrote drivers/interfaces for things like I2C, SPI, UART, memory, etc. That was bare-metal programming, though, where the devices were tied to a known address and I manipulated the lines myself. I was hoping that the BBB and the book would help me learn how to do this with Linux, using the file system, but I’m starting to think this has been a waste of time and money.

I do appreciate the help you’ve given me, though.

I'd think, as long as you've learned something. It could be worth it.

Something I think would definitely be worth learning though. Learn how to
design I2C, 1-wire, and perhaps SPI slave devices.That would definately
make you more marketable, and is truly something I'm in the process of
wanting to learn myself.