Slide 1

Slide 1 text

Design Arduino compatible hardware Software developer’s view on hardware design Andrzej Czarny 2018 https://hackaday.io/project/27229-irblack

Slide 2

Slide 2 text

About me Senior Software Engineer Java, Concurrency In my free time - hardware

Slide 3

Slide 3 text

Arduino ecosystem Single-board microcontroller Pre-programmed with a bootloader (Optiboot) Arduino IDE (sketch .ino)- HAL Large number of libraries Large Open Source community https://en.wikipedia.org/wiki/Arduino

Slide 4

Slide 4 text

Simple sketch - Blinky #define LED_PIN 13 // Pin number attached to LED. void setup() { pinMode(LED_PIN, OUTPUT); // Configure pin 13 to be a digital output. } void loop() { digitalWrite(LED_PIN, HIGH); // Turn on the LED. delay(1000); // Wait 1 second (1000 milliseconds). digitalWrite(LED_PIN, LOW); // Turn off the LED. delay(1000); // Wait 1 second. } https://en.wikipedia.org/wiki/Arduino

Slide 5

Slide 5 text

Why to use HAL - blinky example #include #define LED PD6 #define output_low(port,pin) port &= ~(1<

Slide 6

Slide 6 text

Understand schematics External oscillator ATMEGA 328PU microcontroller Reset to allow upload Voltage regulator capacitor resistor LED switch External pins

Slide 7

Slide 7 text

PIRR requirements Battery operated 2 x AA (3V or 2.4V) Low power consumption 3,3V below 10mA Display Auto shutdown Wake up on any button press Record IR signal Replay IR signal

Slide 8

Slide 8 text

PIRR Architecture Atmega328P 2 x EEPROM 24LC256 Display Nokia 5110 LCD - 84x48 Boost converter Pololu 3.3V Keyboard SoftSwitch SPI I2C IR receiver IR transmitter GPIO GPIO GPIO

Slide 9

Slide 9 text

Start simple with a solderless board (breadboard)

Slide 10

Slide 10 text

From BreadBoard to Prototype

Slide 11

Slide 11 text

Learn new tools - KiCad

Slide 12

Slide 12 text

Circuit Simulations

Slide 13

Slide 13 text

Learn new Skills

Slide 14

Slide 14 text

It will go wrong

Slide 15

Slide 15 text

More Bugs

Slide 16

Slide 16 text

Learn new Debugging Techniques

Slide 17

Slide 17 text

You will succeed - probably

Slide 18

Slide 18 text

Back to software

Slide 19

Slide 19 text

Almost there

Slide 20

Slide 20 text

Resources Tutorials and Courses Circuits and Electronics EDX by MIT PCBDesign tutorial by David Jones KiCad tutorial Blinky by Chris Gammell Manufacturing KiCad SeeedStudio PCBShopper Other TheAmpHour podcast EEVBlog Embedded.fm Software http://kicad-pcb.org/ http://everycircuit.com/ Eclipse Arduino C++ IDE

Slide 21

Slide 21 text

Sit down and relax