This presentation will provide guidelines how to create an open source hardware add-on board for the most popular single board computer Raspberry Pi using free and open source tools from scratch. Specifications of Raspberry Pi Foundation for HAT (Hardware Attached on Top) will be revealed in details. Leon Anavi has been developing an open source Raspberry Pi HAT for IoT for more than a year and now he will share his experience, including the common mistakes for a software engineer getting involved in hardware design and manufacturing. The presentation is appropriate for anyone interested in building entirely open source products that feature open source hardware and open source software. No previous experience or hardware knowledge is required. The main audience are developers, hobbyists, makers, and students. Hopefully the presentation will encourage them to grab a soldering iron and start prototyping their DIY open source device.
Raspberry Pi is the most popular single board computer among hobbyists and students. In 2014 Raspberry Pi Foundation released a specification for add-on boards called HAT (Hardware Attached on Top). Nowadays we are capable of making our own open source add boards following these specifications. In this presentation, Leon Anavi will share his experience in designing an open source hardware Raspberry Pi HAT and developing open source software for it using only free and open source tools such as KiCAD. Leon has been working on his Raspberry Pi HAT as a hobby project in his spare time for more than a year. In November 2016 his open source Raspberry Pi was successfully crowdfunded through IndieGoGo. Now he will explain the challenges and the common mistakes for a software engineer getting involved in hardware design and manufacturing. The presentation will reveal details about the technical specifications of Raspberry Pi HAT, the life cycle of entirely open source project and will provide getting started guidelines. The presentation is appropriate for anyone interested in open source hardware and open source software development. Previous experience or knowledge about hardware design is NOT required. Attendees can expect details about Raspberry Pi HAT technical specification, embedded Linux software development tips for Raspberry Pi, guidelines for hardware design and low cost manufacturing of prototypes or small volume PCB. This presentation will help software developers, hobbyists and students better understand the value of open source hardware and hopefully it will encourage them to a get a soldering iron and start prototyping add-on boards for their favorite Raspberry Pi. The presentation will be also useful to people interested in the concept of entirely open source projects that integrate open source hardware and software created with free and open source tools.
9. HAT Requirements
Form factor and dimensions (65x56mm)
40 pin header compatible with Raspberry Pi
B+ and the newer models
EEPROM with device tree fragment
Details:
https://www.raspberrypi.org/blog/introducing-raspberry-pi-hats/
https://github.com/raspberrypi/hats
10. pHAT
Form factor suitable for Raspberry Pi Zero
with 4 mount holes and dimensions
65x30mm
40 pin through-hole header
EEPROM not mandatory
* Not an official standard of the Raspberry Pi Foundation
11. Sense HAT
Official product of the Raspberry Pi
Foundation
Sensors for temperature, humidity,
barometric pressure, gyroscope,
accelerometer, magnetometer
8x8 RGB LED matrix
Five-button joystick
13. Making Your 1st
HAT
Requirements:
Idea (for example: a blinking
LED)
Soldering equipment
Adafruit Perma-Proto HAT
Additional hardware resources
(depending on the idea)
14. Device Tree Fragment
Data structure with hardware description of
the Raspberry Pi HAT stored on EEPROM
8 pin DIP I2C EEPROM
Recommended EEPROM CAT24C32
15. Flashing the EEPROM
Download and build eepromutils
https://github.com/raspberrypi/hats
Create a text file with description of your HAT
using eeprom_settings.txt for example
Generate .epp file using eepmake
Flash the binary file to the EEPROM using
eepflash.sh
18. Designing PCB
Electronics Design Automation Suites:
KiCAD (free & open source software)
Eagle (free for small 2 Layer PCB)
Other
19. KiCAD Advantages
Free & open source software (GPLv3+)
Cross platform (works on GNU/Linux
distributions, MS Windows and Mac OS X)
Integrated 3D viewer
Contributions from CERN developers
Used by Olimex for the design of their new
open source hardware boards
23. Recommendations
Comply with the minimum requirements of the
PCB manufacturer for trace spaces, drills and
angular rings
Keep in mind the complexity of the assembly
process while designing the PCB
Consider the location of Raspberry Pi
components while placing components on
your HAT and avoid any potential negative
impact
25. Software
Python is popular programming language
among Raspberry Pi makers
WiringPi library for C/C++
WiringPi language bindings: Java, JavaScript
(Node.js), PHP, Perl, Go, Rust, etc.
Other FOSS (LIRC, OpenCV, etc.)
26. … and one more thing
Share your hardware and
software under open
source licenses :)