MicroControllers

Which Controllers?

Short discussion on several options of available controllers, and why I chose the Pi and Arduino.

Notes on Boat Monitoring system.

The above page has notes specific to using Perl on the Raspberry Pi.

Notes about programming in Python on the Raspberry Pi.

Notes on installing and running Perl on a Windows 10 machine.

Notes about Arduino quirks and other projects.

RaspberryPi

The above page has my notes on the bringup and usage / experiments / projects with the Raspberry Pi

Bluetooth

This page has information and hints for both Pi and Android, as well as configuration data for HC-05.

RS-232 protocol Serial Display unit based on an Arduino. Displays received serial data on a 16x2 LCD display.

Information on using I2C. Note that the Pi library may be too fast for Arduinos to work out of the box.

I2C should work nicely on both Arduino and Pi. Requires only 2 wires and ground.

Muart_Protocol

Microcontroller UART 3 pin (including power) protocol.

Notes on using the TMP36 temp sensor.

MCP1525

Three terminal 2.5V output voltage reference.

Note - LM336 and LM385 should be functionally equivalent to each other, and provide the same effective output as a 2.5V zener, just needs a pull-up resistor to 3.3 or 5.0V.

MCP3008 ADC

Eight input Analog to Digital converter chip with 10 bit output resolution, and SPI interface to the Raspberry Pi - can run on 3.3 or 5.0V supply.

MCP23S08 Port Chip

Need to test this part - may be good option for parallel ports on a Pi with limited IO pins required.

A3144 Hall Effect Sensor

Hall effect sensor - note that this is a chip - it provides an open collector low output on sense, not a variable analog output.

PIR Motion Sensor

Notes on PIR Motion detect sensor module.

Transistors

Notes on transistors that I have played with so far...

Edison

The basic notes for Edison setup are at:

https://communities.intel.com/docs/DOC-23147

In general, with much fussing, I was able to go through the notes and eventually get the Edison to work on my work laptop (Windows 7).

Key issues were installing 7zip, and then just trying and re-trying till it worked. It's much more painful than the basic Arduino IDE install.

Bottom line: The Edison with the Arduino kit is a neat configuration. It provides wifi, with all the Arduino ports (Digital IO, Analog input, and a serial port!), all in one package. A huge advantage of the Edison over the Arduino platform is that it has a full blown computer with USB port support - so adding things like cameras and flash drives for more storage should work easily. (though I haven't seen ANY documentation for that yet...)

The PRIMARY drawbacks for the Edison are that 1) it's soo painful to get going on it, and 2) there just isn't enough documentation and examples out there yet.

I'd love to see, or publish a book / web-book on how to take an Edison out of the box, just connect to it over SSH, and use it for programming through Python and Linux. I'd be fine skipping the whole complexity of the Arduino IDE setup. Though so far, there doesn't seem to be any documentation on how to access the Arduino ports from Python, how to set up wifi, email, or other basic stuff that's covered in multiple resources for the Raspberry Pi.

Misc. Notes

Arduino vs. Edison

Arduino: $10 Raspberry Pi: $40 Galileo: $65, Galileo Gen2: $75 Edison: $100

Same IO Ports for both

Serial Port Galileo: 1/8" audio plug for serial port, plus Arduino connections

Edison - no audio plug for serial port support

Internet:

Arduino - no Internet support - hook to a Raspberry Pi, Galileo, Edison

Galileo - wired through the Ethernet cable port

Edison - wireless built in

Base Chip:

      • Arduino: Atmel processor - C code only

    • Raspberry Pi: Arm core - Linux code only

    • Galileo: Quark X1000 (Atom core?) C code Arduino interface, but theoretically can run Linux apps

      • Edison: Quark X1000 (Atom core?) C code Arduino interface, but theoretically can run Linux apps

Power:

Galileo: MUST power FIRST through power plug

Edison: Can program and supply some power through USB port (??)

Questions:

    • How to download .7z files?

    • What about Java Development Kit 1.5.0

    • Does the Edison require a power supply to be connected, or can it just run off the USB port?

    • How large of a micro-SD card is a good start (is 2G enough?)

    • What do you do with the microSD card? Can you datalog to it?

    • How do you use the I2C port? (or is it better to use the serial port?)

    • How do you get a GPS module to work with it?

    • How do you get the 3-wire display to work?

    • How do you hook up a web camera to capture pictures and perform "motion detection"?

Design thoughts:

    • Creating a Serial Network

      • Use a resistor network to select the board address

        • Requires use of analog input

        • All boards use same tx and rx pair - opportunity for collision / noise

        • Might work for wireless connections with only 2 frequencies? (possibly one, if timing is done correctly, all devices transmit and listen to same freq)

      • Wire serial network in series connection

        • First board decodes, then passes signal to next board till done

        • No hardware required for decode

        • No setup required for board address

        • Requires 2nd serial port (same as decode or more)

        • Requires that all boards listen and pass all traffic

    • Interfacing to a text to speech board