Tweets
getting a late start in the workshop today, but hopefully I’ll get this done tonight…
(original)
Replying to @tannewt
Definitely! In fact I was doing it that way way back when in the Arduino GFX Unifont fork. Hacked it together real quick by changing the _read_address method to seek within the babel.bin file, and it totally works :) https://gist.github.com/joeycastillo/ee2e75b7f551f2d9671d63f15817cd10
(original)
One effect of getting Babel working with #CircuitPython: super easy to toss it on another board! A while ago I designed the simplest FeatherWing for testing, just a 2MB flash on a PCB. Is this a product? Would you spend $10 for a wing to add hundreds of languages to your project?
(original)
Replying to @tannewt, @Dan_Halbert, @adafruit and @CircuitPython
That’s correct, I just label it as “Babel flash chip” on the boards so people understand its purpose (and because I think it sounds cool 😎)
(original)
Replying to @Dan_Halbert, @adafruit and @CircuitPython
Actually that was all pretty easy to address; here’s the CircuitPython code! https://gist.github.com/joeycastillo/060f7309736267a7326395225e8717c7
(original)
Replying to @Dan_Halbert, @adafruit and @CircuitPython
I’m still tweaking some of the Python code before I share it (accent marks are off-by-one, and my code for loading double-width characters is ugly) but this is the Arduino library: https://github.com/joeycastillo/babel
(original)
Spent some time this afternoon getting the Babel chip working with @CircuitPython! Ended up being super easy to port; it’s just a bitmap font that talks to a flash chip, and it plugs in wherever you’d normally load a BDF. All of the languages, in one fell swoop.
(original)
Replying to @siddacious, @bigjoshlevine and @adafruit
Yea it’s for a bootloader status LED, so I’m tied to either this or the APA102. Mostly I like the idea of keeping it simple by using the same pins and software, just swapping the form factor. (Also I’ve used up all the pins on my MCU 😬)
(original)
Replying to @bigjoshlevine
Oh, absolutely! But I sense that in times of scarcity, value will be measured in much more concrete terms like nutrition or hydration; things that can sustain us just a bit longer, which was kind of the point of my flippant opening comment :)
(original)
Replying to @bigjoshlevine
Maybe I’m being provocative; my point is maybe our ability to value things in the abstract is an artifact of an era of plenty. I’m using nutrition as a proxy for time to exist & value things; if starvation leaves you with little time, you’ll take a hot dog over its weight in gold
(original)
Replying to @bigjoshlevine
food, once time gets short
(original)
Replying to @Lodley and @adafruit
oops, I should have highlighted the part; I have a source for the connectors, I was talking about the LED’s. Adafruit stocks a lot of NeoPixels in bulk, but not the right angle ones. Think I may have found a compatible part on Digikey; alas, out of stock. https://www.digikey.com/product-detail/en/inolux/IN-PI42TASPRPGPB/1830-1206-1-ND/9681286
(original)
Does anyone know a good domestic, non-Amazon source for these right-angle WS2812 LED’s, like on the @adafruit Hallowing M4? I’ve been tossing them on board designs hoping I could figure it out, but now it’s time, everything seems to ship from China, and it’s the lunar new year :/
(original)
Replying to @kaitlynfortin
Wish I could but again, no template for that style on Infograph. We only got the two-line text styles a year after Infograph launched; I think their design goal was to push developers toward more graphical complication styles on that watch face.
(original)
Replying to @kaitlynfortin
Unfortunately third party developers don’t have the ability to offer that format on Infograph; all the options we get are enclosed in a circle, so it’s dials and gauges and two-line text, but no single line like Apple offers on California. Sorry!
(original)
Replying to @Eduardo3rd
That’s really helpful advice, thank you!
(original)
Replying to @josecastillo
Also side note, wasn’t it just Saturday that I was designing this board on a snowy afternoon? @oshpark’s super swift service is crazy swift :)
(original)
meanwhile in the department of capacitive touch research: this worked WAY better than anticipated. A touch matrix surface with #CircuitPython touchio. All open source, no proprietary libraries, and simple! Just copper pads and a resistor per row & column. https://gist.github.com/joeycastillo/4b656ba570aa9b843852fd79f05ae38a
(original)
Replying to @dronecz
I’ll probably push one last rev next week with two minor changes: a tweak to the button holes, and a fix for this slight hum in the headphones when plugged in to USB. The current rev totally works, but if you wanted to order a copy to build, I’d wait for those tweaks.
(original)
Replying to @felixsinger1 and @oshpark
Yep! Schematics, board designs and code are all open source: https://github.com/joeycastillo/The-Open-Book
(original)
For more detail about the state of the book, I made a 90-second video showing and explaining the (very) simple software for book reading, so far. As a side note: zeroing in on a wooden case design! Stained, laser-cut 1/16" basswood + nylon screws. Need to try some hardwoods next!
(original)
Big news of the book tonight: the #OpenBook was just named winner of the Take Flight with Feather contest! I’ll be on the @adafruit Show & Tell at 7:30 EST, an hour from now, to talk about it and to show MVBook, e-reader software I wrote for it this week: https://github.com/joeycastillo/The-Open-Book/tree/master/Examples/Open_Book_MVBook
(original)
Christ, this place was better 13 years ago. #MyTwitterAnniversary
(original)
Besides #OpenBook grayscale stuff, I’m working on a demo for tomorrow night’s show and tell that involves reading a lot of short fiction. One story tonight: Paul’s Case by Willa Cather, a queer (ish?) tragedy, and a vivid portrait of New York City in 1905: https://cather.unl.edu/writings/shortfiction/ss006
(original)
Replying to @buerviper and @sindelar_fr
I once helped a colleague train a machine learning model on R.U.R.; his idea was to put on a play about robots, written by robots. The results were… uncanny. https://www.instagram.com/p/BlgOOqQjnbc/
(original)
Replying to @kisvegabor
Here’s the code! If you already own one of these 4.2", 400x300 displays from Good Display or Waveshare, it should work with your display too. (Just the B&W ones though, I haven’t tested on the tri-color ones). https://gist.github.com/joeycastillo/c4d00a4a0379207dcf3fcc4460ec5b2d
(original)
More work on grayscale mode for the #OpenBook; a classic set of public domain WPA photographs is the testbed. Utilizing a 2-bpp image format from @kisvegabor’s LittlevGL project to display images from an SD card. (and in the process, ended up making an ASCII art serial monitor!)
(original)
I would vote for either of these candidates. Also any of the other ones. #voteforthedemocrat https://www.nytimes.com/interactive/2020/01/19/opinion/amy-klobuchar-elizabeth-warren-nytimes-endorsement.html
(original)
#OpenBook project this week: I’m looking for 12-18 great short stories in the public domain, that were not originally published in English. Currently my list consists of Tolstoy’s “How much land does a man need?” and Balzac’s “A passion in the desert.” Open to suggestions!
(original)
Replying to @kevinneubauer, @oshpark and @Dan_Halbert
That was my experience! I actually bodged some pull-down resistors onto my first attempt at the slider wing, and I was able to read touch inputs with touchio pretty much as effectively as the proprietary library.
(original)
Replying to @CedarGroveMakr and @oshpark
Awesome! After Dark looks soo rad :)
(original)
Replying to @kevinneubauer and @oshpark
Short and sweet: this one file that @Dan_Halbert pointed me to from CircuitPython’s touchio library. Describes a really effective method for touch sensing using just one digital pin and a 1MΩ resistor. One of these boards is to see how far I can take it :) https://github.com/adafruit/circuitpython/blob/master/shared-module/touchio/TouchIn.c
(original)
This weekend’s @oshpark order: two capacitive touch feather things, a tiny book with a tiny SAMD51, plus a board to test out a new E-Paper display (that I’m only ordering at this point to convince myself it’s a bad idea). It’s a snowy day in Brooklyn, what else have I got to do?
(original)
Replying to @nakanaela
MattairTech has a 4k SAMD11 bootloader, which is like 1/4 of the Flash memory but gets it working with Arduino. For other projects (like cap touch experiments) I’ve been programming them directly with Atmel Studio and a J-Link. https://github.com/mattairtech/ArduinoCore-samd/tree/master/bootloaders/zero/binaries
(original)
Replying to @back7co and @adafruit
I’m thinking on this! Waiting to hear news of the Take Flight with Feather contest, but either way, I’m currently talking to colleagues with experience in electronics manufacturing to get a sense of what a production run would look like. Expect motion on this in the coming weeks.
(original)
Replying to @n8willis
…I need to strike a balance. For example: case mapping. For memory reasons, Babel handles Unicode 1:1 case mappings, but not the cases where a single codepoint maps to two (i.e. ß->SS). I sense that I’m going to have to repeatedly find that balance as I work on it :) (3/3)
(original)
Replying to @n8willis
…text — bidi class is boiled down to a pair of bitmasks — although layout direction changes do force a line break. More broadly, Unifont is still a bitmap font that assumes one glyph per codepoint, and Babel’s target of resource constrained microcontrollers means that… (2/3)
(original)
Replying to @n8willis
Great question! I have an idea of how to tackle Arabic shaping with Presentation Forms A, but I know there are other scripts that will require more work. As of now, combining marks do draw atop the character they modify, but they don’t stack. I am handling bidirectional… (1/3)
(original)
Replying to @josecastillo
And the code. The best part: you can run it on a bunch of CircuitPython boards. If you had a board with no screen, you could turn an LED blue in cold weather, or move a gauge with a servo — in Python, as simply as editing a file in Notepad. Powerful stuff! https://gist.github.com/joeycastillo/a9c8143ca01d33e737d48b490dbf465b
(original)
What this means: you can plug the book in to a laptop, and its code pops up like on a thumb drive. Save, and it runs; it’s that easy to program. Like, I literally tossed together this weather forecast demo in 30 lines of Python between starting and finishing this pair of tweets.
(original)
BIG NEWS: as of today, The Open Book officially supports #CircuitPython! It’s up on the website and everything. Shout out to @tannewt and @brentrubell for displayio guidance, and ofc @adafruit and the whole @CircuitPython team for all their amazing work! https://circuitpython.org/board/openbook_m4/
(original)
a friendly debate night reminder: no matter whose team you are on today, all of these candidates are acceptable. let’s enhance our calm and keep focused on the important thing: being ready to vote and fight for whichever one is on the ballot come november. http://www.voteforthedemocrat.org/president/
(original)
Replying to @adafruit
Oh rad! Here’s the EAGLE files if you want to point folks to them: https://github.com/joeycastillo/Feather-Projects/tree/master/Through-Hole%20SAMD11%20Feather
(original)
It felt weird routing a USB differential pair over an old school pair of jumpers. But no one told me I couldn’t, and hey, it worked!
(original)
Cap touch stuff remains a WIP. One byproduct of that work: this oddly specific SAMD11 breakout. I like this chip. A lot. Sometimes I have a simple need — like blinking a bike light at a given BPM — for which a SAMD21 feels like overkill. “Less is only more where more is no good.”
(original)
Replying to @tomfleet and @oshpark
I actually *just* ran across an example of this in a pinned tweet from @siddacious. Shiny! https://twitter.com/siddacious/status/1182090844716728320
(original)
So these arrived this morning: my experimental touch matrix shield (looking spiffy in @oshpark After Dark)! Maybe not the most practical gadget — it claims all but two GPIO pins — but it’s mostly for learning and hacking. Bonus: lazer bear looks amazing at 1000 dpi!
(original)
Replying to @tannewt and @CircuitPython
I will definitely reach out! I feel like I’m really close with the display thing; displayio is making a lot of sense to me, and epaper is right there, I sense I’m missing like one small thing that’s going to make it all fall into place.
(original)
Today’s second project: @CircuitPython support for the #OpenBook! It’s not 100% there yet — I have yet to get the screen working as board.DISPLAY — but I can create it in main and it “just works” with @tannewt’s IL0398 driver. This feels like a big step. https://github.com/joeycastillo/circuitpython/tree/openbook/ports/atmel-samd/boards/openbook
(original)
Replying to @josecastillo
I really like the pybadge-as-serial-plotter idea; here’s the sketch if you want it! Should work with any @adafruit Arcada board: https://gist.github.com/joeycastillo/c7b246add2b406aa96b1a2e0ec3f0553
(original)