เอกสารข้อมูลทางเทคนิคสำหรับไมโครคอนโทรลเลอร์ AVR นั้นดีพอสมควรที่จะอ่าน เพียง Google สำหรับคอนโทรลเลอร์ที่แน่นอนใน Arduino ของคุณ (เช่น ATmege328) และค้นหาแผ่นข้อมูล "เสร็จสมบูรณ์" บนเว็บไซต์atmel.com อย่าดาวน์โหลด "บทสรุป" แต่ไม่มีข้อมูลจำนวนมาก ดาวน์โหลดแผ่นข้อมูลจาก atmel.com ซึ่งเป็นสถานที่เดียวที่มีเอกสารล่าสุด
มีสามรีจิสเตอร์ที่ใช้ใน IO พื้นฐาน (ตรวจสอบบทที่เรียกว่า "I / O-Ports"):
โดยที่nคือตัวระบุพอร์ตตัวอักษรมีตั้งแต่ A, B, C, ... ขึ้นอยู่กับจำนวนของหมุด IO ที่คอนโทรลเลอร์ของคุณมี แต่ละบิตในการลงทะเบียนแต่ละครั้งแสดงถึง GPIO พินเดียว (ใช่คุณต้องมีความรู้พื้นฐานเกี่ยวกับไบนารีเพื่อที่จะเข้าใจสิ่งนี้)
- DDR n , Data Direction Register: โดยทั่วไปจะกำหนดพินสำหรับอินพุต (0) หรือเอาท์พุท (1)
- PORT n , พอร์ต n Data Register: เมื่อพินถูกตั้งค่าเป็นเอาท์พุทบิตที่เกี่ยวข้องจะสลับขาเอาต์พุตสูง (1) หรือต่ำ (0) เมื่อกำหนดค่าเป็นอินพุตสิ่งนี้จะช่วยให้ตัวต้านทานแบบดึงขึ้นอ่อนบนขาเอาต์พุต
- PIN n , พอร์ต n อินพุตอินพุต: ใช้รีจิสเตอร์นี้เพื่ออ่านระดับปัจจุบันของพินที่กำหนดค่าเป็นอินพุต