บอร์ด Chili เราสามารถพัฒนาซอฟต์แวร์ฝังตัวโดยใช้ภาษา C บน Arduino และ Python บน CircuitPython เพื่อใช้ในการพัฒนาได้ หลายท่านอาจจะไม่คุ้นกับ CircuitPython ว่าคืออะไร CircuitPython เป็น MicroPython ของค่าย Adafruit พัฒนาต่อจาก MicroPython พัฒนาขึ้นมาเพื่อรองรับฮาร์ดแวร์ของ Adafruit โดยเฉพาะ และยังมี Python Module ที่ออกมารองรับฮาร์ดแวร์และเซนเซอร์ต่างๆ ของ Adafruit อีกด้วย

บอร์ด Chili มีความสามารถในการใช้ CircuitPython เหมือนกันและยังสามารถใช้ Module ของ CircuitPython ที่พัฒนาโดย Adafruit ได้ด้วย วิธีเขียน CircuitPython สามารถทำได้ 2 วิธี คือ เขียน code และ save ลงบนตัวบอร์ด หรือเขียนโค้ดผ่าน REPL มาลองกัน

ก่อนอื่นเราต้องมีไฟล์ UF2 เพื่อทำให้บอร์ด Chili เข้าโหมดการเขียนโค้ดด้วย CircuitPython ก่อน ให้ดาวน์โหลด ไฟล์ chili_circuitpython.uf2 ที่ git repository ของ Gravitech จากนั้น เสียบสาย USB เข้าไปที่บอร์ด Chili และเสียบเข้ากับเครื่องคอมพิวเตอร์ จากนั้นกดปุ่ม reset 2 ครั้ง ตัว Neopixel จะเปลี่ยนเป็นสีเขียว และมี Storage โผล่ขึ้นมา ชื่อ CHILLIBOOT

จากนั้นให้ Copy ไฟล์ chili_circuitpython.uf2 ไปยัง drive ที่ชื่อ CHILLIBOOT ตัวบอร์ดจะ reset และ boot ใหม่ โดยมี Storage ขื่อ CIRCUIPY ขึ้นมาแทน

IDE ที่เราจะใช้คือ MuEditor ให้ดาวน์โหลด IDE มาเตรียมไว้ เปิด IDE เปลี่ยนโหมดเป็น Adafruit CircuitPython

จากนั้นก็ลงมือเขียนโค้ดกันได้

อ้อเกือบลืม ใน Git Repository ของ Gravitech มี Bundle Library ของ CircuitPython มาด้วย ไม่ต้องกลัวว่าจะไม่มี Library ใช้งาน

GravitechThai ออก developer board ตัวใหม่ชื่อ Chili ตัวบอร์ดมีสีแดงสด มีขนาดเล็กคล้ายกับ Arduino Nano มาพร้อมกับ MCU Atmel SAMD21 ใช้สถาปัตยกรรม ARM Cortex-M0+ แบบ 32 bits ความเร็วการประมวลผล 48 MHz มี Flash 256KB และ RAM 32KB ภายในชิปมี USB-to-Serial programe กับ debug ได้ มี GPIO 24 ขา เป็น PWM ได้ทุกขา มีไฟ NeoPixel ให้ใช้งาน ตัว บอร์ด Chilli มีรุ่น Basic และรุ่น Plus รองรับการเขียนโปรแกรมได้ทั้ง Arduino และ Circuit Python

ลองมาดู spec รุ่น Basic

  • Chili ใช้้ MCU AT SAMD21G18 หรือ ARM Cortex M0+ แบบ 32Bits ความเร็ว 48 MHz
  • มี Flash 256KB และ RAM 32KB
  • ภายในชิปมี USB-to-Serial programe กับ debug ได้
  • มี GPIO 24 ขา เป็น PWM ได้ทุกขา
  • มีขา I2C และ SPI
  • NeoPixel ต่ออยู่ที่ Pin 8
  • LED สีแดงต่ออยู่ที่ Pin 13
  • มีขนาดเล็กเท่ากับ Arduino Nano

สำหรับรุ่น Plus จะมีเซนเซอร์พื้นฐานอยู่บนบอร์ดด้วย ดังนี้

  • Temperature Humidity Sensor
  • 3-Axis Accelerometer
  • 3-Axis Gyroscope
  • 3-Axis Magnetometer
  • Barometer

สำหรับ Arduino ต้องติดตั้งบอร์ดเพิ่มเติม โดยตั้งค่าที่ File > Preference เพิ่ม https://raw.githubusercontent.com/gravitech-engineer/package_gravitech_board/master/package_gravitech_index.json ลงไปที่ Additional Board Manager

จากนั้นติดตั้งบอร์ด ชื่อ Chili เพิ่มเติมได้

การใช้งานให้เชื่อมต่อบอร์ด Chili กับคอมพิวเตอร์โดยใช้สาย USB เลือกบอร์ด Arduino Nano Chili เท่านี้ก็ใช้งานได้แล้ว

หากเชื่อมต่อกับบอร์ดแล้วไม่พบ USB บนบอร์ด ให้กดปุ่ม reset 2 ครั้ง ไฟ NeoPixel จะเปลี่ยนเป็นสีเขียว พอร์ด USB จะเปลี่ยนโหมดทำงานเท่านี้ก็ใช้งานได้แล้ว ตัวอย่างการเรียกใช้งาน Sensor และรายชื่อ Library Sensor บนบอร์ดดูรายละเอียดเพิ่มเติมได้ที่ https://github.com/anoochit/chilli-board