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.
U-Boot is the universal bootloader used on a vast majority of embedded systems, development kits, products and so on. This session is an introduction into the U-Boot bootloader, including a hands-on part, and covers practical topics like identifying that the board is running U-Boot, accessing and exploring the U-Boot shell, including advanced scripting techniques to make life easier, obtaining information about the current hardware, accessing buses and storage and finally booting the kernel. All the Embedded Apprentice Linux Engineer classes will involve using embedded hardware.
Modern IoT systems don’t only have to control things in their local environment, but also have to connect to the wider world to glean external information, report information or issues to an aggregation system, or just so you can control your IoT device from your smartphone. This seminar will discuss the cloud side of IoT, as well as a more practical example of connecting to an mqtt server and passing data from our edge sensor.
Microcontrollers are a fundamental part of computing, controlling everything from system power management, to monitoring environmental sensors, to flying quad copters. These are incredibly powerful devices, but since they are so limited in their scope and how you interact with them they can seem far more daunting to approach than small small board computers.
This class requires special registraiton for IoT Training and the purchase of required hardware.