Close
0%
0%

CircuitPython Badge

A handheld running CircuitPython and cheap enough for a badge.

Similar projects worth following

More and more conferences want to have a cool badge. But most badges are not really that interesting or useful. Sure, you can learn soldering if you have to assemble it yourself — but then most people never do. You can play tetris during boring talks, or, if you really don't want to attend any talks, you can spend time programming it in some exotic assembly to play snake. And as soon as you get home, it goes into a drawer to never see the light of day again.

But we can do better than that!

We can make a badge that is useful during the conference — that has USB disk storage where you can put conference materials, slides of all talks, etc. It can display the schedule, and maybe even have reminders for the talks you wanted to see. It can have some simple games for the boring talks, but also perhaps some social games, to make you talk to other people. But most importantly of all, it can be super-easy to program, without having to install anything on your computer or learn some esoteric language — by simply copying Python files on it. And finally, when you get home from the conference, you can incorporate it into other projects.

This project is not about a badge for any particular conference. It's about making a baseline project, that can be then taken and extended/modified for a particular conference. The idea is that it should be easier to make something actually useful, instead of a gadget with blinking LEDs.

  • Testing Prototypes and Possible Optimizations

    ꝺeshipu6 days ago 0 comments

    I have five prototypes assembled and tested, and I'm going to take them next week to Europython to Edinburgh and pass them on for testing. We decided to skip this year and I'm for next year, which will give us more time to develop the libraries and examples for them.

    In the mean time, as I'm working on the #PewPew Standalone, I'm getting ideas about how to reduce the parts count and price of those badges. Since I'm using two 7×11 matrices, I can drive them with just 18 pins by using a kind of charlieplexing approach — that means that a bigger SAMD21 chip should be able drive them all, and still have spare pins for breaking out. That could shave off as much as ¼ of the cost. Of course the cost of that would be scanning the matrix in software, but I already have to write the library for this for the PewPew.

    I also still need to get the radio going. There are ready NRF24 libraries, but I think we will want to have something custom more similar to Micro:bit's "radio" library.

  • Full Badge Assembled and Working

    ꝺeshipu05/31/2018 at 18:16 0 comments

    I finally had some time to sit down and assemble the badge. The accelerometer chips still didn't arrive, but I just desoldered one from some breakout board I found in my drawer. As usual, the QFN matrix controller chip didn't get soldered properly, and I had to desolder the matrices, fix the chip, and re-solder them back. Some traces got pulled in the process, but fortunately for unused pins of the matrices, so it's fine.

    Of course my camera can't handle the brightness of the LEDs, so instead of red they appear yellow.

  • Full PCB

    ꝺeshipu05/25/2018 at 09:09 0 comments

    Of course the PCBs arrived just as I'm leaving for the Belgrade conference, so no chance to assemble one and use there as a badge. Oh well, I think I will wear an unpopulated PCB anyways.

    As I was afraid, the large white area of the silkscreen doesn't look too great. I think that I will use a white PCB and just a black outline next time.

  • Full Size

    ꝺeshipu05/07/2018 at 20:20 0 comments

    Since I'm more or less happy with the design now (after a few inevitable corrections), I decided to design and order a full badge now. It looks something like this:

    There are python snakes on the copper layer under the large white rectangle — but you can't see them, since they are covered. I think they will still be visible in reality, due to their relief. The bottom half can be broken off — when you want to use this for something else after the conference ends.

  • Repository and Schematic

    ꝺeshipu05/06/2018 at 21:47 0 comments

    I spent some time cleaning up the schematic — fixing the custom part graphics, adding net labels and arranging it in a way that hopefully makes it a bit easier to read. In the proces I noticed that I didn't connect the ground of the buttons on the right side to the ground — another bodge wire needed. Also, all the values for resistors and capacitors are still wrong — I will need to change them.

    I also put all the design files and code into a repository, for everybody to enjoy. Please be aware that it is still work in progress and that there most likely will be changes.

  • Accelerometer

    ꝺeshipu05/06/2018 at 11:53 0 comments

    Today I added a few functions to the library to get access to the accelerometer:

    For now it's very simple, you just get the x, y and z acceleration values, but that should be enough to write some cool demos.

  • Battery Life

    ꝺeshipu05/05/2018 at 18:38 0 comments

    One of the most important features of a conference badge is that it has to last through the conference. Which is not that easy, if you also consider that its display has to be visible from a distance in full sun, and that you can't use rechargeable lithium batteries. So I put the prototype badge to a test. I'm using 3 alkaline AAA-sized batteries, and I'm displaying a simple pattern of light and dark pixels, that hopefully somehow reflects what will be displayed on those badges, at least on average. It's also set to 50% overall brightness, which is currently the default setting, as it is bright enough to be visible in daylight.

    I'm using a local brand "no name" batteries, because that's likely what a conference will also use, and it's probably the lowest quality I can easily get without ordering from China.

    At the 9 hour mark I had a small problem: the tablet I used to run the stopwatch application ran out of battery itself — I forgot to connect it to a charger. But since I made a photo at the beginning of the experiment, I easily fished the start time from the EXIF data, and still can tell the exact time.

    It's been 11 hours now, and the badge is still working. The voltage dropped from the initial 4.5V to 3.7V at the 4 hour mark, and to 3.6V at the 9 hour mark. At 11 hours it's at 3.5V. In theory, the badge should work down to 2.8V, so I'm really hopeful for this breaking the 12h mark.

  • QFN48: Welcome to Hell

    ꝺeshipu05/01/2018 at 11:56 0 comments

    Turns out the hot air gun helps, but not nearly as much as I hoped. And putting other parts on top of your part, to make the rework impossible certainly doesn't help. Long story short, I had to desolder both matrices (suction tool helped a lot), and rework the chip. When assembling it back, I decided I don't need the sleek look for now, and instead I would like ease of debugging, so instead of matrices I soldered female headers that I can plug them into:

    Read more »

  • Got Pixel?

    ꝺeshipu04/30/2018 at 18:07 0 comments

    Now it's time to assemble the boards. The microcontroller part was easy, and I got the bootloader on it to test that everything works. The hard part is the accelerometer and matrix driver chips, as they are QFN. Especially the driver is scary, with its 48 pins. Let's see if my new super power, the hot air gun, will give me an upper hand here.

    Read more »

  • The PCBs are Here!

    ꝺeshipu04/30/2018 at 09:59 0 comments

    After being held a few days in customs (no idea why, since the package was clearly never opened), the PCBs finally arrived, and as I promised to JLCPCB, I'm going to review them. On the first sight, they look great:

    Read more »

View all 26 project logs

Enjoy this project?

Share

Discussions

Makerfabs wrote 05/10/2018 at 06:22 point

snake game with the Accelerometer :)   

some USB connector that have THT positioning column would be help to avoid the USB connector tilt.

  Are you sure? yes | no

RoGeorge wrote 04/15/2018 at 12:31 point

Can't take my eyes off of that pic, no idea why.
:o)

https://cdn.hackaday.io/images/5575541523658106909.jpg

  Are you sure? yes | no

ꝺeshipu wrote 04/15/2018 at 13:18 point

Yeah, pretty shiny lights. I think it's going to look great on a badge, with people programming some cool animations, like flames or plasma.

  Are you sure? yes | no

davedarko wrote 03/25/2018 at 13:26 point

hmm, what happened to the usb port?

  Are you sure? yes | no

ꝺeshipu wrote 03/25/2018 at 14:56 point

Too much rosin. This is just a mockup with the parts I had lying around. The real PCB is already ordered, should come in a dew days, then I can assemble it properly.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates