Paintchips Random Projects and Tech Blog

Anyone reading this should expect a fair amount of audio, embedded hardware, graphic design and a mix of neuroscience.

On-going projects:

Blender Render Hub V2

Low-cost ARM based rendering, cluster of 4 or more quad-core ARM boards. This project is more about replacing “shared render hub 1.0” which was retired as I reached the limit of the 100/300 Mbps ethernet port wall on the Pi 3B.

Potential render hub is repurposing Jetson Nano into this role when Jetson Nano Next(aka Jetson Nano 2) is released. At the moment Pi 4 has been tested along with Pine64, the latter ability to use eMMC is a nice upside for reliability.

Jetson Nano/Xavier AGX

Originally I had planned on continuing an automotive project with Jetson Nano/Xavier AGX to boost the fast tracking AI, if you’re going to use such in such a critical environment you’ll want redunant systems with fail-over.

Jetson Nano can handle up to four cameras running at 1080p, with some tweaking you can also run four cameras at 720p with 60fps.
Thermal wise you’ll reach close to ~65C without a cooling fan, with a 40mm fan the temps drop to 50C.

–Mobile Platform 2.0
Rework fuel cell platform to sustain 180 days of power between refueling, an old fuel cell battery experiment with 99% alcohol yielded close to 90 days even in extreme cold weather. Side goal design an automotive platform based on this with a top speed of 120-150 MPH even if that means just designing a closed track race car with a rollcage.

Current plans:
Use a LiPo battery to bank surplus power from the fuel cells, downside with this hybrid setup is building a battery firewall for safety. Weight considerations include using a ceramic frame around the battery packs to contain any potential of a battery rupture/fire.

Neurolink

Implant electrodes to nerves, I know a certain biomedical ethics professor would be cringing at this experimental project.

Experiment 1:
Implant electrodes in the skull, spine and leg. Map out electrical feedback and use that data to build into a wearable PC. Upside with this experiment is to create replacement leg or arm with near-like sensory ability. Danger of this kind of implant experiment is infections at incision points.

Example of a skull electrode implant and measurements:

3 Likes

I’m not sure about how many spend time on trying to work out on CAD or deal in 3D printing. Rapid prototyping with other materials allows testing designs or fit-finish testing before going ahead on the final design.

Some tips:
Clay is handy, however plaster is another option.

Hot glue you can create molds of a rapid design or modifications of a pre-existing 3D printed part.

Rendering a project in Blender has some unique upsides, you can export the model and drop it into a virtual experimental environment to try a few things.

1 Like

While doing a hardware shuffle of testing projects, decided it was worth setting up Blender on a Jetson Nano.

Pros:
-Quite snappy compared to a Pi 4
-Hardware acceleration seems to work

Cons:
-Expensive for a Blender cluster but if a new Jetson Nano is near, may as well have a reuse roadmap.
-Balancing memory allocation for optimal performance is still a work in-progress.

Car Project 2.0

Designing a battery safety enclosure to contain a Lipo battery fire has lead to a few options.
A: Build an enclosure with a fire blanket drop system activated by a thermal sensor.
B: Develop a thermal containment platform which can handle a lithium battery fire and provide full safety of absorbing that heat… if you’re asking what? From an art creation side, what pops to mind is there are ways to make a mixture to create a light weight brick that can act like a thermal tile. Weight wise I’m not sure a thin brick is even worth attempting but experimenting with brick materials is an option.
C: Design a car grade ejection module, it could be fun but not realistic as it would need to include ejecting the driver strapped into a roll cage… we all know the Ardvark was a horrible plane for having that :joy:

Battery layout adjustment, one option is rely more on fuel cells as the main source of power and use fewer Lipo batteries for increased safety.

As far as car frame of choice, a junkyard find of a sports car had caught my attention… may have to do a lot of work but replacing the metal body with fiberglass or carbon fiber should provide plenty of weight reduction.

Neurolink
This caught my attention and it could be worth researching on the topic of tapping into the optic nerve.
Neural Implant Sends Camera Feed Into Blind People’s Brains (futurism.com)

Neurolink

Researching into leg nerves:

Inserting an electrode sensor to the sciatic, soleus, sural & tibial nerves could have plenty of scientific benefits.

An article worth linking, got a few options in routes to tap into the optic nerve.
Frontiers | Cranio-Orbital and Orbitocranial Approaches to Orbital and Intracranial Disease: Eye-Opening Approaches for Neurosurgeons | Surgery (frontiersin.org)

Car Project 2.0
For laughs was pricing out Nissan Leaf parts, could be interesting to convert a rechargeable platform into a pure fuel cell or try a hybrid fuel cell+battery. Only downside while skimming through junkyards most engines had 45k+ miles.
In all seriousness the car project would be more of a closed track AI assisted platform and developing a custom fuel cell.

Fuel Cell Battery Experiments
While there are certain technical stuff that won’t be disclosed, designing and building a re-fillable fuel cell has its own unique issues. Won’t go into exact mAh, learning about the usability curve and part replacement cycle is worth listing.

Everybody knows the basics of how a fuel cell works, when you attempt a refill design it opens up the issue to keeping the membrane from clogging–you can have a filter but minerals can form or the membrane needs to be replaced. As far as environmental impact, with 99-100% alcohol the waste turns to water… filter the captured water vapor and its fairly pure enough.

Battery X1 Stats:
Original Charge: 90 Days
Refill 1: 90 Days
Refill 2: 90 Days
Refill 3: 90 Days
Refill 4-10: 85 Days
Refill 11: 80 Days
At about refill 30 the membrane degrades to 75 Days of power output. Running it through a cleaning brought it back to normal.

Battery X2 Stats:
Refill 1-10: 90 Days
Refill 11-25: 85 Days
Refill 26-30: 80 Days
Refill 31-40: 80 Days with some slight mAh variance
Refill 40-50: 75 Days with the mAh output leveling off
Cleaning brought some improvement in the mAh stability.

1 Like

Random Tech How To

Ever had a piece of electronics which broke or bricked itself, try looking for a serial or jtag solder points. Often most devices including a near-dumb device DVD player will use a serial or jtag for debug/service worker tasks. Typically you can use the jtag to reset a device which you thought was broken.

The other option is look at the memory chips, some consumer devices may put a glob of goop to cover the chip maker so you might need to get creative of trying to mix an epoxy removal paste. There are a few how to guides on dumping chips using a Raspberry Pi on YouTube.

Reverse Engineering Tips
Before there were off the shelf tools, you had to research specific chips and then look at the software powering the device in question.

Look at the memory allocation/usage, then work from what is documented and then poke at the undocumented instructions/memory tables. For example on Intel Core Duo/Core 2 Duo vPro/Intel Management Engine was on its own independent SoC(XScale variant), it had a pass-thru for Ring 0(Direct) CPU control over the whole system may it be turned on or off… type of onboard ethernet doesn’t matter as vPro/Intel Management Engine runs independently from the CPU.

BIOS/CMOS chips can give clues about how an undocumented calls a CPU has/supports. vPro was the first mainstream CPU to support remote locking of a notebook computer for businesses, it was marketed with mostly Thinkpads, Elitebooks and Latitudes. There are other chips such as Elbrus which supports similar with workstations and also a bricking function to the CPU.

AMD Ryzen Security Chip has some interesting features which it taps into Ring 0 but there are things still worth poking at since it remains undocumented.

2 Likes

This caught my attention for cluster mounting for Raspberry Pi 4B, its possible other SBCs with similar mounting points should fit.

Neurolink Experimental Project

Been experimenting with collecting bioelectric-feedback from nerves, found it can be possible to make a potential bionic leg using bio-feedback. Bionic leg concept would make use of proximity sensors as a way to improve a persons’ stability/fall prevention with a haptic feedback.

Implant experiment at the moment is to place sensors at several nerve points. From a few experiments it could be very possible to type without a keyboard once you train an AI to those nerve stimulations.

2 Likes

Neurolink Experimental Project Update:
Decided it was a smart idea to move to a lighter weight brain bucket, the trade off lead to needing to design a mounting system for the modular hardware.

Current hardware track:
-Blood pressure, heart rate & oxygen sensor monitoring to detect and act as a warning system. At the moment its a work in progress, requires getting a baseline and stress points. Since this is geared for hiking/climbing, a personal goal is to optimize for mountain usage where its common to experience altitude sickness from the change in air pressure.
-Motion sensor monitoring to detect stability/fall alert.
-Experimental hands-free operation of the OS via muscle sensor.

So far I’ve learned locking a Jetson Nano into dual-core mode and relying upon CUDA trims power usage down by a great amount which also means being passive cooled by its own heatsink allows dropping the fan requirement. Hands-free operation of an OS at the moment is working on Ubuntu 20.10 Groovy Gorilla, something broke on 21.04.

1 Like

Normally I don’t like commenting on articles like this one, noise reduction/dampening still places more requirements upon reducing bubbles may it be from a prop/water jet and from one of those photos Ivan seems to have issues with keeping tiles on their subs…

[Russia’s Newest Submarines Are “On Par With Ours” According To Senior American General (thedrive.com)](Russia's Newest Submarines Are "On Par With Ours" According To Senior American General

Car Project 2.0
This video has caught my attention on designing a firewall for car project 2.0:
TITANIUM FIREWALL, BEAD ROLLING AND SHOP WALK THROUGH 3-26-21 - YouTube

I’m still leaning towards the thermal tile direction if an experimental designs show a promising 2000 F limit using simulations, only problem will be to actually make the thermal tile and put it through tests. From a safety point of view, its highly unlikely to have multiple LiPo and fuel cells catch fire at once… still worth over-engineering.

1 Like

Car Project 2.0

Firewall for the car project reached some interesting calculation issues of battery layout than originally expected, using tile would result in a battery capacity drop by 10-15% however hybrid power via fuel cell would allow recharge+running power. Shaving off some battery weight has benefits.

Auto System Hardware:
There is an old saying of have a few options, Jetson Xavier NX while pricey would give a boost in compute power and extra headroom is always good. Jetson Nano has an impressive stability once you tweak everything and haven’t had problems going fanless. RISC-V is tempting but the hardware choices has some limitations, may have to wait to see if India pushes out their RISC-V solutions and hope for a carrier board solution similar to a Jetson.

Having said that, building a car platform completely on Jetson is still risky as even with a fail-over setup the “other Jetson” is there but having about ~30-40sec reboot raises concerns on a trimmed down Jetson SD Image. There are those in robotics who’d say use the dual Jetsons feeding data into a board running a real-time OS with a 5s reboot, from a cost to performance the amount of telemetry would likely become a bottleneck.

1 Like

While I put the car project on hold, found an interesting GPIO quirks on a Pine Rock64 board. Under some usage conditions HDMI issues occur with some sensors such as a temp sensor to monitor system temp, however if you connect a fan the weird GPIO bug goes away. Concept idea of using a HDMI touchscreen with a Rock64 was the reasoning–felt Android would of been a downgrade.

As far as mini projects, porting a Rasp Pi hub to Rock64 lead to that interesting discovery and testing to see if the issue impacted Pi 4(didn’t)–originally using a HDMI monitor was done with a Pi3B. For the most part, trying to repurpose Pi3B ideas on Rock64 didn’t always work as well as I had hoped… some worked on Armbian or sometimes only on Ubuntu, dependencies weren’t always a factor.

It’ll be interesting how RISC-V boards are in terms of GPIO.

2 Likes

Saw this on Hack A Day, someone got a Pi 4 doing object detection and the trained model operated at 2.73 fps. It makes me wonder if the fps could see a boost using an accelerator stick but I think the creator was only doing this as a low-cost project. Awhile back I almost ordered an Intel compute stick.

2 Likes

Networking Without Using Ethernet, Use Processor RF Instead:

This project has been an experiment into how to compress data streams while retaining minimal processor load. A fairly long time back I found out a certain ARM chip ran encryption on a specific core, I carefully started going through whitepapers and studying the thermal profile with a FLIR camera.

What kind of wireless communication am I talking about you may ask?

Answer: All CPUs from different makers give off an electronic RF profile while in usage, the experiment I had was “what if you can do networking by intercepting the processor RF and figure out how to develop a networking codec” from that research.

From an experimental theory I figured if you hammer the encryption processor core you’re sending out a pulse of RF which in turn can become used as a handshake for the networking codec. Now I’m sure you’ll ask what is the point of this? This networking could be used in an environment where you don’t want to deal with using wifi, can’t use powerline networking or you had decided to hacksaw a Raspberry Pi’s ethernet+USB ports off to have a smaller board… on a Raspberry Pi you could run a communication solution by running a process across individual cores in a similar way(Raspberry Pi 4 doesn’t have onboard encryption which is why you’d have to run a process on a per-core basis)
As far as networking range it varies, in some tests you can pick up processor RF pulses up to 10 feet.

3 Likes

Improving Pine64’s Rock64/RockPro64 GPIO Performance
While researching Pine Rock64/RockPro64 GPIO performance/issues with some Pi hats, found this Python 3 package to enable Raspberry Pi GPIO for an improved compatibility & speed:

From personal experience it brings Pi hat stability if you’re accessing multiple pins, never used a DAC or anything power demanding on a Rock64 instead its been about trying to stay as low power as possible. I have my doubts of being able to run a GPIO based LTE modem if the GPIO slows down–have no plans to use such a modem.

2 Likes

Nvidia’s Jetson Nano CSI Latency Adjustment:
Even though I never really planned to use the camera interface on the Jetson Nano, it puzzled me as to why it had such latency and I found a response on the Jetson Nano forums. Maybe it’ll help someone either using the single CSI or the dual camera connector on the later Jetson Nano revision. I’m quoting it as a reference point as Nvidia Jetson topics in the past I tried to research mysteriously disappeared.

URL: CSI Camera Latency on Jetson Nano - Jetson Nano - NVIDIA Developer Forums

Blockquote
I tested the capture to display latency on Jetson nano with imx219, with below command
gst-launch-1.0 nvarguscamerasrc maxperf=true ! 'video/x-raw(memory:NVMM),width=1280, height=720, framerate=30/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960, height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e
The latency is reaching around 130ms~180ms, considering our application scenario, is there any option/possibility to reduce the latency?

Blockquote
I think this result was reasonable for us currently. Maybe you can try to modify the frame=120/1

The highest resolution camera I’ve used on a Jetson Nano is a Logitech Brio 4K, I quickly learned it was better to CUDA level crop the frame for best results in time lapse usage.
As far as using the Logitech Brio on other SBC, Raspberry Pi 4 can power it properly but the Rock64 can’t without using a powered USB 3.0 hub.

1 Like

Muscle sensors have their uses, here is an example of someone training an AI arm with machine learning of muscle movements:

On-going project “Input”:
The concept of using muscle sensor for a keyboardless input was less than perfect, the Eye-Aye project of tracking eye blinking morse code was more reliable for input/controlling a wearable computer but a mini touchscreen idea came up. “Project Input 3” I thought of reviving the idea of Palm’s Graffiti, if anyone has owned a PalmOS device it was really easy to quickly write down memos/notes, its been something I’ve missed-I’ve had some trial and error of trying to re-create it using a touchscreen on Linux in hopes of pulling it off with a wrist worn 4" screen.

1 Like

Wearable Computer 2.0
During my undergrad time I experimented with a wearable PC using surplus parts, it was the early 2000s and I was still doing web/server work as a side project. A client who was clearing out some old microservers gave me some stuff, I had zero need for Pentium 4s which used expensive Rambus yet some friends were into that hardware, so I dug through a pile of older items and came across Cyrix MediaGX(later rebranded by AMD as Geode) which was the first SoC with integrated audio & IGP back in the late 90s to early 2000s. Original wearable PC was built using that Cyrix MediaGX mainly for laughs, if I recall it was 300Mhz but I had to underclock it to run it off a hacked together 6-cell Lithium battery pack. As with all good things someone broke into a friends apartment and stole it, whoever took it must of thought it was an expensive notebook turned wearable but instead it was equipped with a wimpy 640x400 screen poached from a Nokia–yes Nokia N-series screens were popular for this.
A bit over 16 years later this is an attempt of a 2.0 version, it’ll likely get named Spudnik as underclocking will be necessary to stay within a low power footprint and performance will be potato quality. Pine64’s Rock64 can be underclocked, the goal is to cap the processor to 1Ghz using “cpufrequtils” then try to iron out what works/doesn’t work on Ubuntu/Debian. Originally I was going to reuse a Raspberry Pi 3B, however I hit a few issues with Ubuntu related to Broadcom’s VideoCore IV–at least on the Rock64 there is hardware acceleration where the Pi lacks it.

Planned Hardware Usage:
-Pine64 Rock64 1GB: Purchased cheaply which helps keep Spudnik 2 within maximum potato budget of $20, could of used a Pi4 but the extra power usage is hard to justify and its fun to try to build something which only has 1GB of RAM.
-16x2 character GPIO Display: It might be handy to display cpufrequtils processor clock status.
-4" screen via HDMI: Still trying to source a usable screen however with a pandemic finding a flex cable to HDMI that works with a touchscreen cable breakout isn’t so easy.
-Design a screen enclosure: Again this is a bit delayed due to the screen choice.
-Graffiti-like input: Still a messy work in progress, what works on an 11" screen doesn’t always mean it’ll scale to a smaller touchscreen.
-Extra thermal monitor sensor: I’m leaning towards this for extra thermal data monitoring.
-Experimental OS input/control using Eye-Aye via Logitech C920.

As far as anyone asking why not use my spare Jetson Nano, Nvidia is leaving it stuck at Ubuntu 18.04 LTS and there are certain dependencies that have fixes or performance tweaks found on later Ubuntu–I’ve broken Nvidia’s build of Ubuntu a few times trying to do some non-supported dependencies updates. For the most part Pine64’s Rock64 was the only option.

2 Likes

Rock64 Armbian Progress: Wearable Computer 2.0
Been running a few tests. On battery power without any underclocking the usage was on par with a Pi 3B/3B+ however the temp sensor DHT-11 I was using on a Pi had issues on accuracy when tested on the Rock64 so it had to be replaced.
Stuff I found broken:
-Firefox hard crashes on Armbian Focal on a few sites including YouTube, haven’t tested the Armbian Debian build. I’d note Firefox has issues on Ubuntu on Raspberry Pi while Chromium rarely has that issue, if the Pi has Chromium as standard on Raspberry PiOS there is a reason for it. Browser choice is still important for mobility if using an LTE hat on the Rock64.
-USB Bluetooth module couldn’t get it to work, may need to try another–I ruled out the power factor when it was plugged into a powered hub.

Work In-Progress:
-Powered USB 3.0 Hub- Rock64 seems to give preferred power to the USB 3.0 port, two bus powered USB 2.0 devices may randomly not work. Powering a USB 3.0 hub via battery pack seems to work well enough as a workaround.
-16x2 character GPIO Display: Since the underclocking wasn’t attempted yet, power usage is close to a Pi 3B+ I’ll have to figure out another usage for the display.

Raspberry Pi I2C Hats That Work On Jetson Nano
While researching Pi hats that work on other Pi compatible GPIO, stumbled upon someone who got Seeed Studio Grove 16-channel PWM Driver (PCA9685) controller which can can drive up to 16 servos with an external power supply of 5V to work with the Jetson Nano. Have to admit there are things Nvida has done right with the Nano and full Pi GPIO compatibility from the first revision A01 is something other Pi-like devices leave a bit to desire.
Source URL: RAREblog: Sambot - MeArm, servos, the Babelboard and Jetson Nano

-MakerFocus PWM Servo Motor Driver IIC Module 16 Channel PWM Outputs 12 Bit Resolution I2C Compatible has several usage reports by Jetson Nano owners which is worth noting.

Misc Pi Projects
-Celestial Navigation Pi 3B Project: An experimental usage of a time lapse camera paired up with a ML(machine learning), it had its pros/cons–when done correctly its more accurate than GPS. Experimented with this on a Jetson too. I’d recommend using the IMX-219 if anyone attempts this.
-Servo Hat Pi 3 Project: Was more of an experiment(s) with servos than actual usage.

On a related note, considered using an old Pi 3B+ for this “Global Meteor Network” but I don’t have a spare IMX-219. The concept of this is interesting from a science standpoint:
https://globalmeteornetwork.org/wiki/index.php?title=Build_A_Camera

1 Like

Rock64 Progress:
Ran several tests with Debian Bullseye, Firefox is a bit more responsive esp with multi-tabs and a recent update seems to have made it more stable with YouTube. An interesting observation it idles at 400Mhz and under full load 1.3Ghz with a max temp of 60C with the fan I put inside of the case. Had low expectations as I was thinking it would reach 65C and throttle like a MediaTek CPU, instead the RockChip CPU would rotate between core 1 & 3 and core 2 & 4.

Found this video worth watching if you’re interested in the evolution of battery technology & manufacturing at Panasonic.

2 Likes

Nvidia’s Jetson AGX Orin has impressive specs:
12-core Arm Cortex-A78AE v8.2 64-bit processor with 3MB L2 + 6MB L3 cache
NVIDIA Ampere architecture with 2048 NVIDIA CUDA cores and 64 Tensor Cores @ 1 GHz
AI Performance – 200 TOPS (INT8) @ 50W
Video Encode – 2x 4K60 | 4x 4K30 | 8x 1080p60 | 16x 1080p30 (H.265)
Video Decode – 1x 8K30 | 3x 4K60 | 6x 4K30 | 12x 1080p60| 24x 1080p30 (H.265)
System Memory – 32GB 256-bit LPDDR5 @ 204.8 GB/s
Power Modes – 15W, 30W, or 50W

News link: NVIDIA Jetson AGX Orin 12-core Cortex-A78E module delivers up to 200 TOPS - CNX Software

Based on past pricing, I’d expect Jetson AGX Orin will be priced within the original AGX Xavier($1200). Considering the chip shortage going on, almost all Jetson developer kits have been sold out for awhile.

2 Likes