Tweets
Replying to @josecastillo
Since this is making the rounds, some notes:
• @PlatformIO_Org is great, and it really is a one-line fix to work around this (lib_ignore = Doom)
• if you’re using the Arduino mbed core, Doom does come included (for some reason)
• Still no idea why SQLite triggers this behavior(original)
Replying to @SaguaroLynx
Staggeringly the answer is yes: https://github.com/siara-cc/esp32_arduino_sqlite3_lib
(original)
lately i’ve come to realize that writing embedded firmware is just the experience of hitting bedrock over and over again.
(original)
Replying to @Developer122
more worrisome: I started out with the modest goal of adding SELECT FROM WHERE queries to my project and now I have demons from hell flooding through a portal into my build
(original)
Replying to @josecastillo
okay never mind here it is, I should have known to search GitHub instead of Google. Still no idea why adding sqlite source files to my project triggers a dependency on this odd Portenta library (which does, in fact, seem to involve Running Doom On It) https://github.com/arduino/ArduinoCore-mbed/blob/29d629061f840133e7a19e723fd0747dfce6fea4/libraries/doom/library.properties
(original)
Replying to @josecastillo
ok the funny thing is I actually wanted to spend an hour hacking on a thing, but I can’t resist a good mystery: I have no idea where this Doom library comes from. The library description says “Porting of Doom engine to Portenta H7” but that string appears nowhere on the internet.
(original)
I’m not annoyed by this bug, just mystified by how it happens: somehow, every time I add the sqlite amalgamation — sqlite.c and sqlite.h — to my @PlatformIO_Org project, it adds Doom as one of my dependencies. Easy to work around, but puzzling and also KIND OF HILARIOUS.
(original)
Sunday accomplishment: submitted the LCD FeatherWing Arduino library! Should be showing up in the library manager as soon as tomorrow. Also updated the documentation page with a section on how to use the LCD Wing in an Arduino project, plus an example: https://www.oddlyspecificobjects.com/products/lcdwing/#arduino-usage
(original)
Replying to @josecastillo
it was also a good excuse to get the TCC working on the SAM D11, one of the four chips I want to work on gossamer; I didn’t have a spare Feather M0 on hand, and adding the support ended up being a grand total of four lines of code (if that). https://github.com/joeycastillo/gossamer/commit/44d8d20fac9da62916ae7206fb7d4eb1cb656df8
(original)
Replying to @josecastillo
also, I promise you that this is at least in part also content marketing for my gadgets. The firmware is open source, and you can buy both the Button/Buzzer FeatherWing at the bottom AND the LCD FeatherWing in the middle at the Oddly Specific Objects shop: https://shop.oddlyspecificobjects.com
(original)
ok, I’m realizing I don’t need to bring the ENTIRE solar gadget with me. All we really need is a way to get a sense for the brightness of the LEDs in the final installation. So, a minimal gadget: buttons, LCD and one channel of LED output (using an old wing from another project).
(original)
Replying to @bigattichouse and @tedyapo
Oh, for sure. The firmware allows for PWM’ing the LEDs from 0 to 100%; this is just a stress test in case my artist friend decides he needs all three lights turned up to 11.
(original)
Replying to @cabe_bedlam
Thanks! @adafruit also has an interesting document about the design choices behind their solar charger (the one I’m using) and choice of solar panels to stock. TL;DR: it’s not MPPT, but that might not matter too much for a gadget like this: https://learn.adafruit.com/adafruit-bq24074-universal-usb-dc-solar-charger-breakout/design-notes
(original)
Replying to @josecastillo
Napkin math: three LEDs at about a watt each for six hours ≈ 18 watt hours. This panel specifies 9 watts peak output, so in theory: 2 hours of direct sunlight × 9 watts ≈ 18 watt hours, enough to replenish the energy I burned last night? Is that how this works?
(original)
solar project testing: after shining bright for six hours last night, this morning we’re down to 3.84 volts. Good news though: even under indirect light, filtered through trees, the charger is at least charging somewhat. By 2:00 the sun should clear the trees and give good light.
(original)
Replying to @josecastillo
Well, the it is. I’ll get two days of testing in before trying to bring it to my collaborator in New York. Pretty straightforward: shine bright overnight, charge back up with the sun tomorrow and Monday. Ideally I’d like to see battery voltage back above 4.1V by sunset each day.
(original)
Replying to @BlinkUp
Adafruit sells it, it’s a FeatherWing… quad-er? Like the doubler and tripler, but with four all in one column: https://www.adafruit.com/product/4254
(original)
Replying to @sahajsarup
You can carry lithium batteries in carry-on bags, just not checked bags. they’re very specific that spare batteries must stay on you.
(original)
Replying to @mayfairlane
Good advice! Yea I always leave elaborate notes when flying with components in checked baggage, have never had a problem.
(original)
Replying to @josecastillo
ok I think I have severely improved my predicament.
(original)
Replying to @josecastillo
phew ok black wires instead of orange are a lot less intimidating.
(original)
Replying to @lukeweston
Yeah I need to just find my good crimping tool and crimp a JST plug onto that battery, it’ll make it compliant as well as safer (and more convenient).
(original)
Replying to @_GeorgeRudolf
I can remake the bodgy board when I get there, and I think replacing the orange wires with black ones will make the D-pad less scary. Alas, no way around the battery.
(original)
fuck me, how am I supposed to take this on an airplane
(original)
Hell yeah! Gossamer now has external interrupts, RTC for timekeeping, ADC for battery monitoring, I²C for displaying UI and TCC for dimming LEDs. Which means it has almost everything I need for this solar lighting project (which is kinda why I made it tbh) https://github.com/joeycastillo/gossamer/blob/b0615cfe033bae0eb91a9593e03259fabc5c071e/apps/sol-train/app.c
(original)
https://twitter.com/nebelgrau77/status/1576242895626989570
(original)
Replying to @WorldMerge and @oshpark
This is one board out of five that are part of a larger project; for the solar charging, though, I’m using this product: https://www.adafruit.com/product/4755
(original)
Replying to @josecastillo
y’all: this is gonna fucken work.
(original)
sometimes I see a thing and I get it in my head that it needs to exist, but it makes even less sense than the Oddly Specific things that I usually do… I need a division within my practice for Absolutely Unhinged Objects…
(original)
Replying to @tarahaelle
(original)
Replying to @SaguaroLynx
Nailed it! 5025 metric and rated for a full 2 watts. My goal is to keep it below one watt per channel, but hey, it never hurts to overspec. (in a past gadget I used a 3/4 watt resistor that got noticeably warm when running at 5V)
(original)
Replying to @josecastillo
less chonky boi R5 (0603) for scale
(original)
Replying to @josecastillo
“What kind of resistor is that?”
“That… is a chonk. An absolute unit.”(original)
Replying to @josecastillo
It’s hard to overstate my satisfaction.
(original)
Replying to @riffola, @crowd_supply and @solderedcom
I did, and it worked great in the end! There’s just an error in the documentation, the board support URL is outdated in the quick start guide. Use the URL in this repository: https://github.com/e-radionicacom/Dasduino-Board-Definitions-for-Arduino-IDE
(original)
SOLAR PROJECT UPDATE: The wing has arrived! Now for the prayer. (also: megaprops to the @oshpark folks, who on a few hours’ notice upgraded my shipping so I could have it in time to share with my collaborator next week)
(original)
RT @ajbauer: Memphis solves the trolley problem
(original)
Replying to @guidoism
I guess in some sense it could be optional, but the firmware I’m working on for it assumes that the chip is there and has the font data; even the English language stuff is all drawn with fonts off that chip, not off of anything stored in the firmware image.
(original)
Replying to @guidoism
So the premise of the Open Book is that it should support all human languages. That chip is storage for a bitmap font with all 60,000-ish glyphs in the Unicode Basic Multilingual Plane. You’ll need a file called babel.bin from here to flash it at 1st boot. https://github.com/joeycastillo/babel
(original)
Replying to @wormyrocks, @ghalfacree and @Hacksterio
Thanks so much!!
(original)
Thanks to @ghalfacree for writing this post about the Open Book for @Hacksterio! The subhead nails exactly my goals for this rev: it is finally EASIER TO MAKE and CHEAPER, and there are links to both the hardware & firmware repos so you can build one today!https://www.hackster.io/news/joey-castillo-reboots-the-open-book-project-with-a-raspberry-pi-pico-powered-redesign-8bfee0675637
(original)
Replying to @guidoism and @yacky_yam
Awesome! Did you order the castellated module as a PCBA thing as well? Who’d you go with, JLC or PCBWay? Curious what the process was like, if I provided everything you needed and it went smoothly.
(original)
Replying to @josecastillo
and with that I have a working ADC giving me the battery voltage of my new battery pack. One peripheral down! Tho I still have to test it with the D21 and L21. Anyway, tomorrow: the timer/counter, and hopefully some bright shiny LEDs.
(original)
Replying to @josecastillo
(the phototransistor voltage is so low because I should be pulling one side up via like a 10k resistor, but this proves at least that my ADC is working, and reading values across the full range of 0 to 3.3 volts)
(original)
Replying to @josecastillo
oh HELL yeah.
(original)
Replying to @josecastillo
(this is showing the raw analog reading in response to changes in light: more light, lower value; less light, higher value. I’m going to want to use this to display battery voltage though, so even though my beer is low, I might as well do the math before I call this)
(original)
Replying to @josecastillo
I could have sworn I had a potentiometer around here somewhere but whatever: phototransistor, I choose you!
(original)
Replying to @josecastillo
Okay wow that came together quickly — and thanks to an in-thread bug fix from @theavalkyrie it seems to have worked on the first try! now I need to find some analog device to plug into a pin so I can play with it.
(original)
Replying to @theavalkyrie
haha I know, it’s like, I pointed the gun at my foot and did a thing, there was no error here.
(original)
Replying to @theavalkyrie
oh dang you’re so right! Hey where’s my red squiggle for that, VSCode?
(original)