...
- Overview of small computers available
- Operating system
- Microcontroller with/without bootloader
- Arduino
- Full Linux distribution
- Debian on CHIP
- Raspbian
- Custom Linux build with cross-compiling
- Buildroot
- Yocto (Intel Edison)
- Android Things
- Windows IoT
- Microcontroller with/without bootloader
- Microcontroller vs 'system on a chip' and general OS
- Startup time
- Remove power vs clean shutdown
- Filesystem cache
- Filesystem corruption
- Read-only root filesystem
- Journaling filesystem
- Security and managing patches/updates
- Hardware driver availability
- Size of current sourced and sinked to GPIO pins
- IOH = current when output is high
- IOL = current when output is low
- Arduino Uno ATmega328
- IOH: Max 40 mA, recommended 20 mA
- IOL: Max 40 mA, recommended 20 mA
- Also limitations on total for all pins
- http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations
- PCF8574 on CHIP
- IOH: 30 to 300 uA (47 uA reported in forum)
- IOL: 10 to 25 mA
- http://www.ti.com/lit/ds/symlink/pcf8574.pdf
- https://bbs.nextthing.co/t/electrical-characteristics-of-chips-gpio/2590
- 5V vs 3.3V logic
- Arduino IDE and computer-hosted microcontroller tool chains
- Storage
- Internal
- SD card
- Networking
- Wifi
- Bluetooth
- Ethernet
- I/O
- Digital
- Analog (ADC/DAC)
- PWM
- I2C: https://en.wikipedia.org/wiki/I%C2%B2C
- Video (HDMI, DSI)
- Serial over USB
- USB On-The-Go
- 3 wire UART serial
- Power
- Power consumption
- Power source options
- USB (discuss non-standard current draw)
- USB 2.0: 5V max 500 mA
- Barrel jack DC
- AAA batteries
- LiPo batteries
- https://learn.adafruit.com/li-ion-and-lipoly-batteries?view=all
- USB (discuss non-standard current draw)
- Battery charging
- Add-on boards
- Raspberry Pi HATs
- Arduino Shields
- CHIP DIPs
- Feather Wings
- Sample boards
- CHIP
- Arduino
- Teensy
- Feather
- LilyPad: https://www.arduino.cc/en/Main/ArduinoBoardLilyPad
- FLORA: https://www.adafruit.com/product/659
- Raspberry Pi
- Beaglebone Black
- Micro:bit: http://microbit.org/hardware/
- Intel Edison
- ESP8266: https://en.wikipedia.org/wiki/ESP8266
- SAMD21
- Operating system
- CHIP
- Specs:
- Allwinner R8 CPU
- 512MB DRAM
- 4GB NAND storage
- Realtek RTL8723BS
- 802.11b/g/n
- Bluetooth 4.0 LE
- AXP209 power management chip
- USB A socket Host (500 mA)
- USB Micro B socket power and On-The-Go
- TRRS A/V connector
- 80 pin headers
- Battery connector
- Power button
- https://docs.getchip.com/chip.html#parts-and-pieces
- https://github.com/NextThingCo/CHIP-Hardware/tree/master/CHIP%5Bv1_0%5D/CHIPv1_0-BOM-Datasheets
- Allwinner R8 CPU
- Getting started with CHIP
- Powering CHIP: http://www.chip-community.org/index.php/Power
- Connecting to CHIP
- Serial USB to Micro B USB OTG
- UART
- SSH wireless or wired (wired requires USB ethernet adapter)
- https://docs.getchip.com/chip.html#headless-chip
- stty size
- stty rows M cols N
- http://unix.stackexchange.com/questions/16578/resizable-serial-console-window
- Default user configuration
- User: chip, password: chip
- passwd
- User: root, password: chip
- sudo passwd -l root
- On headless image, ssh service is enabled
- sudo systemctl disable ssh
- PermitRootLogin is "yes"
- /etc/ssh/sshd_config
- User: chip, password: chip
- Default hosname: chip
- /etc/hostname
- /etc/hosts
- Using a powered USB hub
- Wifi configuration
- List networks: nmcli device wifi
- Enabling UTF-8
- sudo apt install locales
sudo dpkg-reconfigure locales
In locales to be generated, select "
en_US.UTF-8 UTF-8
"- Select "
en_US.UTF-8 UTF-8
" as default - Reboot
- CHIP GPIO
- https://docs.getchip.com/chip.html#pin-headers
- XIO pins attached to a PCF8574 via I2C
- http://www.ti.com/lit/ds/symlink/pcf8574.pdf
- https://bbs.nextthing.co/t/electrical-characteristics-of-chips-gpio/2590
- http://www.chip-community.org/index.php/GPIO_Info
- https://github.com/chip-community/libsoc
- https://github.com/xtacocorex/CHIP_IO
- Device numbering varies with kernel version: https://docs.getchip.com/chip.html#gpio
- Lighting an LED on CHIP
- Circuit for Arduino: https://www.arduino.cc/en/tutorial/blink
- SparkFun tutorial on selecting resistor value for LED circuit: https://www.sparkfun.com/tutorials/219
- We cannot use the Arduino circuit on CHIP as the XIO pins cannot source enough current
- Instead we can either:
- Use XIO pin to control a current from another source (say using a FET)
- Or, reverse the circuit and sink to XIO rather than source
- https://bbs.nextthing.co/t/leds-with-gpio/1802
- Automate CHIP configuration: http://www.chip-community.org/index.php/Automate_CHIP_configuration
- Running stuff at startup with systemd
- How we are using CHIPs for Nexus
- Talk by Dave Rauchwerk of Next Thing Co on the history and design of the CHIP:
Widget Connector url http://youtube.com/watch?v=KqNfpL8ML_w
- Specs:
- Adafruit FTDI Friend: https://www.adafruit.com/products/284
- Arduino
- http://www.arduino.org/products/boards/arduino-uno
- https://www.arduino.cc/en/Tutorial/Memory
- Building an Arduino on a breadboard: https://www.arduino.cc/en/Main/Standalone
- Firmata: https://github.com/firmata/arduino
- ATmega328 specs
- 20 MHz AVR
- 32 KB flash (non-volatile, program)
- 2 KB SRAM (volatile, runtime data)
- 1 KB EEROM (non-volatile storage)
- 6-channel ADC
- Bus Pirate