My main project for 2026 (and onward if it goes well):
The PlumeN6 HD:
- STM32N6 MCU
- MIPI-CSI interface
- MJPEG and H.264 encoder
- USB-HS
- 1000Base-T1 Eth.
- ESP32-C5 (maybe)
Planned to be used first in either a custom small drone (Andorinha) or a MobED style robot (Lince).
Important to note that the JPEG encoder used is the independent JPEG encoder and not the new one in the VENC (same encoder as found in other STM32 family MCUs).
In fact, the #STM32N6 has effectively TWO hardware JPEG encoders!
#PlumaN6
Super short first clip recorded from the OV5645 with my #PlumaN6 over MIPI-CSI and USB UVC (all custom drivers).
Auto-focus not yet working, so all very blurry. Images are JPEG encoded on the #PlumaN6, VENC/H264 to come.
It has been a minute since my last update on the #PlumaN6 project!
But there is progress! I have the MIPI-CSI now working, with my own C++ driver, streaming frames from a OV5645 to the HyperRAM and then USB UVC!
Next, a more complicated step, getting my VENC driver done!
#drone
What I'm working on: getting all drivers for the off board sensor set working for the #PlumaN6. This is ICM-45686, BMM350 and BMP581. The ICM over SPI to get the full bandwidth, if required in the future.
#drone#diy#flight
Working on the ICM-45686 driver for the #PlumaN6.
Who thought it is a good idea to give the register table in big-endian when the DEFAULT is little-endian??
You have to change the endianness to match the register table (set SREG_DATA_ENDIAN_SEL bit).
Interesting finding so far: due to the 32KB Cache, I dont see slowdowns in CPU intense operations (e.g. linear YUV to block YUV for JPEG ENC). Runs at the same speed from SRAM or HyperFlash XIP.
More test needed, also for extending Cache and using TCM.
#stm32n6#pluman6#mcu#arm
With the HyperBus finally working at full speed, I started looking into running code from the HyperFlash. It's much simpler then I thought, once skipping the convoluted STM code:
- Set flash to Memory mapped
- Set Vector Table
- Jump to code start in memory
#stm32n6#pluman6
With the HyperBus finally working at full speed, I started looking into running code from the HyperFlash. It's much simpler then I thought, once skipping the convoluted STM code:
- Set flash to Memory mapped
- Set Vector Table
- Jump to code start in memory
#stm32n6#pluman6
It took a LOOONG time but I figured out the issue with my bit errors on the HyperBus over 100 MHz!
Besides setting the IO voltage in registers, it is also required setting the OTP fuses! That fixed the issue and now get table 200 MHz both on HyperFlash and HyperRAM!
#stm32n6
Finally have both the HyperBus external Memories working error free at 100MHz. Was an issue with drive strengths configurations, I had to lower them on the Memory side (reflection issues?).
Stable and error free 350 MB/s reads from PSRAM (DMA).
Next figuring out limits (200MHz?)
@tty0x24 First revision is 110x60 mm. In part because the space reserved for a ESP32 and RC radio (e..g. ELRS)
I'm thinking for next revision to reduce dimensions and make it square, or simple rectangular.
Been working on the hardware side of the #PlumaN6 and #andorinha drone Project.
First version of a 3D printed drone frame, with custom gimbal and articulated arms. Target of around 250g, probably will be over.
#drone#3dprintedplane#cad
Designed a new version of my Micro Drill Storage Box.
Removed the corner magnets, now with sliding lid, and added drill size labels to each slot!
Can be found for free on Maker World:
https://t.co/IVtwsUBVni
I have developed a similar system as well, using 4 ToF sensors from STM to create a 180º Solid State LiDAR.
This was part of my Mini Cube Robot project! Had it streaming the point cloud to the PC but stopped there.
I'm starting to look to upgrade my home soldering lab and looking for a Hot Air Station. From what I found so far, the Atten 862D seems to be the pick for great performance for the price.
Any other recommendations or experiences with some hot air stations?
Sometimes you have to fit a larger component on a smaller footprint (SOT23 LDO on a WSON-6 footprint in this case). Flipped the LDO upside down and luckily the pin out matches! Faster solution then wait for the correct LDO.
#pcb#embedded
@tomfleet@jithinbp_ The annoying part is there are a few different versions around, same size but different screw hole sizes... I have so far 3 different ones...
Another part of the #PlumaN6 project: I'm looking to design a small DIY gimbal. First version was designed around a cheap 1105 BLDC motor but then I found some better gimbal motors also in 1105 size (smallest I can find)!