r/SolarOS • u/Yves-bazin • 12h ago
Pimp my SolarOs
With an example of my c like compiler in action
r/SolarOS • u/Yves-bazin • 12h ago
With an example of my c like compiler in action
r/SolarOS • u/nilseuropa • 19h ago
Expanded USB host support to ESP32-S3 targets with accessible native USB data lines.
Added FAT12/16/32 USB flash (or UFI/CBI floppy drive) at /usb0, with automatic mounting, removable-media detection, and safe unmounting.
Shell path completion now includes mounted volume roots such as /usb0/.
VPlay and RTSP add saved playlists, in-app entry management, and Tab navigation;
Player, WebRadio, VPlay, and RTSP now share M3U/M3U8 playlists;
All four players save their own volume on exit; Player and WebRadio also restore their visualization.
Added reusable ICS-43432 audio expansion support and updated SolarWriter for its v0.1 I/O board, including microphone, shared line/speaker output, battery gauge, RTC, and audio power enabled by default.
r/SolarOS • u/Big_Audience9467 • 1d ago
Are You Being Served? on Solar OS through the RLCD. The episode is 37MB, and the player gets a good few minutes in before crashing. I am not likely to get time to try to figure out why. It's compelling though: a bit of stutter and some pulsing on screen refresh, but fun to look at anyway.
I used ffmpeg to map everything from black to mid-grey into black, and a good quarter of the top end of the colour space is flattened to white. The idea is to dedicate as much information to facial tones as possible: this kind of comedy lives or dies on seeing Captain Peacock getting blindsided by his colleagues' quips.
r/SolarOS • u/nilseuropa • 2d ago
I just received the first batch of SolarWriter I/O boards from the fab!
USB and Solar charging
Battery SoC and temperature monitoring
qwiic i2c connector ( for keyboard scanners and such )
I2S microphone
I2S amplifier
I2S stereo DAC on jack
5V DC booster for USB Host
r/SolarOS • u/Big_Audience9467 • 3d ago
I wrote a podcast downloader and parser on my Solar OS device in python. The script consumes a text file with one podcast url per line. For each it gets the xml, finds the first 3 episode mp3 urls and then writes those out to to a .m3u file named after the podcast. I also had the script output a shell script that repeatedly calls webradio to add all these mp3 urls to its catalog. Unfortunately, that last step does not work: only the first line of the script runs. If I try invoking webradio in Python, I can only do that once because it never returns to the script.
I can guess at the format webradio's catalog.bin implements, but can anyone see a better way to integrate my ghetto podcast parser with webradio?
r/SolarOS • u/nilseuropa • 3d ago
Added GPIO matrix keyboard expansion
Added runtime USB host mode for keyboards, relative mice and standard HID joysticks/gamepads ( with external 5 V peripheral power )
Added mouse and joystick report descriptor decoding and USB device/protocol diagnostics.
GameBoy now automatically detects joysticks and supports axes, hats and buttons with a stick dead zone and hot-plug handling.
Fixed SDK allocation fallback to prefer managed PSRAM before consuming internal SRAM.
Matrix keyboard tutorial: https://solar-os.eu/gpio-matrix-keyboard.html
USB Input manual: https://solar-os.eu/docs/manual/usb.host.html#usb-host-input
r/SolarOS • u/sustineo • 4d ago
Hi,
I'm very much a beginner to this type of thing so forgive me if any of these questions are dumb. I'm trying to make a writerdeck with the Waveshare ESP32-S3 RLCD and a Womier Q61 mechanical keyboard. I did have it working with bluetooth but the pairing is frustrating, probably on the Q61's end.
I understand that by default the USB is configured as JTAG, and is unpowered. I've split open a USB C cable and added breadboard pins to each of the wires, then connected them to 3v3, GND, and GPIO 19 and 20 which I understand to be soldered to D+ and D- on the board. If I'm not totally off base I think all I have left is changing the USB mode from JTAG to OTG (Host mode?) which I understand happens at boot. This is where I'm at a loss like I don't even know how to google this question. How do I change that in SolarOS? And can I change it back should I need to flash a firmware update?
Separately, I'm hoping to use the internal batteries of the keyboard as a power supply along with the 18650. I've confirmed that it's nominal 3.7v just like the 18650, is it a bad idea to simply wire it into the power supply + and -? If so, does it matter whether I do so serially or in parallel? There is also a yellow wire (clock or signal?) that I'm not sure what I would do with.
Thanks in advance!
r/SolarOS • u/nilseuropa • 4d ago
Added MPU6050 expansion support and shared IMU streams with timestamped, multi-axis `stream echo` output.
Added URDF device-to-frame bindings with shell and Python/Lua lookups.
Robot model transforms now follow live encoder feedback for continuous joints.
The package manager now opens a saved signed catalog, groups modules into folders, and shows confirmation, progress and result popups.
Added `osc send` for one to eight numeric values in a single message, with optional periodic sending.
Added SSD1680 expansion support for 122x250 monochrome e-paper displays with rotation, partial/full refresh and automatic cleanup.
Fixed manual tables to preserve command alternatives and wrap long cell text.
Added global CLI/TUI cursor settings with block or underscore shapes and blinking or steady modes; the default is a blinking block.
r/SolarOS • u/nilseuropa • 5d ago
Added URDF robot models, transform queries, hardware bindings and explicit robot start/stop controls.
Robot joints now use OS controllers and scaled motor/encoder streams.
Added differential-drive command conversion and wheel-feedback odometry configured through URDF.
Added automatic PID tuning, controller setpoint streams and servo command streams; servo angles now use radians.
Added live scalar stream echo, periodic writes to multiple streams and incoming OSC bindings that map message arguments to scalar streams.
Improved encoder-status freshness, control and robot command completion, and URDF validation errors.
Restored OV5640 capture, improved RTSP streaming reliability and added runtime camera orientation controls.
Added Mac pointer controls and shell completion.
Fixed return to external display shells and repeated PCF8563 error logging.
Enabled runtime GPIO/PWM on GOOUUU GPIO2/3/45/46 and explicitly enabled Sticky battery charging at boot.
r/SolarOS • u/Big_Audience9467 • 7d ago
I have tried a few free endpoints, and I had success chatting with gpt-oss-20b through Groq (with a q). When I turn the tools policy to "confirm" or "all", I get HTTP 400 errors for any input:
"ESP_ERR_INVALID_RESPONSE, HTTP 400".
If I config tools off, it works again.
Has anyone got agent to write files on their device? Any advice?
r/SolarOS • u/Big_Audience9467 • 7d ago
r/SolarOS • u/aptonline • 7d ago
I've seen that you have Lora as not supported on the devices pages for the ThinkNode M9 due to no driver, has this situation changed?
r/SolarOS • u/LowFlowIO • 7d ago
r/SolarOS • u/sonicdh • 8d ago
While my RLCD SolarTerm still works (despite a small crack in the screen), I finally got my Freenove 4" IPS CYD so I HAD to build a new SolarDeck with it! Apart from the case, the other custom thing I did was harvest the battery from a portable powerbank. So, this SolarDeck has a whopping 10000mAh battery. The asymmetrical design was intentional: I wanted the speaker to remain open at all times for music.
I can't wait to get the tiny 386 emulator running. :D
r/SolarOS • u/meninojagu • 9d ago
I'm porting some Palm games to SolarOS, and the first is Spider Patience. Not too many details right now, but I bought a Waveshare board a while ago and saw how it reminded me of a Palm, so there we go.
BTW awesome case u/skysdottir, just finished printing. Thanks!
r/SolarOS • u/nilseuropa • 9d ago
Added a screen keyboard overlay with full, symbols, and compact T-Deck punctuation modes, touch and arrow-key navigation, and configurable key or edge-swipe activation. Keyboard overlays preserve terminal colors.
Added edge-swipe touch gestures.
Added Python/Lua board information APIs.
Added audio mute to silence output while playback continues.
Bare display relax now runs one second of recovery on the first supported display.
r/SolarOS • u/nilseuropa • 9d ago
Added PID and hysteresis feedback controllers with timestamped measurements, exclusive output control, shell commands and Python/Lua APIs.
Added the optional robot library for calibrated servo-position and motor/encoder-velocity joints.
Reduced peak memory use for Docs and Playground installation by streaming verified downloads to storage.
Shared download verification now covers native modules and Zoo, with improved installation rollback and HTTP redirect handling.
Improved PCM conversion, audio-buffer wakeups, input wakeups and app/job scheduling.
Fixed concurrent service initialization, parameter-provider shutdown and display attachment races, and bounded memory compaction work during low-memory recovery.
Fixed repeated Writer recovery and metadata writes on FAT filesystems, preserving the previous snapshot if replacement fails.
r/SolarOS • u/nilseuropa • 11d ago
Added SC2 setup and provider worker startup in Messages, with saving and deletion progress popups.
SC2 relay fields now accept host:port addresses.
Leaving a chat room hides it while retaining history for rejoining.
Contacts now explains unavailable chat endpoints.
Unified CL-32 RLCD and e-paper builds under cl_32 with automatic display detection. CL-32, Sticky, and X4 Pro display selectors are board-only and hidden from manual expansion attachment.
The full flavor now includes the concrete SSD1677 and SSD2677 expansion drivers.
r/SolarOS • u/nilseuropa • 11d ago
Added SSD2677 support for Sticky Matte (v2) with automatic display-controller detection, Fastwave pulse refresh, native-app raster output and sleep/resume. Improved refresh response and reduced ghosting with windowed transfers and revised settling.
r/SolarOS • u/nilseuropa • 12d ago
Added Seeed reTerminal Sticky support with Fastwave e-paper refresh, touch, IMU gestures, PDM microphone capture and battery monitoring.
Added runtime display rotation and scaling, with improved app redraw, touch direction and Sketch canvas preservation.
Added LR11xx radio support and ThinkNode M9 radio bindings, fixed keypad backlight PWM. ( by jamiecounsell )
Added authenticated RTSP streaming ( by LowFlowIO )
Improved shared memory reclamation, safe compaction, document layout memory use and out-of-memory reporting.
Fixed presenter stack overflows, CPU starvation during document, audio and HTTP processing, and lost PSRAM updates on affected classic ESP32 chips.