Open Hardware Summit badge: Magic 8-Ball app

Thanks to @Steve Pomeroy for creating this MicroPython demo app for the Open Hardware Summit badge:


import gxgde0213b1
import font16
import font12
from machine import I2C, Pin, TouchPad
import struct
import time
import urandom
from ohsbadge import epd
from ohsbadge import fb

class TouchButton(object):
    def __init__(self, pin, on_pressed, threshold=400, debounce_ms=50):
        self._touchpad = TouchPad(pin)
        self._on_pressed = on_pressed
        self._threshold = threshold
        self._debounce_ms = debounce_ms
        self._down_ms = None
        self._pressed = False

    def read(self):
        if < self._threshold:             if not self._pressed:                 if not self._down_ms:                     self._down_ms = time.ticks_ms()                 else:                     if time.ticks_diff(time.ticks_ms(), self._down_ms) > self._debounce_ms:
                        self._pressed = True
            self._pressed = False
            self._down_ms = None

def clear_screen():

def show_message(message):
    epd.display_string_at(fb, 0, 52, message, font16, gxgde0213b1.COLORED)

def read_accel(i2c):
    i2c.writeto_mem(30, 0x18, b'\x80')
    x = struct.unpack("h", i2c.readfrom_mem(30, 0x6, 2))
    y = struct.unpack("h", i2c.readfrom_mem(30, 0x8, 2))
    z = struct.unpack("h", i2c.readfrom_mem(30, 0xA, 2))

    return (x[0], y[0], z[0])

def get_orientation(i2c):
    new_orientation = None

    pos = read_accel(i2c)

    if pos[2] > 13000:
        new_orientation = "upright"
    elif pos[2] < -13000:
        new_orientation = "prone"

    return new_orientation

def main():
    phrases = ["It is certain.", "It is decidedly so.", "Without a doubt.", "Yes - definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."]
    i2c = I2C(scl=Pin(22), sda=Pin(21))


    prev_orientation = None

    keep_on = [True]

    def exit_loop():
        keep_on[0] = False

    exit_button = TouchButton(Pin(32), exit_loop)

    while keep_on[0]:
        orientation = get_orientation(i2c)

        if orientation and orientation != prev_orientation:
            if orientation == 'upright':
            elif orientation == 'prone':
            prev_orientation = orientation



This Python file can be transferred to Open Hardware Summit badge using the FTP server built into the MicroPython firmware.


Open Hardware Summit badge: Magic 8-Ball app

Twenty Projects That Just Won the Human Computer Interface Challenge

The greatest hardware competition on the planet is going on right now. The Hackaday Prize is the Oscars of Open Hardware. It’s the Nobel Prize of building a thing. It’s the Fields Medal of firmware development, and simply making it to the finals grants you a knighthood in the upper echelon of hardware developers.

via Twenty Projects That Just Won the Human Computer Interface Challenge — Hackaday


PewPew: Python-based micro game console

From Radomir Dopieralski (ꝺeshipu) on

538041535059272195 (1)

PewPew Standalone

A Python-based micro game console, optimized for game development workshops.

I really like the #PewPew FeatherWing as a platform for teaching game development, but the cost of Feather boards needed to use it makes it difficult to organize workshops for larger groups of people. I have previously tried to work around that problem by merging the FeatherWing with the schematic stolen from a Trinket M0 (with an additional flash memory), but the resulting design was complex, difficult to make and still a bit expensive. Now after having designed a few more CircuitPython boards I think I can really cut the costs and make a standalone device with all the functionality of the original shield, but optimized for workshops.

PewPew: Python-based micro game console

E-Paper Badge is a Hint at Great Things to Come

From All the Badges of DEF CON 26 (vol 3) on Hackaday:


E-Paper Badge is a Hint at Great Things to Come

Friend of Hackaday, Drew Fustini, came to our Breakfast at DEF CON meetup sporting a name badge of his own design. The E-Paper Badge uses a Teensy LC to drive a 2.15″ E-Paper display. The row of capacitive touch buttons to the left allow the image to be changed, and he just happened to have the Jolly Wrencher in the gallery of choices for this picture.

This badge gets me really excited for this year’s Open Hardware Summit which is at MIT on September 27th. This year’s badge is a collaborative effort between a group on! It’s basically Drew’s badge on steroids, and he told me the experience of working with a team has been really positive. It seems each time the group hits a hard problem or a pile of work that needs to be done, someone on the team grabs it and runs with it. It’s a great example of both certified open hardware and team development.


Open Hardware Summit 2018 badge

OSH Park is producing electronic conference badges for the 2018 Open Hardware Summit.  The hardware has been designed Alex Camilo, based on concepts from the ESP trINKet by Mike Rankin.  The badge features an ESP32 microcontroller and a 2.13″ E-Paper display.


OSH Park shared project for the Rev 3 by Alex Camilo :

Order from OSH Park



We expect this to be the final revision.


It is ordered on Super Swift today and should be validated next weekend.  This will allow us to order the full quantity PCB panels in August 13th.  Assembly is estimated to be 10 business days from the day when all components and PCBs are received.

Rev 2 photos:

And for those interested, here is a link to a gallery:


Terminal output on Rev 2 prototypes:

The Rev 2 prototypes have NodeMCU boards soldered on to the back to serve as a USB to serial adapter.

One of the Rev 2 prototype boards that Alex sent me has the default e-paper demo:


The other has MicroPython installed! 🙂


Resources for the 2018 Open Hardware Summit badge:

Open Hardware Summit 2018 badge