mathstodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance for maths people. We have LaTeX rendering in the web interface!

Server stats:

2.7K
active users

#microelectronics

0 posts0 participants0 posts today

Tuesday, April 29, 2025

Zelensky slams Putin’s 3-day truce proposal as ‘manipulation,’ reiterates calls for 30-day unconditional ceasefire — Russia’s military building up at Finland’s border — Drones reportedly strike Russian plant producing parts for missiles, radars — Over 95% of drones used at front line made in Ukraine … and more

activitypub.writeworks.uk/2025

Hey Mastodon, can you find a 4th year engineering school #internship for my daughter's boyfriend?

He's in #Microelectronics and Automation; he's looking for anything micro-controller-related, but beware, abroad...
More in northern countries, Holland for example (my daughter 🥰 ).

Training: polytech.umontpellier.fr/forma

If you have any leads, we'd love to hear from you, as it starts at the end of April!

Thanks for :boost_requested:

www.polytech.umontpellier.frMicroélectronique et automatiquePolytech Montpellier, école polytechnique universitaire d'ingénieurs de Montpellier, membre du réseau Polytech.

I'm working on an "info-station" project: an e-ink display attached to a microcontroller (ESP32-C3) showing weather and local transport info. One of the challenges is to translate "smart symbol" code (e.g., 24) returned from a weather provider API into an image.

I found a repo with all the images in SVG format, and spent some time setting up building scripts in Rust to create an automated conversion pipeline.

Rendering an SVG into raster turns out to be surprisingly difficult. Luckily, there's the `resvg`crate, which handles it nicely. A quote from its README is worth mentioning:
> SVG is a very complicated format with a large specification (SVG 1.1 is almost 900 pages). You basically need a web browser to handle all of it. But the truth is that even browsers fail at this.

Then, an e-ink screen only supports black and white colors, no shades of gray. To emulate "grayish" color Floyd-Steinberg dithering can be applied. Luckily, the `image` create ships with the implementation, so the whole pipeline is tiny in terms of LoC written by me. Thank you, Rust community <3

On the screenshot:
0: original SVG image
1: SVG rendered into 40×40 raster image
2: Alpha channel replaced with white
3: BMP conversion (useless)
4: Luma8 conversion
5: Dithering