This is a continuation of a presentation I gave at Scale 14x on building your own Internet of Things devices. For the current iteration, I'm focusing on a crowd-funded ESP32 board that integrates PoE (Power over Ethernet) for monitoring a variety of environmental conditions in network closets and data centers. I will go over design considerations, selection criteria, testing, implementation and revision in true, exciting engineering style!
Use Git Workflows with DevOps to increase productivity, simplify maintenance, and ensure repeatability. Practice total transparency in operations, increase quality with code reviews, and continuously deliver changes to avoid configuration drift. Reduce the barrier to entry for others in your company by enabling anyone to contribute by opening Pull Requests. This scalable strategy is used by many recognizable brands to manage infrastructure and is now a project sponsored by HashiCorp.
Nodes die, and the machines get re-kicked; but sometimes the toil becomes too much. We’ll take you on the journey of one such issue in the xfs filesystem. We'll cover things like post-mortem data gathering, finding and building the sources, kernel code layout, kernel oops analysis, using git to identify fixes, community processes, advanced debugging options, and more. By the end, you'll have the tools necessary to reject the toil and start solving.
Since Bitcoin was open sourced in 2009 we've been reading about how crytpocurrencies are the new internet. How do cryptocurrencies actually work though? What technologies and principles lie under the hood? This talk will introduce the audience to the blockchain: a linked list used as a distributed ledger to record transactions between parties. We'll cover what a blockchain is, how it works, the cool math and theory that it uses, and discuss some applications of the blockchain beyond just cryptocurrencies.
Introductory talk to programmable logic technology, the FPGAs. Marek starts the talk by explaining what the FPGAs are, their pros and cons, HDL languages and tools used to work with them. The core part of the talk focuses on creating a simple FPGA design from the ground up. Marek explains how to implement the HDL code and simulate it on a common PC. The next step uses IceStorm tools and the iCE40 FPGA to program and run the design on actual hardware. The final part of the talk focuses on debugging the FPGA design.
A GPIO, or “General Purpose Input/Output” is a programmable digital pin which allows you to implement either input or output. They have no default behaviour but can be configured in a number of ways. They are often shared with other embedded buses which further requires you to choose how you want to use the pin at any particular time. This class will cover using libgpio and using GPIOs from userspace.
I2C was initially invented by Philips as a simple 2-wire low-speed communications interface between CPUs and simple peripherals. Used primarily in embedded systems to connect things like I/O devices, it is now used, under various names, by most IC manufacturers on many System-on-chips. This seminar will introduce I2C and the I2Cdev API which allows you to write I2C drivers from userspace in Linux.
This tutorial will briefly introduce the Linux IIO and Input subsystems to students. The focus of the tutorial will be a guided hands-on lab where the students write a new driver that leverages the IIO and Input kernel subsystems. The lab will be conducted using the E-ALE hardware kit. All the Embedded Apprentice Linux Engineer classes will involve using embedded hardware during the hands-on labs.
The SPI, or Serial Peripheral Interface is a protocol developed by Motorola which has become a defacto standard for short distance communication between CPU and peripherals. Although it can be called by several different names, it is a very common bus on embedded devices. This seminar will introduce SPI generally and SPIdev which is a Linux userspace API to write simple SPI drivers without having to write kernel code.
All the Embedded Apprentice Linux Engineer classes will involve using embedded hardware during the hands-on labs.