SlideShare a Scribd company logo
SGVLUG 8 April 2010
How to Make
an Eight Bit Computer
and
Save the World!
Braddock Gaskill
Humane Informatics
braddock@braddock.com
SGVLUG 8 April 2010
Overview
-Present Device
-Overview
-Goals
-Device Demo
-Functional Requirements
-AVR Open Ecosystem - Uzebox
-AVR Open Ecosystem - Arduino
-AVR Open Ecosystem - gcc, avr-libc, avrdude
-AVR Open Ecosystem - avrfreaks, uzebox forums, etc
-Video Requirement - Tellymate
-SD Card Requirement - Wave Shield/Uzebox
-FAT Requirement - Petite FatFS
-USB Desirement - V-USB
-Schematic (Eagle, GEDA, gschem, PCB Artist)
-Layout
-Bill of Materials
-PCB Fabrication
-Assembly
-Pricing
SGVLUG 8 April 2010
Talk Overview
Today's Audience
Independently Wealthy Philanphrapists
Non-Governmental Organizations, UN, etc
DoD Civil Affairs, USAID
Geeks interested in
Playing with Microcontrollers
Building & Fabricating things
Open Source Tools and Hardware
Today's Talk
Overview and demo of device
Survey of AVR Open Source Hardware
Survey of AVR Open Source Tools
Walk through of design and design tools
Walk through of fabrication and manufacturing
SGVLUG 8 April 2010
Bridging TV/Internet Gap
SGVLUG 8 April 2010
Bridging TV/Internet Gap
Market
>700 million
SGVLUG 8 April 2010
Pitch
2GB SD Card = ~5,000 books or better part of
Wikipedia
Humane Reader device turns any TV set into an
e-book/wikipedia reader.
Production Cost
approx $20
(incl SD Card)
SGVLUG 8 April 2010
Value Proposition
The Humane Reader can provide a
virtual library to any developing
world school or individual with
electrical power for less than the cost
of a single textbook.
SGVLUG 8 April 2010
Secondary Goals
Goal: Create an extendable, hackable, 8-bit
general computing platform both for first through
third world developers and experimenters.
Effect: Join and leverage the existing open source
hardware community (Arduino, AVR, etc) to
spur further development.
Effect: Provide a learning platform as well as
simple e-book reader.
SGVLUG 8 April 2010
Demo
DEMO
SGVLUG 8 April 2010
Design Requirements
NTSC/PAL Video Output
SD Card Interface (w/FAT)
Cheap Input Interface (buttons)
Power (Micro-USB Adaptor)
PS/2 Keyboard Interface (optional)
USB interface (optional)
Audio (optional)
IR (optional)
SGVLUG 8 April 2010
AVR Open Ecosystem: Uzebox
SGVLUG 8 April 2010
AVR Open Ecosystem: Uzebox
8-bit gaming "console"
FEATURES: NTSC/PAL color video output,
game controller input, SD Card, custom
"kernel", solid community
FAILURES: expensive video chip, expensive
MCU (Atmega644), overclocked design
Too Expensive ($95 sparkfun)
SGVLUG 8 April 2010
AVR Open Ecosystem: Arduino
HARDWARE:
Simple break-out board with pseudo- standard
expansion headers
Wide variety of extension "shields" - Ethernet,
Wifi, Bluetooth, SD Cards, video
SOFTWARE: Provides an educationally-oriented
"easy" IDE.
COMMUNITY: Excellent. Dev tutorials, forums, etc
CONCLUSION: Shield, IDE, and software
compatible.
SGVLUG 8 April 2010
AVR Open Ecosystem: Tools
avr-gcc compiler - full C, partial C++, bintools, well
supported alternative to Atmel's compiler
avr-libc - standard C library for AVR. Includes printf, etc
(roll your own IO backend)
avrdude - OSS Programmer - many methods
simulavr emulator - several OSS emulators - waste of time
(?)
avarice - JTAG debugging. HW Expensive. Glitchy (-Os).
AVR Dragon for <32k MCUs.
SGVLUG 8 April 2010
Schematic
SGVLUG 8 April 2010
Video Output
REQ: NTSC/PAL Video Output
PROBLEM: Very fast signal. For B&W, only
a few cycles per dot.
SOLUTION: Use existing Tellymate project
software.
SGVLUG 8 April 2010
Video Output
SOLUTION: Use existing Tellymate project
software.
Tellymate uses MCU's SPI device to output 9
dots at a time (~22 cycles per SPI buffer load
@16MHz).
SGVLUG 8 April 2010
SD Card Requirement
Interface:
SD Cards have a simple 4-wire SPI hardware interface.
3.3V signal levels
SOLUTION: 5V to 3.3V voltage dividers for MCU
output, MCU can discern 3.3V input
Power:
SD Card needs 3.3V power
theoretical (but not observed) current requirements are
high.
SOLUTION: Add 3.3V regulator
3.3V handling "inspired" by Uzebox schematic
SGVLUG 8 April 2010
SD Card Schematic
SGVLUG 8 April 2010
FAT Filesystem
Several Open Source AVR FAT on SPI SD Card
implementations
WaveHC library for Arduino
Uzebox
FatFS and Petite FatFS (pFatFS - same author)
SOLUTION: Petite FatFS
Chosen for tiny size and simplicity
AVR SD Card example required hacking - bad
timings
SGVLUG 8 April 2010
FAT FS Issues
Issues with FAT FS on SD Card
Minimal RAM for caching (2kbyte MCU)
Reading 1 byte requires reading full 512 byte sector
from SD Card
FAT random seek times LINEAR to seek position
(VERY bad for 2 GB database).
Solutions
Minimal 128 byte cache added
Non-fragmented file seek optimization
SGVLUG 8 April 2010
USB
USB Power
Micro-USB 5V power connector
Micro-USB new world-wide cell phone charger
standard = low cost
USB Data Interface
Arduino uses a serial bootloader w/FT232 USB
serial chip
FT232 more expensive, less flexible than adding a
third Atmega for USB peripherals
Open V-USB project provides firmware
SGVLUG 8 April 2010
USB Schematic
USB provides regulated 5V power, but needs
3.3V data signaling
SGVLUG 8 April 2010
Free or Open EDA Tools
Open Source GEDA Suite
(as of 2005, when I last used them)
gschem - schematic capture - "decent and usable"
pcb - layout - "unsophisticated?"
Cadsoft Eagle (freeware/commercial)
Unixy-feel - scriptable, cmd line, mostly parsable text
file formats
Free for simpler layouts
"Professional grade!"
PCB Artist
freeware, Advanced Circuits
new, simple, but Advanced lock-in
SGVLUG 8 April 2010
Layout
SGVLUG 8 April 2010
PCB Fabrication
Advanced Circuits
Leader by far for fast-turn PCB fab
Made in USA, great capabilities
"What I use for prototypes"
BatchPCB.com
super low cost
batch together low volume panels of
individual orders for fab in China
long lead time
SGVLUG 8 April 2010
Home PCB Assembly
Prototypes assembled myself
Tools for SMT home assembly
Liquid flux w/needle dispenser bottle
PCB cleaning alcohol and swabs
Fine tip soldering iron
desolder braid, etc
GOOD tweezers
Magnifier (Microscope)
Hot air rework station
Solder paste (optional)
Good PCB vice
SGVLUG 8 April 2010
Suppliers
SGVLUG 8 April 2010
Enclosure
#1 - No Enclosure
Hobbiests require no enclosure
#2 - Conformal Coating/Paint
Conformal Coating - an acrylic gloss used to
protect PCBs
#3 - Plate/Spacer Sandwich
Cost effective <1KU
#4 - Plastic Case
Tooling Cost
Cost effective >1KU
SGVLUG 8 April 2010
PCB Assembly
Screaming Circuits
Leader in USA
Asmbly: 100U = $27 per board!
EzPCB
China
Set up for easy small runs
Asmbly:
100U = $9 per board
1000U = $6 per board
10kU = $4.50 per board
SGVLUG 8 April 2010
The BOM Stops Here
Manufacturer should cost optimize your Bill of
Materials in quotation.
SGVLUG 8 April 2010
Production Cost
*Does not include enclosure or SD Card
SGVLUG 8 April 2010
TITLE

More Related Content

PPTX
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
PDF
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
PDF
Esp32 cam arduino-123
PDF
Asus Tinker Board
PPTX
DragonBoard 410c
PPTX
More Mad Science for the Commodore 64 (ECCC 2015)
PPTX
Intel Edison: Beyond the Breadboard
PDF
[MakerHN] [IoT] [01] Intro 2
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
Esp32 cam arduino-123
Asus Tinker Board
DragonBoard 410c
More Mad Science for the Commodore 64 (ECCC 2015)
Intel Edison: Beyond the Breadboard
[MakerHN] [IoT] [01] Intro 2

What's hot (20)

PPTX
Ultimate Modded Commodore 64
PPTX
Wi-Fi Modem For the Commodore 64
PPTX
BURO Arduino Workshop
PPTX
Introduction to XMOS Software Defined Silicon Technology
PDF
2016/11/05: OSWDem16 intro
PDF
[German] Boards für das IoT-Prototyping
PDF
Interacting with Intel Edison
PPTX
งานนำเสนอ Amd
PDF
Power brick ultra brochure
PPTX
Beaglebone black
PDF
Inside ASUS ZENBOOK
PPTX
O meu futuro PC
PDF
Show & Tell.- Introduction
PPTX
Lab Handson: Power your Creations with Intel Edison!
ODP
Arduino7
PPT
Soquetes de Processadores
PPTX
Custom Simulator Control Panel - Kerbal Space Program
PPTX
Intel Processors
PDF
Hyper-BT 072214
PPTX
Get To Know Galileo
Ultimate Modded Commodore 64
Wi-Fi Modem For the Commodore 64
BURO Arduino Workshop
Introduction to XMOS Software Defined Silicon Technology
2016/11/05: OSWDem16 intro
[German] Boards für das IoT-Prototyping
Interacting with Intel Edison
งานนำเสนอ Amd
Power brick ultra brochure
Beaglebone black
Inside ASUS ZENBOOK
O meu futuro PC
Show & Tell.- Introduction
Lab Handson: Power your Creations with Intel Edison!
Arduino7
Soquetes de Processadores
Custom Simulator Control Panel - Kerbal Space Program
Intel Processors
Hyper-BT 072214
Get To Know Galileo
Ad

Similar to How to Make an Eight Bit Computer and Save the World! (20)

PDF
PPTX
Tac Presentation October 72014- Raspberry PI
PPTX
Asus Tinker Board
PPT
Training2 ppt
PDF
Hw notes- aim Technologies
PPTX
Motherboard
PDF
Comptia A+ Exam Notes for Core 1 and . Core 2
DOCX
3rd grading-reviewer-pc-assembly-and-networking
PDF
Ardunio
DOC
Intro arduino
PPTX
fpga1 - What is.pptx
PDF
Aplus essentials-exam-cram
PPT
Beagle board101 esc-boston-2009b
PDF
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
PDF
Build an Open Hardware GNU/Linux PowerPC Notebook
PDF
Introducing... Arduino
PPTX
motherboard
PPTX
Basics of open source embedded development board (
PPTX
Basics of open source embedded development board (
PPTX
IoT Devices, Which One Is Right for You to Learn?
Tac Presentation October 72014- Raspberry PI
Asus Tinker Board
Training2 ppt
Hw notes- aim Technologies
Motherboard
Comptia A+ Exam Notes for Core 1 and . Core 2
3rd grading-reviewer-pc-assembly-and-networking
Ardunio
Intro arduino
fpga1 - What is.pptx
Aplus essentials-exam-cram
Beagle board101 esc-boston-2009b
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
Build an Open Hardware GNU/Linux PowerPC Notebook
Introducing... Arduino
motherboard
Basics of open source embedded development board (
Basics of open source embedded development board (
IoT Devices, Which One Is Right for You to Learn?
Ad

More from elliando dias (20)

PDF
Clojurescript slides
PDF
Why you should be excited about ClojureScript
PDF
Functional Programming with Immutable Data Structures
PPT
Nomenclatura e peças de container
PDF
Geometria Projetiva
PDF
Polyglot and Poly-paradigm Programming for Better Agility
PDF
Javascript Libraries
PDF
Ragel talk
PDF
A Practical Guide to Connecting Hardware to the Web
PDF
Introdução ao Arduino
PDF
Minicurso arduino
PDF
Incanter Data Sorcery
PDF
PDF
Fab.in.a.box - Fab Academy: Machine Design
PDF
The Digital Revolution: Machines that makes
PDF
Hadoop + Clojure
PDF
Hadoop - Simple. Scalable.
PDF
Hadoop and Hive Development at Facebook
PDF
Multi-core Parallelization in Clojure - a Case Study
PDF
From Lisp to Clojure/Incanter and RAn Introduction
Clojurescript slides
Why you should be excited about ClojureScript
Functional Programming with Immutable Data Structures
Nomenclatura e peças de container
Geometria Projetiva
Polyglot and Poly-paradigm Programming for Better Agility
Javascript Libraries
Ragel talk
A Practical Guide to Connecting Hardware to the Web
Introdução ao Arduino
Minicurso arduino
Incanter Data Sorcery
Fab.in.a.box - Fab Academy: Machine Design
The Digital Revolution: Machines that makes
Hadoop + Clojure
Hadoop - Simple. Scalable.
Hadoop and Hive Development at Facebook
Multi-core Parallelization in Clojure - a Case Study
From Lisp to Clojure/Incanter and RAn Introduction

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Modernizing your data center with Dell and AMD
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Advanced IT Governance
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
Chapter 2 Digital Image Fundamentals.pdf
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Modernizing your data center with Dell and AMD
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Advanced IT Governance
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
Advanced Soft Computing BINUS July 2025.pdf
Electronic commerce courselecture one. Pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
20250228 LYD VKU AI Blended-Learning.pptx

How to Make an Eight Bit Computer and Save the World!

  • 1. SGVLUG 8 April 2010 How to Make an Eight Bit Computer and Save the World! Braddock Gaskill Humane Informatics [email protected]
  • 2. SGVLUG 8 April 2010 Overview -Present Device -Overview -Goals -Device Demo -Functional Requirements -AVR Open Ecosystem - Uzebox -AVR Open Ecosystem - Arduino -AVR Open Ecosystem - gcc, avr-libc, avrdude -AVR Open Ecosystem - avrfreaks, uzebox forums, etc -Video Requirement - Tellymate -SD Card Requirement - Wave Shield/Uzebox -FAT Requirement - Petite FatFS -USB Desirement - V-USB -Schematic (Eagle, GEDA, gschem, PCB Artist) -Layout -Bill of Materials -PCB Fabrication -Assembly -Pricing
  • 3. SGVLUG 8 April 2010 Talk Overview Today's Audience Independently Wealthy Philanphrapists Non-Governmental Organizations, UN, etc DoD Civil Affairs, USAID Geeks interested in Playing with Microcontrollers Building & Fabricating things Open Source Tools and Hardware Today's Talk Overview and demo of device Survey of AVR Open Source Hardware Survey of AVR Open Source Tools Walk through of design and design tools Walk through of fabrication and manufacturing
  • 4. SGVLUG 8 April 2010 Bridging TV/Internet Gap
  • 5. SGVLUG 8 April 2010 Bridging TV/Internet Gap Market >700 million
  • 6. SGVLUG 8 April 2010 Pitch 2GB SD Card = ~5,000 books or better part of Wikipedia Humane Reader device turns any TV set into an e-book/wikipedia reader. Production Cost approx $20 (incl SD Card)
  • 7. SGVLUG 8 April 2010 Value Proposition The Humane Reader can provide a virtual library to any developing world school or individual with electrical power for less than the cost of a single textbook.
  • 8. SGVLUG 8 April 2010 Secondary Goals Goal: Create an extendable, hackable, 8-bit general computing platform both for first through third world developers and experimenters. Effect: Join and leverage the existing open source hardware community (Arduino, AVR, etc) to spur further development. Effect: Provide a learning platform as well as simple e-book reader.
  • 9. SGVLUG 8 April 2010 Demo DEMO
  • 10. SGVLUG 8 April 2010 Design Requirements NTSC/PAL Video Output SD Card Interface (w/FAT) Cheap Input Interface (buttons) Power (Micro-USB Adaptor) PS/2 Keyboard Interface (optional) USB interface (optional) Audio (optional) IR (optional)
  • 11. SGVLUG 8 April 2010 AVR Open Ecosystem: Uzebox
  • 12. SGVLUG 8 April 2010 AVR Open Ecosystem: Uzebox 8-bit gaming "console" FEATURES: NTSC/PAL color video output, game controller input, SD Card, custom "kernel", solid community FAILURES: expensive video chip, expensive MCU (Atmega644), overclocked design Too Expensive ($95 sparkfun)
  • 13. SGVLUG 8 April 2010 AVR Open Ecosystem: Arduino HARDWARE: Simple break-out board with pseudo- standard expansion headers Wide variety of extension "shields" - Ethernet, Wifi, Bluetooth, SD Cards, video SOFTWARE: Provides an educationally-oriented "easy" IDE. COMMUNITY: Excellent. Dev tutorials, forums, etc CONCLUSION: Shield, IDE, and software compatible.
  • 14. SGVLUG 8 April 2010 AVR Open Ecosystem: Tools avr-gcc compiler - full C, partial C++, bintools, well supported alternative to Atmel's compiler avr-libc - standard C library for AVR. Includes printf, etc (roll your own IO backend) avrdude - OSS Programmer - many methods simulavr emulator - several OSS emulators - waste of time (?) avarice - JTAG debugging. HW Expensive. Glitchy (-Os). AVR Dragon for <32k MCUs.
  • 15. SGVLUG 8 April 2010 Schematic
  • 16. SGVLUG 8 April 2010 Video Output REQ: NTSC/PAL Video Output PROBLEM: Very fast signal. For B&W, only a few cycles per dot. SOLUTION: Use existing Tellymate project software.
  • 17. SGVLUG 8 April 2010 Video Output SOLUTION: Use existing Tellymate project software. Tellymate uses MCU's SPI device to output 9 dots at a time (~22 cycles per SPI buffer load @16MHz).
  • 18. SGVLUG 8 April 2010 SD Card Requirement Interface: SD Cards have a simple 4-wire SPI hardware interface. 3.3V signal levels SOLUTION: 5V to 3.3V voltage dividers for MCU output, MCU can discern 3.3V input Power: SD Card needs 3.3V power theoretical (but not observed) current requirements are high. SOLUTION: Add 3.3V regulator 3.3V handling "inspired" by Uzebox schematic
  • 19. SGVLUG 8 April 2010 SD Card Schematic
  • 20. SGVLUG 8 April 2010 FAT Filesystem Several Open Source AVR FAT on SPI SD Card implementations WaveHC library for Arduino Uzebox FatFS and Petite FatFS (pFatFS - same author) SOLUTION: Petite FatFS Chosen for tiny size and simplicity AVR SD Card example required hacking - bad timings
  • 21. SGVLUG 8 April 2010 FAT FS Issues Issues with FAT FS on SD Card Minimal RAM for caching (2kbyte MCU) Reading 1 byte requires reading full 512 byte sector from SD Card FAT random seek times LINEAR to seek position (VERY bad for 2 GB database). Solutions Minimal 128 byte cache added Non-fragmented file seek optimization
  • 22. SGVLUG 8 April 2010 USB USB Power Micro-USB 5V power connector Micro-USB new world-wide cell phone charger standard = low cost USB Data Interface Arduino uses a serial bootloader w/FT232 USB serial chip FT232 more expensive, less flexible than adding a third Atmega for USB peripherals Open V-USB project provides firmware
  • 23. SGVLUG 8 April 2010 USB Schematic USB provides regulated 5V power, but needs 3.3V data signaling
  • 24. SGVLUG 8 April 2010 Free or Open EDA Tools Open Source GEDA Suite (as of 2005, when I last used them) gschem - schematic capture - "decent and usable" pcb - layout - "unsophisticated?" Cadsoft Eagle (freeware/commercial) Unixy-feel - scriptable, cmd line, mostly parsable text file formats Free for simpler layouts "Professional grade!" PCB Artist freeware, Advanced Circuits new, simple, but Advanced lock-in
  • 25. SGVLUG 8 April 2010 Layout
  • 26. SGVLUG 8 April 2010 PCB Fabrication Advanced Circuits Leader by far for fast-turn PCB fab Made in USA, great capabilities "What I use for prototypes" BatchPCB.com super low cost batch together low volume panels of individual orders for fab in China long lead time
  • 27. SGVLUG 8 April 2010 Home PCB Assembly Prototypes assembled myself Tools for SMT home assembly Liquid flux w/needle dispenser bottle PCB cleaning alcohol and swabs Fine tip soldering iron desolder braid, etc GOOD tweezers Magnifier (Microscope) Hot air rework station Solder paste (optional) Good PCB vice
  • 28. SGVLUG 8 April 2010 Suppliers
  • 29. SGVLUG 8 April 2010 Enclosure #1 - No Enclosure Hobbiests require no enclosure #2 - Conformal Coating/Paint Conformal Coating - an acrylic gloss used to protect PCBs #3 - Plate/Spacer Sandwich Cost effective <1KU #4 - Plastic Case Tooling Cost Cost effective >1KU
  • 30. SGVLUG 8 April 2010 PCB Assembly Screaming Circuits Leader in USA Asmbly: 100U = $27 per board! EzPCB China Set up for easy small runs Asmbly: 100U = $9 per board 1000U = $6 per board 10kU = $4.50 per board
  • 31. SGVLUG 8 April 2010 The BOM Stops Here Manufacturer should cost optimize your Bill of Materials in quotation.
  • 32. SGVLUG 8 April 2010 Production Cost *Does not include enclosure or SD Card
  • 33. SGVLUG 8 April 2010 TITLE