Recent Posts

More Posts

There is an issue when trying to program a SAMD21 like in the Arduino Zero using OpenOCD with a ST-Link v2 which gives errors like this: ** Programming Started ** auto erase enabled Info : SAMD MCU: SAMD21E18A (256KB Flash, 32KB RAM) Error: Failed to erase row containing 00000000 Error: SAMD: failed to erase sector 0 Error: failed erasing sectors 0 to 0 The issue is that NVMCTRL_CTRLA is a half-word register and the ST-Link v2 emulates the half word write using two single byte writes.

CONTINUE READING

In follow up to my mysensors.org build, I’ve always wanted to design PCB and try my hand at SMD soldering. I normally use veroboard on a 0.1” pitch but the time to cut and solder wires makes for a slow build. Here’s the result: It has: An AT91SAMD21E18 (256 KiB flash, 32 pins, 0.8 mm pitch) USB, regulator, Cortex SWD debug header, LED, and pullups on I2C Footprint for a RFM69CW radio Adafruit Feather form factor Two layer PCB with 0603 passives The soldering turned out well.

CONTINUE READING

It gets warm and humid here in the summer and feels too dry in the winter. To measure this I built up two MySensors Sensebender Micro boards and designed a 3D printed a case to go with them: The holes in the case are to save on print time and let the air flow. The battery is far oversized and probably self discharges faster than the board draws current. I ended up using a Raspberry Pi Zero with a RFM69HW as the gateway.

CONTINUE READING

As part of adding MySensors based sensors around the house, I want to make an integrated version of the Sensebender Micro upgraded with a SAMD21 and a RFM69HCW radio. I’ve never had much success with making PCBs at home, so I thought I’d give it another try and record the experiments. Try 1: HP M252dw, laminator @ 10 mm, 4 times through, Migros-brand T-Shirt transfer paper. Some transfer but lots left behind.

CONTINUE READING

The short story is that this blog is now available on IPFS at https://juju.net.nz/ipns/juju.net.nz/michaelh/ and https://gateway.ipfs.io/ipns/juju.net.nz/michaelh/ This is done by generating the blog a second time with ipfs/ as the basepath, changing to relative links, and then adding and updating the name as part of the buildbot script. Hugo has relative and canonical link support but it seems inconsistent, and it’s hard to resist a sed script… I quite like how you can map ownership across DNS and IPFS using a TXT record.

CONTINUE READING

Projects

C++ in 2017

Seeing how C++17 compares to Go

spdbt

A fast indoor mousebot

pipoint

A rover tracking camera

Citizen

A balancing robot written in Go and running on ARM Linux.

Ideas

Ideas for future projects.

Others

Some things I’ve hacked on.

PL/0 implementation

A toy compiler for the PL/0 educational language.

Templates

Markdown templates for project plans, etc.

nppilot

The Never complete; often never started autopilot.

ser2neo

ser2neo makes it easier to drive a NeoPixel ring

Contact