top | item 41408970

(no title)

cloud8421 | 1 year ago

I built a few hobby projects, and have another one in the pipeline for when I have time. All of them are based on Raspberry PI Zero kits from Pimoroni (shop.pimoroni.com) and sadly some of them are not in stock, and won’t be stocked again according to their support.

I built:

- a clock with an internal task scheduler (e.g. send me an email digest every morning), based on https://shop.pimoroni.com/products/scroll-bot-pi-zero-w-proj...

- a lamp that follows the solar cycle for the given location (e.g. it turns purple at twilight), based on https://shop.pimoroni.com/products/mood-light-pi-zero-w-proj...

I’ve also got some impression (https://shop.pimoroni.com/search?q=impression&stock=true) kits that I want to program for a family photo tree kinda thing.

A summary of my experience:

- these are not complex projects, and required (in the worst case scenario) some porting of the original python examples provided by pimoroni to interface with the hardware.

- deploying via ssh is fast and reliable

- can quickly experiment by pasting a new version of a module in the device shell. Got an editor keybinding to do that by targeting a tmux pane.

- OTP constructs help structuring code beyond the standard infinite loop that you have in other languages. And you can have pub-sub and state machines just with the standard library.

- it’s easy to abstract the hardware bits away using dependency injection, so that you can work on the host machine if needed.

- working with time and time zones is possible thanks to the ecosystem packages.

- any dependency with native extension can be a problem if not built with cross compilation in mind, and if it crashes on device that’s where debugging becomes a bit harder (might need a serial cable).

- if needed, I usually add a simple web yo for config/customization.

- there are great tools in the ecosystem to troubleshoot memory issues etc.

- sometimes I have WiFi issues and I suspect it’s related to power management, but I haven’t checked thoroughly yet.

discuss

order

No comments yet.