-
Sketching the Next Version
10/02/2018 at 13:59 • 0 commentsTogether with the volunteers we already started working on the next version of the prototype. I started to slowly lay out the components for it:
Several things are happening there:
- switched to a SAMD51 microcontroller, in place of the smaller SAMD21 — that gives us more memory, better speed and more pins,
- moved the electronics under the display, to make more room on the sides,
- switched to non-clicky buttons, same as I used in #µGame,
- got rid of the snake heads at the top, to make more room,
- added a pin header for connecting extra stuff to GPIO pins,
- considering using a different USB port, though I don't have a footprint for it yet,
- considering using IR communication in place of the NRF24, but that requires some experiments,
- considering moving the batteries from the back to the front, to make the whole thing more flat.
This is all just playing for now, to see how it fits together. We will probably still make a lot of changes.
-
Prototypes in Good Hands
10/01/2018 at 09:32 • 0 commentsIt took some logistic trickery, but we got five prototypes of the badge into hands of willing and skilled people, who will now test and improve the hardware, software and documentation. There is a repository at https://github.com/circuitpython-badge/circuitpython-badge containing what was produced during the sprints at PyCon.UK, and some discussions in the issues section. After the initial prototype design we can now hopefully take it to the next step, to make it fit the needs of the conference participants.
-
Testing Prototypes and Possible Optimizations
07/16/2018 at 20:18 • 0 commentsI 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
05/31/2018 at 18:16 • 0 commentsI 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
05/25/2018 at 09:09 • 0 commentsOf 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
05/07/2018 at 20:20 • 0 commentsSince 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
05/06/2018 at 21:47 • 0 commentsI 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
05/06/2018 at 11:53 • 0 commentsToday 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
05/05/2018 at 18:38 • 0 commentsOne 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
05/01/2018 at 11:56 • 0 commentsTurns 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:
---------- more ----------But even then not all the rows would light up as they should:
Hmm... but that can't be a bad physical connection, because only half of the row is dark... it took me embarrassingly long time to figure out that I didn't enable all the pixels in the driver! Once I got that right, it was just a matter of figuring out the row and column reordering, and I got this pretty gradient:
I still need to add gamma correction, so that the steps seem more equally spaced. I think a logarithmic scale will work nicely for that.
Thanks to all the code I had already for #PewPew FeatherWing, I already have scrolling text support and blitting, so I think I'm pretty much good with the display. Next I will need a driver for the accelerometer and the NRF25L01 module.
I will also need to write some example demos for it, so that people can customize them.