Adafruit Feather M0 Express

The courier showed up today, with a really neat new board from Adafruit – the Feather M0 Express. It is essentially a break out board for the Microchip (formerly Atmel) ATSAMD21G18, which is the same 32-bit 48MHz ARM M0+ micro used in the Arduino Zero, plus a 2MB flash memory, RGB LED, and a LiPoly charger. It’s not too expensive at $20USD, nice and tiny, and I think could be a real hit.

Using the Feather M0 Express from Arduino IDE almost couldn’t be easier – just add the Adafruit Board Manager URL to your Arduino IDE settings, then install the “Adafruit SAMD Boards” – instructions at https://learn.adafruit.com/add-boards-arduino-v164 .

However, the really exciting new option available with this new board, is CircuitPython – Adafruit’s implementation of MicroPython. Getting setup for CircuitPython is super easy, though the documentation is still under development so it might seem a bit intimidating at first read. Here’s what I did:

  1. Download the latest CircuitPython uf2 file for your board from https://github.com/adafruit/circuitpython/releases
  2. Connect the Feather to your computer via USB
  3. Put the Feather in to bootloader mode by “double clicking” the reset button. You’ll know it works when the #13 LED starts fading on and off.
  4. Copy the uf2 file from step 2, on to the FEATHERBOOT USB drive that should have appeared in step 3.  Wait a few seconds.

There should now be a USB drive available called CIRCUITPY, and a virtual serial port available.

Using your favourite serial console with the virtual serial port gives an interactive terminal, aka REPL, which can be used directly as below. Or, just save a source file as main.py in the CIRCUITPY drive to get your program to run at boot.

Adafruit CircuitPython 0.9.5 on 2017-04-14; Adafruit Feather M0 Express with samd21g18
>>> print("hi")
hi
>>> help()
Welcome to Adafruit CircuitPython 0.9.5!

Please visit learn.adafruit.com/category/circuitpython for project guides.

Built in modules:
 __main__
 builtins
 micropython
 array
(list continues)

Let’s make the “hello world” of embedded programming (but this time, done on-target using tab completion!):

>>> import digitalio
>>> import board
>>> import time
>>> with digitalio.DigitalInOut(board.D13) as led:
...     led.switch_to_output()
...     while True:
...         led.value = 1
...         time.sleep(0.5)
...         led.value = 0
...         time.sleep(0.5)

3D printing in commercial products

I was recently tinkering with a thing at work, and was surprised to find that a couple internal parts of this thing are 3D printed using a printer of the same type we’ve got at the makerspace!

This is a Thinklabs One digital stethoscope, available for sale online through mainstream retailers for about $500USD. Check out the grey plastic ring around the blue part.

3d-printed-part

Using the inductor tester

inductor tester
The inductor tester, and inductors used for examples below

A few weeks back, we had a talk on KiCad (presentation available at http://ianrrees.github.io/KiCad_talk/ ) where we ordered some PCBs to make an inductor tester (Henryometer?) from dirty PCBs. Those boards came in this week, and a few folks have already put theirs together. This post aims to be a quick guide to the usage of the tester; if you’d like to build one yourself just let Ian know, parts cost is $15. You’ll need an oscilloscope and a current-limited DC power supply to make use of it.

Continue reading “Using the inductor tester”

What’s been happening at the makerspace?

After a hiatus over the Christmas/New Years break and a slow start to the year, the Makerspace has been bustling with activity recently. Brian Paavo talked about the underwater scanner project the Makerspace is collectively working on, and work has been progressing on that (there will be a post about that soon). Paul Campbell held a soldering workshop, and about a dozen people made LED sculptures. One of the highlights on Saturday was William George’s project of converting  chrome-plated toaster into an audio CD player. And when you come into the Makerspace now, you’ll notice that the room has been re-organised to be better, easier to working in, and more inviting (with special thanks to Chris Baxter and Brian Paavo).

Photos from the soldering workshop:

Paul shows a simple LED circuit diagram
Chris and Paul burn out an LED on purpose
James gets started on soldering
We have an extensive collection of resistors

Working on the underwater scanner project:

Micheal discovers a possible issue on the main circuit board design

William’s converted toaster:

The shiniest CD player ever
This toaster is powered by an Arduino

Talk: Beginning electronics courses

I’ve started giving a series of basic electronics courses at Makerspace – these are aimed at everyone including complete beginners – I’m avoiding maths as much as possible, the idea is to get an understanding of what’s going on in a circuit without getting bogged down in the details – your goal should be to be able to look at a schematic, ask yourself  “what’s that thing for?” and be able to make a reasonable guess

I’m making heavy use of the excellent circuit simulations at http://www.falstad.com/circuit/e-index.html – your browser will need java enabled to use them.

The first session was very basic – the slides are in the PDF file below
– if you couldn’t make it you should be able to follow through the talk – the main goal here is to end up playing with the circuit simulation examples – poke at things, change the values of voltages, resistors, capacitors to see what happens (just click on them)

http://www.taniwha.com/~paul/electronics1.pdf

Electronic Badge project

Today we sorted and bagged the components for the Electronic Badge project – 40 kits, ready for people to start building them.
The (draft) build instructions are available here: http://www.taniwha.com/~paul/dspace.badge/

Today we sorted and bagged the components for the Electronic Badge project – 40 kits, ready for people to start building them.

The (draft) build instructions are available here: http://www.taniwha.com/~paul/dspace.badge/

Assembled, they look like this: