Note: This is part of a bigger project with automato.farm. This is just a small testing unit for some initial steps for next bigger ideas
Assuming you are using latest raspbian lite terminal only image
(we do not need GUI crap ATM).
Also assuming you have updated, upgraded and set your locales from the raspi-config
.
In raspi-config
, under interfaces
option disbale console over serial and then select enable hardware serial.
sudo reboot
Then run
sudo ./setup_script.sh
This sets fixes some setup
We are suing foot print of Arduino Pro mini 3.3 V 8mHz for the HAT in the schematic as PI's logic levels are all 3.3V.
We are also providing some external 5 Volt supply for which we have created some back current
and voltage surge protection circuit following the guidelines of Raspvbberry pi HAT design guides
Also we have provided some Breakout GPIO pins for both Arduino and PI. (Note: Not all the pins are broken out.You mighht need to solder few wires.)
We have also broken out ISP Ports for burning bootloader to ATMEga328. PLease follow this guide here on how to do so. Only keep in mind few thing:
- Use another Arduino Pro mini 3.3 V 8MHz as ISP programmer (folow the guide above on how to prepapre an Arduino for burning bootloader). Also use a 3.3 V logic enabled FTDI board for this master pro mini as pro minis do not have USB interface like pro micros. Don't forget to enable 3.3 V logic on it. Most boards have a jumper to switch between logic levels)
- Also connect the ISP ports from this board (Will be marked on the baord) to the MOSI, MISO, SCK and CS pins of the programmer Arduino Pro mini. Rest follow the guide of burning bootloader.
- Then you can use the same FTDI programmer with the programming pads on the board to upload your code to the ATmega328.
In the design we have connected PI's RX to Arduino's digital pin 3 and PI's TX to Arduino's digital pin 2. We would be using "SoftwareSerial" lib on Arduino's side to confifure those pins as software serial pins to establish serial communication with PI. This way we can keep the FTDI programmer attached to the programming pads on the baord to use Arduino's default Serial port for debugging the ATMega328.