#general-chat
1 messages ยท Page 52 of 1
Since like the 1910s.
in fiarness they have gone beyond bike use as well. but even still, they are tested as a total package for their purpose. Many e bikes are just motors slapped on a cheap bike. Not all, and they are getting better, but many of the low cost ones are really bad.
So these ones shimanos are failing on
have shimanos mid drive motor, which requires a purpose built frame
And usually has a frame integrated battery too
But doesnt mean they put decent brakes or anything on em
the motors and such are cheap. my full conversion was about ยฃ500
of course shimanos arent made in some chinese factory etc so probably a bit more than that. But basically by the time you buy one of their e-step equipped bikes, you're on for a 2-3k price tag, where you'd have hoped their gearbox holds up
the alfine 8 IGH's do handle mid drive motor abuse, but the guts of an estep arent the guts of an alfine
i only know about the ep8 drive motor. the higher end one for mountain bikes.
mostly i know it is expensive
ha
All of their motors are shared architecture
and theyre fine. But overpriced
I would like to ride a bike with pinions new mid drive setup, but like the shimano motor wont be available on the aftermarket and likely wont be cheap either
this is a real problem. electronics stuff is commodity, and cheap. But bike stuff goes through a distribution chain with comically large markups. so you get absurd prices
the new pinion motor in a bike, cropped heavily
12 speed gearbox + motor in 1 package
yeah. but a lot of lost efficience. whihc matters less with an ebike, but still there
i like the idea though
honda has one thats basically a chain derailleur device crammed into a box. bridges the gap
but its never been for sale
as it is right now, theres a few conversion ebike motors on the aftermarket that hang off the bottom bracket like the BBSHD and the TSDZ2, those are fine, the latter is what I am using. Bafang sell the matching mount for their frame integrated motors so if you are into fabbing your own frame or willing to cut out the bottom bracket of an existing frame and weld their new bracket in you can do so
But the shimano, Bosch, yamaha and pinions (also applicable to their old gearbox). OEM only
Pinion will sell you spares for their existing gearbox. They wont sell you mounting brackets or complete units
yeah they need to be part of the frame. but they wont standardise on a single mouinting design
bothersome
Or ya know, make spares available at all
Standardisation would be great
But also a good first start would be hey, let me buy the motor
Unfortunately part of the reason they don't is firmware tie in between so many elements as well, whereas the bafang, Tongsheng and CYC conversions (and others) are all hook up a battery, short an activation wire, go
24V would lose efficiency compared to what? Also, I don't much care about efficiency.
Shimano Motor? Nah, must validate it's battery, and it is DRMed, swap the battery with another matching Shimano battery and it rejects it: contact your dealer
Bosch, their system is canbus based which seems great for piggybacking aftermarket electronics onto, but it does actively listen to messages with unknown IDs and shuts down
I have no patience with that kind of nonsense
Me neither
And funnily enough, both nuvinci and rohloff electronic shifting versions of their gearhubs, for matching Bosch firmwares only
I'm giving my battery vendor the side eye because they want to reflash the charger to match the battery
shimano di2 is a can bus as well. which is fine, but it needs to be open for talking to accessories
mine may adopt a can bus eventually too, but it has to be open
One day, and it is far far in future as I don't have the requisite workshop space, tools or knowledge to use them I'd quite like to make my own electric mini-velo frame. Right now bafangs motor at least isn't DRM nonsense and they'll sell you the frame integral motors standalone, I hope by then, others join the fold
most of shimanos stuff is in the name of safety a* covering. which i accept to a degree
All it needs are a few UART frames of config data and an enable line shorting to batt+ and off it goes. Those UART frames are documented and basically just set the assist level and info about wheel size for the speed sensor etc.
Likewise it sends frames back with current speed and some other info
My Tongsheng is the same, and has also had an open source firmware developed for it too
im not at that part yet, talking to other devices. right now 2 remote buttons, and the "dumb" battery.
But you're also feather based, so nothing firmware modding in future couldn't accomplish
see, my friend saw the feather in my design and immediately said "i can make you one with those features way smaller" and i was like, "nope, then it is custom and id have to make and supply them"
Eh, there's an argument both ways to that one I feel
Besides
There's always v2 or v3 etc
I see no problem with a feather
yeah, after the big black box version just works, we can go about making a more refined, light weight version
feather has everything, and many versions. thats one reason i liek it
get the feather sense, and suddenly you have 1000 more features
Yyyyyyupp
most get too slow and weak
Might be worth a test though
but, we'll see. if standardised on this $5 amazon servo for now.
Like, plan around having it, but also test without it
Leaves no worst case scenario, either the prototype ends up with some empty space where the non needed boost converter was, or you fit the booster you planned on. Win win really
yeah
almost ready, just needs a few mounting holes and the top and bottom covers. the bottom cover holds the feather itself.
setting buttons will be in the upper cover.
can a device act as an I2C slave and master at the same time
because for my cluster of boards i want to have the master control the slaves
but i want the slaves to have a direct line to the master that will print out a serial output of whatever is sent down it
it will be easier to explain as a picture
wait idk how to explain
just, can a master be a slave at the same time
over i2c
im still trying to figure this out, can someone link me to some good docs for I2C
please
we use the terms controller and target.
alright
I tend to go with "host" and "target" but similar thinking
fair
so how can i connect multiple ESP32s in a host-target configuration
i know how to read as the host
and find addresses
but how do i setup the target
the target would be another esp32
The targets treat the clock signal as an input, and initially receive data on the data lead, checking to see if they're being addressed, and whether the command is read or write (one of the address bits)
SPI is generally faster, especially if you can use hardware SPI
im doing something kinda unconventional where im trying to make an array of esp32s
The signalling is simpler too, the signals don't change direction and you don't have to do any decoding to determine if you're the target. However, you do need to be careful when driving the output lead
what realistically i need is to be able to check which worker nodes are doing a task and which ones are free
i can write the software to handle that
im just not too familiar with the communication protocols
okay so i understand how to setup a target node
but what i need to figure out is how to dynamically assign target addresses
so i dont need to recompile the code or add any preprocessor things for each target i add to the array
With SPI, there's no need. With I2C, you'd need a way to generate an address. Since an ESP32 supports TCP, it should have a hardware MAC address, you could steal a few bits from that and use them as your I2C address. Or find some other thing you can read to get different numbers for each node.
so quick question
with I2C can i have multiple devices connected to the same pin
Right. SPI is also a bus, which can support multiple devices sharing the clock and data leads.
However, SPI still needs a way to specify which device you're talking to, this is done with a separate signal to each target, so if you have 4 targets, you'll need 4 extra GPIO signals, one for each target, to select them.
ah
This is one of the reasons some people like I2C. If you want to talk to 4 devices, you need 2 GPIOs. With SPI, to talk to 4 devices, you need 7 GPIOs (clock, data in, data out, and 4 select lines)
so off the top of your head is there any way i can dynamically assign an address
Like I said, just steal some bits from the MAC address.
oh i didn't see that
that's genius
i dont need to start a wifi ap or join a network to do that, do i?
I'm guessing there's some way to read the MAC address without having to do all that.
there should be, it should be tied to the network interface
Probably not, the MAC (Media Access Control) address is an inherent property of the network adapter
(ninja'd by madbodger above ๐ )
if i took some bytes from the mac address then there would be a chance that 2 devices have the same address though
You could do the CRC of the mac address
CRC?
Another approach (with chips that have a few bytes of EEPROM) is to put the device-specific stuff in the EEPROM and then the same firmware can run on all of them. You can do something similar with flash, as long as your firmware loading procedure doesn't overwrite that part.
Since you effectively only have 7 bits for an I2C address, collision is going to be a possibility, yes.
cant you do 10 bits now
i swear i read that somewhere
I don't know, I haven't done I2C lately
fair
so if i want to send a string over I2C how would i do that
would i do a C string
or can i do a normal string
There is no such thing as a normal string
yk what i mean
Yes, there's an extended addressing method, though I'd say most sensor chips, etc. don't bother supporting it.
it would be easier to use a C string then
You don't necessarily have to encode your string specially, but you'll have to design your I2C protocol to support sending data like that.
well i'll make an enum class
which holds values for each data type
so i can tell the receive end which data type is being received
That's a lot easier with the usual sort of register-based protocols that are popular with I2C
i'll hardcode the I2C address for now, i'll change it later
wdym
I don't know if a CRC would change the odds of a collision. The lower 3 bytes of the MAC address are more or less random to start with, so I wouldn't expect hashing them to change the entropy distribution appreciably.
I was thinking about hashing the entire mac
I still don't think that would help.
A common sort of I2C protocol basically tells the target "Address X, data Y".
That model works quite well with emum type data
Or more accurately, "Target X, address Y, data Z"
The other direction being "Target X, read address Y"
You don't have to do it that way, but it's common and has good library support
what if i made them check if they have an address
if they dont have an address they'll look for a network
being hosted by the master node
which will then assign them an address that is free
There are a lot of ways to slice it, so ultimately each device ends up with a unique address.
yeah but im thinking that way i'd be able to view all the nodes connected
it would make troubleshooting easier
then i'd also be able to view all the progress of the array without actually having to buy a screen for it
The tricky part is assigning them addresses before they have addresses
yes i know
so what im thinking
is the workers in the setup function
log into the masters AP
check an IP address
with a curl request
or whatever
over some json api i'll write
which the master will output an address
If you're going to fire up WiFi anyway, why not just stick with that?
would it be faster?
Faster than what?
I2C
Probably. I2C goes maybe 100kbps, WiFi can often manage 10Mbps
i think these network interfaces do 150mbps
So one bit every 8 seconds?
"m" is milli, "M" is mega ๐
NASA does it with the Voyager spacecraft. I forgot how many seconds it takes to send 1 bit, but it's more than 1.
I did not expect ESP32 boards to manage anything like that kind of WiFi bandwidth. I'm not saying they can't, just that seems iffy to me.
Similarly "b" is bits, and "B" is bytes
Well, if so, that's more than 1000x as fast as I2C
Then you get all the advantages of TCP, you can use DHCP to hand out IP addresses, send strings without even more protocol design, etc.
which also means i can manage up to like
idfk
urm
lemme think
depending on the subnet
a lot of devices
Yeah, you could address 16M devices even with just IPv4
like 4.6 billion 
Assuming an 8 bit network mask and 24 bit subnet mask
yes
so alot
now i just need to figure out
how to make it run methods and functions
on command
because if i was using python i could use the magical exec function but i cannot
because i am not using python
Back in the day, I did that with RPC (Remote Procedure Call), using XDR (eXternal Data Representation) to encode the arguments. But that's old school. There may well be better ways today.
well first im going to have to design a web interface i think
I wonder if Firmata/Telemetrix work over TCP. Then again, if you're talking about cURL, you can always just use REST.
well you know how kubernetes works
right
im basically trying to do that
but on esp32s
because why not

That seems like overkill to me, but it's a valid approach (if complicated)
i know its complicated
but the way i learn
is by doing really confusing and complicated stuff
easy stuff is not interesting
i like a good head scratcher
at the start of this i didn't even know how to wire up a button
now im wiring multiple micro controllers together across multiple bread boards coming from the same power line using the VCC power from one board
connected up to the same reset button
so i can restart all the boards at once
so like its pretty interesting
and if i can manage to get it working across multiple esp32s then im going to see if i can throw in a raspberry pi pico w
to see if i can do it across platforms
ambitious but i think its a cool idea
probably been done before but still
It's good for the brain
indeed
you dont happen to know how to kick an IP off the access point by any chance do you
i mean kick a device off by ip
I'm not even sure what you're asking
how to disconnect a device from the AP
like if i go onto the web panel i wanna see all the devices and then disconnect them by clicking a button
more of a creature comfort than a requirement but its nice to have
Its possible for sure
Since it wont be connected to the actual internet you can always just "blacklist" that ip and ignore requests from it
then there is no point
i may aswell just send the device a request to disconnect
then i'll handle it
Yeah I'm just saying idk how easy it would be to kick a device off of an esp32 network
fair enough
i mean its gunna be a closed network that just controls all the devices
so i can just add a request that will be sent to the connected devices
which will tell them to disconnect
then they will disconnect
Ah ok
yes
the DHCP details of the ESP32 AP may be buried, not exposed, but if a device connects to the AP and does some tcp or udp operation, then a server (or client) on the AP would know its IP address at leastโฆ but as you said, it may be easiest if the station disconnects itself rather than try to have the AP boot it off
yeah
I was gunna do that
I got Shenzhen I/O on the steam summer sale. So far, it seems fun
(Yeah, I know, I'm a few years too late, but, oh well)
lower body done. just needs upper part (will be stainless steel) and i can send it off.
fyi, the bitrate for Voyager 1 is 160 bps (bits per second)
how many teraflops in the cpu?
im always amazed at how little with do with all this new computing power. New CNC software wants 4gb ram and intel core i3 minimum. My only cnc had an intel 8088 and more advanced features. Just no fluffy 3d UI
Oh, that's way faster than I thought!
there's more than one processor (and two of each!) on board and they're pretty beefy for the tech/time
lol - the command/control computers have the Guinness record for longest continual operation of a computer
the wikipedia article is pretty thorough
I have not clicked through to the article, but the title reminded me of this
hey guys i have problem with circuitpyrhon firware 8.x.x
i'm using espc3-32s 2mb and when i install the 8.xx version it get stuck in bootload
but the 7.3.3 version works fine
You may want to post this in #help-with-circuitpython for more success in finding help.
thanks
Shesh somehow always during interviews they cite web development frameworks and yadda yadda, although in my cv, is just noted html/css & cms
what JavaScript libraries did they expect you to know
Angular, bootstrap and who knows
Today they were explaining to me how much different is their industries about industrial Axis driven machines vs web dev
Although my resume in that aspect cites just html, css, a cms, and some web scraper done in python
Somehow they expect that I also know the yard of stuff
anyone know if there is any newer technology than remote procedure call
before i spend hours or days implementing it then i find out that there is a better and more effective protocol
I mean, a simple RESTful system would probably be enough
There are even production job submission systems that use REST
its for a cluster of boards
so i dont really think i'd be able to swing that easily enough
it would become cumbersome
grpc is always an option https://github.com/hyperium/tonic
What do you want to do? Communicate between nodes?
yes
Why not a simple FIFO?
i'll read into it
https://grpc.io/ a better link
Think of it like a queue for data. The piece of data that goes in, also goes out
RPC is a pretty broad term and there's a BUNCH of libraries protocols (gRPC is pretty heavy for micros, though)
all my micro processors are duel core so i was thinking of running all the communication protocols on one core
and everything else on the other
See for example the way python handles queues for multiprocessing
https://superfastpython.com/multiprocessing-queue-in-python/
...there's no reason you can't generalize this to any language
Yeah I wouldn't use it for a microcontroller. If you're looking for something along those lines I'd do something much smaller in size.
is pretty heavy for micros, though
and other people just run python or JavaScript on MCUs ๐
gRPC is still pretty heavy due to the protobuf serialization requirements - one of the things you could do is set up a dumb little MQTT broker and use MQTT topics to send/receive
Python examples are nice because they are so close to pseudocode it's pretty easy to see what's going on without thinking too much about language-specific features
There isn't something preventing you from shipping random assembly code around and using assembly to jump to it ๐
Other than common sense of course
Well, that's basically what RPC is https://people.cs.rutgers.edu/~pxk/rutgers/notes/content/ra-sunrpc.pdf
o_O
but good point
it would be easier if i was using raspberry pi picos
with their 8 PIO cores
that run ASM
I mean, yeah, I should probably have said machine code, which is the proper term of art for what comes out of the business end of an assembler, but you get my point
I was just thinking something similar. On one device use adressof(function), cast that to int, send the int over network, cast it back to a pointer, just execute it ๐. The heat might have hurt my brain
well the way i am structuring it
is there is master nodes
and slave nodes
the master node will host an access point
I understand that the documentation is a bit confusing, but could you please drop the master/slave terminology?
during setup it will do a preprocessor IF statement to check if its a host or target, if its the target then it will search and connect to an AP with a set ssid and password
host and target
sure
thanks!
so if its the host then it will host the AP if its a target it will connect
that gives me about 72 - 150 Mbps connectivity between the devices
๐ซ
i just need a good way to remotely execute compiled code
There are lots of ways. For low level languages like C, the usual approach is just to use indices into an array of function pointers. Then when you get a call to do something, just functable[index](arguments);
This is usually the thing that people want to avoid.
There's a disconnect there: Bon isn't trying to execute arbitrary code, just execute functions from code on a target on demand
how am i supposed to do that without remotely executing code
yes
sort of how your CPU tells your GPU to render graphics
but differently
Then the host says "execute function 1", the target converts 1 into an integer, and uses that as an index into a table of function pointers to run.
so like an enum class
Jump table, but yeah
You can wrap it as an enum if you like, under the hood it's all ints anyway.
That, my friend, is the can of worms. You can get fancy and use a union, or simple and just have a fixed sized array you always send.
Or get really fancy and use XDR/RPC which wraps all of this for you.
yeah that's what i was going to do
The original code is here if you want to look at it https://codebrowser.dev/glibc/glibc/sunrpc/
that is a lot
of code

this will be a great read
wait, what if i with the jump table
Yes, I think it's overkill for your use case. I'm guessing your arguments will be something simpler like zero to four integers, zero or one floating point values, and zero or one string.
i make a class
that pairs with each one
so say add is paired with a class that requires 2 numbers
so then over the network it will know what it needs
so then i'd be able to pass it like
More commonly, you'd create an interface that describes a superset of all your functions and arguments, then create a class for each function that inherits from that interface. Then just have a table of class instances you index into to run the function.
{
"func": 1,
"args": [1, 1]
}```
that would be sent by the host
then on the target
it would look up 1 in the table
find what arguments it needs
checks the type of what it received
if it matches then go through with the call if not then flag an error and ignore it
so it would be like idk
On the target, you'd have something like ```c
const static int *(*functable(int, int))[] = {
getposition,
putsteering,
gettemperature,
getpressure,
getbatteryvoltage
};
In C, I usually make it more readable by (ab)using typedef, but C++ and typedef sometimes do not get along well.
Is this a remote sensing network? If that's the case I would honestly recommend trying to build something that just responds to commands over HTTP.
I think they want to build a proto-distributed application
its more like kubernetes for micro controllers
amitious i know
but im bored
and it seems interesting
I mean, as far as I'm concerned, it's a good motivation
its a good way to learn
Yes, I had suggested REST earlier (which leverages the existing HTTP protocol for command and control, giving the ability to test with web browsers and cURL), but that idea didn't seem to get any traction.
i like REST - for web apis, but for "internal stuff" i like messaging systems
how do you find out what type something is
unless RPC cannot be avoided
Usually you hand off a token (like an enum) specifying what type a given piece of data is, OR just have each function understand what data to expect.
Yeah, you typically know this beforehand. Otherwise, you will have to use a serialization system
(Think JSON and friends)
Which takes us back to REST
nice!
Some systems have one token for the data type, a fixed size int for the data size, followed by the data itself (typically padded to word boundaries). However at that point, you've implemented most of XDR.
Heh, yeah, XDR is basically a lightweight version of what protobuf does
Of course, all of these have quite the overhead compared to "dumb" message passing
Hence the popular approach of having each function know what to expect as arguments.
afaik auto just means that the compiler will choose the data type for you. But it's still just one data type which is decided at compilation. So you can't just mix anything in there. Personally, I avoid auto
(In any case, if you are doing parallelization, you are hopefully working on some embarrassingly parallel problem, or an embarrassingly parallel part of a problem, which reduces the amount of communication you'll need to do)
alright
Can't make an array of auto
Here's the approach I would take:
- Forget about the ESP boards for the moment, those can come later.
- First, implement a simple server that accepts and responds to commands. You may want to consider implementing a message queue of some kind so that you can send multiple commands and store responses until requested.
- Get multiple instances of the server application running on your machine over different TCP ports.
- Implement a "dispatcher" that manages a connection to each server instance, sends commands, and requests responses.
- At this point, everything should be running locally on your machine. If implemented properly, the server and dispatcher logic should be relatively platform independent.
- Port the server code to the ESP32, implementing additional functionality as necessary.
- At this point, you will have a PC managing a small "cluster" of ESP32 boards. From there, you should be able to port the dispatcher over to an ESP32 as well.
- Implement logic on the dispatcher that accepts remote commands from a computer.
When I build such systems (I've done it that way too), I'll often write faรงades that implement an interface but don't really do anything (but maybe emit some helpful debug info like "I received request 4 with 8 bytes of data"). Then I get the protocol working to talk to them. Once that's in place, I flesh out the modules with functionality.
well to begin with i was mid way through writing through a data transfer protocol
so im already much further ahead
No. Auto is just syntactic sugar meant to remove type declarations that are redundant. It's useful when the type is apparent on the right hand side of the declaration.
this actually works ๐ญ
Cursed computing!
whatever program you write, just make sure to not accidentally write this: This is only shared as a warning! ๐ฑ
lol this is fun
268448319 is the adress of blinkenFast
this reads like a carnival ride
when I copy paste 268448323 (so the previous + 4) into the serial console it also starts blinking fast but it never stops
It's probably pulling an amagalm of instructions from blinkenFast + something else in that neighborhood of memory
Like an intentional and completely cursed version of Return-Oriented Programming
seriously though, I think you should be able to do like "apps" or something like this ๐ค.
I mean the LittleFS is just a part of the same flash that the pico executes from
You would just have to find the address of the file, and then execute it
And the user could upload apps without "flashing". The pico could even download them via wifi
it sounds super cursed though
You'd likely need to change some low level memory segmentation registers.
is there something preventing the pico from executing from certain flash regions? ๐ค
Dunno, does it have an MMU?
and if an "app" needs to call something like a adafruit_gfx function or even a function from the arduino-core how would that app know the adress of that function. Sounds like it requires advanced compiler configuration or something
this is all just stupid ideas ๐
I would have to deep dive into the Cortex-M0+ architecture. But at the very least you'd have to do some assembly trickery in order to make it happen.
WE ARE LIVE! ASK AN ENGINEER! https://youtu.be/EOzkO33PnrI
ASK AN ENGINEER 7/12/2023 LIVE!
Visit the Adafruit shop online - http://www.adafruit.com
LIVE CHAT IS HERE! http://adafru.it/discord
Adafruit on Instagram: https://www.instagram.com/adafruit
Subscribe to Adafruit on YouTube: http://adafru.it/subscribe
New tutorials on the Adafruit Learning System: h...
i just need to kinda vent about something real quick and i figure this is the only discord that will understand
WHAT IS HAPPENING TO MODERN CONSOLE HDMI PORTS
every repair video i see online is of an hdmi port especially on the ps5
hdmi has been around for years why is everyone all of a sudden dropping crap and yanking their consoles by the hdmi port
Huh, most of the PS5 repair videos I've seen are how to fix overheating
Although personally, I think the playstations have been hampered ever since they switched to a less efficient CPU
the entire design is an engineering nightmare
the fan being easy to remove is awesome but the air isnt pushed out through the top, rather through the back and sides. The intake is also a thin strip beteween hard plastic and sheet metal
it just makes me think why
also why no dust filter too. These things are constantly clogged with dust
And their thermal performance is marginal to start with, so just a little dust causes them to overheat. Then the liquid metal oxidizes and loses its heat conductivity, which makes things hotter, which leads to more oxidation. This one is in my basement right now, trying to fix thermal issues.
And security Torx-8? Bleah.
A little advice don't short 3v3 to 5v on the pi
Welp, I guess the Playstation 5 is just ๐ฅ lit ๐ฅ
i'll bet that left a mark...
it doesn't just kills it to gnd of the chip
I only know "liquid metal thermal compound" from it being mentioned in sponsored segments in youtube videos. I had no idea that was its failure mode.
BTW, out of curiosity, which PS model is this?
(I'm not really familiar with anything that came out after the PS3 :P)
It is so weird that they uses liquid metal for such high volume products.
Worse, in a product designed to be used upright where the metal wants to flow downwards
A few have had the seal degrade and the metal leak across the board, pretty fatal
Similar happened when Asus started doing it in laptops
Of course that's a concern when folk DIY in their standard desktop systems too, but it is an added failure mode that I don't think is worth it in a consumer product
Liquid metal at the wattages and high efficiency of PS5 silicon just isn't that big a gain over a good quality paste
The one I'm working on is the 1200 series
They're pushing the architecture hard, and liquid metal does give a solid metal-to-metal junction between CPU and liquid metal and liquid metal and heatsink. I think they went that way because the cooling design is near its margins to start with. I would have gone with a better thermal design and more conventional implementation.
However, they're stuck with some inconvenient realities, which is what pushed them to this architecture in the first place.
yeah, I remember when they switched to the cell processor and nobody knew what to do with the SPEs
- it at least used to be the case that most games were ported from wintel
Exactly. The game developers didn't like the effort required to program the Cell processor, so Sony downgraded back to X86
I can't find much
Does anyone know a voip manager named as "treccix" or similar that runs on raspberries?
Asterisk?
No they also mentioned something like treksix, treccix or something, likely he misspelled or got confused idk
Hey @ebon dew ok thanks for letting me know.
Dunno if that's the same but I may found what he meant "3cx"
3 in my lang is spelled as "three"
Thanks anyway
Is there a current guide on how to submit a Learn guide for the website? I've been looking a fair bit recently, and while I did find the style guidelines document and instructions for contributing code (not text), I haven't been able to find where to actually submit a Learn article. I do see the new Notes feature, but I don't think that's the path towards contributing an article.
Didn't help that they only had 1 main CPU core at a time when video games where finally starting to multithread
Unfortunately for them, bit of a difference between hey we're gonna start multithreading our games and we're gonna program our game around a single core non hyperthreaded chip and a lot of dedicated coprocessors
Today, makes a lot of sense they ditched power architecture
I feel they really leaned into the idea/hope that the SPEs would serve a similar purpose
Which.... tbf does not really work in practice
Yeah it was too custom
And then we've ended up with the Xbox one and PS4 being very very similar, and again Ps5 and Series X
Almost boringly similar
I'd love to see a new mainstream machine with a Weird[tm] architecture come out these days though
(sorry forgot to complete a word :P)
Closest we have is the switch and let's face it, wickedly cool device, but not competing at that level
Isn't the switch just a nvidia tegra with some custom toppings?
Not even particularly custom toppings
Pretty much a binning of the quad core X1 variants used on the Jetson nano boards
And then later on, a die shrink of same chip
I wish I had gotten a jetson when they were more... affordable
I have one and am not overly enthused by it
Did they scale the process?
I forget which process nodes they jumped between
But later SoC is smaller process yes, and so the later production of standard switches, all lites and all OLEDs have better battery life than some of the earlier ones did
And less problems with a few titles thermal throttling - rare but could happen, particularly when docked
I mean, "dark silicon" is certainly not a problem exclusive to the switch
Recent intel cores are notoriously hard to cool
My experience with the Jetson nano though, useful for some stuff, nothing I do. otherwise really highlights the issues with ARM SBCs for hobbyists which aren't a pi
did you try any inference on it?
I have no interest in doing so
I legit bought it earlier on as a more powerful pi, and it's bad at that
Ah, OK. Because AFAIK the main target market segment was performing ML on an edge node
Yup, and as a result. CUDA and opengl is like the only 2 things working out of box
Desktop is software composited. Media decoding goes through Nvidia specific libs. Browsers are pure software rendered, including video playback (related to media decoding)
End result, despite being a more powerful CPU than a pi 3 (though weaker than a 4) and having all that GPU along for the ride? The 3 legit feels snappier and does a better job of playing back media in a browser
Somehow, I do not think nvidia was even thinking about that while designing this product ;P
What was neat. They did have a python lib compatible with RPi.GPIO, so compatible that in the python libs folder is an RPi.GPIO that is just 1 line, import [Nvidia lib] as RPi.GPIO
So some of my python code for pi's just worked
nice!
I thought they "Optimized" the cooler design so the weight is lighter for latter revision? Doesn't that means the heatsink design is over spec at the beginning?
Yes, the weight is lighter, but the heatsink design still seems marginal at the beginning.
Alternatively, perhaps the intended usage is for casual gamers that just play for an hour or so at a time. But I normally design heat dissipation for continuous use in a warm location.
if it's heating up close to whatever the junction temperature is, how would 1 hour of usage per session differ from continuous use?
(I am genuinely curious)
Junction temperature is always going to be considerably higher.
The whole assembly has a fair amount of thermal mass, so it slowly loses ability to remove heat from the chip as it heats up. Some cheap UPS units take this to an extreme by simply having a chunk of metal as the "heatsink". Those UPS units are designed to operate for only 10-15 minutes, and people who've added larger batteries to them in the hope of longer runtime have been disappointed as the whole thing overheats and shuts down.
sorry, missed a word. *(maximum permissible) junction temperature. I blame the terminology used in intel ark, where T_{JUNCTION} = T_{JUNCTION, max}
Yeah that's all deliberate marketing obfuscation.
Numbers given by marketing have very little to do with reality.
That's probably right. On the other hand, my old laptop would shut down once the CPU reported the temperature on the spec
That would have been managed by the firmware.
Also, I used to work at Intel. I know for a fact that the marketing is detached from reality. Like, they do get some numbers from validation, but they almost always use them out of context or apply them in situations where they are irrelevant. They also heavily cherry pick their data.
Short version: I will never trust vendor-supplied benchmarks.
I don't think that is the case for PS5, given that it is still ~100W to 200W chipset, you might need a solid chunk of copper to do that
I trust Sony do their engineering work for the thermal solution but the decision to use liquid metal while "optimizing" the heatsink later doesn't make much sense to me.
Yeah operating system is not fast enough to shutdown the CPU to prevent thermal overload, it is done through internal firmware, and in extreme cases: a simple comparator and GPIO output for that.
Oh yeah, obviously it isn't the OS. I just wasn't sure whether it was done at the mobo/UEFI level or at the CPU control unit level
Does the PS5 have a discrete gpu, or is it part of the SoC?
Part of the SoC
Huh..... I'd have expected them to use a discrete one, given all the hype about the unit's "graphical power" (w/e that means, I'm not a gamer, I wouldn't know good graphics if it hit me in the face lol)
(my b, I deleted a post taht was in error)
Global illumination is the bar for good graphics now. More GI = More graphics
Global illumination? Like SGI style?
most of that SoC is GPU, its more like a GPU with integrated zen 2 CPU cores XD
but GPU takes up space, and its a console, so not actually that surprising. Its a similar case in many SoCs now
Yeah, most modern games basically run on the GPU, since they're generally designed on PCs that have fairly anemic CPUs to start with.
So... a lot like NVIDIA's Tegra modules, i.e. a couple of ARM cores duct taped to a laptop GPU.
Same idea, just a more primitive core
That one's a bit before my time but yes
I wouldnt call zen 2 primitive
I thought it was X86?
Yes
To me, that's 1900s technology
x86 is a primitive core that really doesn't deserve to be in use anymore.
Unfortunately, Microsoft did well.
Fact is, much as I dislike x86. Not much out there can compete with it
A few ARM core designs, some RISCV
POWER still exists and only really holds its ground in specific workloads (earlier version of power was what was in PS3)
That's due to market momentum.
Be the change you want, risc-v hardware is out there
RISC-V is vastly overhyped and misstated
RISC-V seems to me like the Pascal of ISAs. It was designed to showcase how to implement a CPU.
Ampere is starting to catch up, but they serve the server market.
Seen too many people assume that because RISC-V is an open ISA, that means all RISC-V chips and software will be open
and its like, unfortunately, no
ARM is a pretty solid architecture. So is Power (which is used more than you may be aware, and is even showing up in the embedded world). MIPS was looking promising, then they made some dumb decisions. SPARC was a cool architecture, but it's basically dead now. You'd think there would be some swoopy new 21st century CPU designs, but nope.
It just means qualcomm can charge the exact same for a SoC, without paying licenses
I am aware of POWER and its usage in datacenters and also in safety critical MCUs
albeit the latter is not for any specific reason unique to power and just due to momentum
and the prior, at this point is mostly due to 8 way SMT scaling very well in that application
Nobody wants to shell out the cash on something that might fail.
You can rent PowerPC VMs in GCP, which is kind of cool. I've been eyeing some of the Talos/Raptor and Barreleye motherboards as well. I got to use an IBM AC922 for a while, which has a PowerPC CPU and a pair of high-end nVidia GPUs. That was a beast.
but other important thing is ISA != implementation, A modern AMD CPU looks nothing like a pentium
And RISC-V, christ, soooo many implementations
Yeah, all the recent X86 implementations use a RISC(ish) backend running microcode, Univac style.
yeah, and with some of the more recent ones, manage to nudge even M1/M2 out of the top spot for efficiency
This is true, but all the complexities of the architecture have just been moved to ucode.
Making real optimization impractical
As far as I can tell it's not even RISC-ish. Each core has a pool of hardware resources that can be allocated among multiple instructions.
I still remember when Intel strongly hinted at a RISC core, to the extent of referring to the X86 instruction set as "RiscOPs". The internet greeted this with the laughter it deserved.
Its some sort of VLIW apparently
nvidia also tried their hand at approaching intel seeking license to build an x86 core. Intel basically gave them the middle finger
Then they tried to buy the rights to ARM...
many years apart, but yes, and that hasnt gone well for anyone
though their latest server ARM CPU at least looks mildly interesting. Competition for ampere? More widespread adoption to jolt other companies into gear? Dunno, we'll see
When I was at Intel I asked about what the underlying hardware was. Everything is so heavily fragmented now that I don't believe anyone actually knows. What I can say is that there is a constant battle with the history of the x86 architecture. It forces things to be done in a way that is suboptimal at a hardware level, and restricts how and where you can apply certain optimizations. This is a fundamental limitation of the ISA that cannot be overcome without fundamental changes that break backwards compatibility.
Intel is threatening to axe some of the backwards compatibility and just support the 64-bit subset, which is probably a good idea.
While PowerPC laughs in 128 bit
Wait, current production ppc cores can get 128 bits of data per load?
Yeah, scalar, not VLIW/vector etc
And other one off pieces of silicon have probably done more
RISC-V defines 128 and 256 bit variations, but doesnt expect them to be particularly useful anytime soon
POWER afaik is only 128 bit for a few operations, not full arch
but any native 128 bit scalar op puts them ahead of competition
tbh, I can only think of "some crypto" as an application for long scalar words
I still need to review it, but at the point they are doing that they might as well abandon x86.
Basically for SIMD operations (so you can do 16 byte operations at a time, or 4 32-bit ones)
So, like ARM and intel had for years ๐
I literally wrote code today on x86 doing 8 32 bit operations at a time
I don't remember any 128-bit buses on Intel nor ARM
For Most Other things (that I can think of), SIMD is probably better
SSE and AVX are for SIMD and stretches to 512 bits
SSE/SSE2/SSE3/SSE/SSSE/AVX/AVX2/AVX-512.
Also, Power can do 3 integer operations and 2 floating point per clock, if you optimize your code and data (I have done so, and it wasn't for crypto, it was processing image data from a radar)
AVX512 has some issues, or at least it did.
Still does
Thats bad
How is that bad?
intels atom does 7 integer per clock
I don't think we're talking about the same thing here...
What are you talking about exactly?
Also, Intel did not invent SIMD, nor is the x86 implementation of it particularly good.
Never claimed they did invent SIMD nor that its good
its just we're apparently bashing on x86 because hahahaha POWER does 128 bit SIMD
yet, ARM neon present in a pi 2 does 128 bit SIMD
x86 already does 512 bit SIMD
Like sure, theres issues, its just also not revolutionary that POWER does it and hardly a major selling point now
AVX512 in particular is just broken down into so many optional extensions that vary across intel SKUs in a single generation, and didnt have an AMD implementation (not sure if its current or next gen AMD that is getting it), and finally, just doesnt scale that well
Its like all of 20% faster than just doing 2 AVX2 ops
So sure, faster, but nowhere near what you'd hope for doubling you data width
Oh and extra bonus it worked completely differently in skylake and ice lake
This particular Zen 2 is pretty primitive, Sony asked for a cut down version of Zen 2
AMD do able to run AVX512 though
yes but is that in current or their upcoming gen, their last certainly didnt
Current gen
Also the best vector inst is actually ARM's SVE
You can have the same code to run on different width of actual execute engine
I'm assuming the 3 integer 2 floating point per clock is not referring to SIMD. Most likely it takes advantage of the more deterministic behavior of POWER.
This should be the way Intel do AVX family at the first place
yes but intel also utilises multiple ALUs per core and is capable of very similar behaviours
also modern POWER uses OoOE and branch prediction
so is just as non deterministic
as do many ARM implementations (varies on intended usage)
A53's for example and now the A35 also were optimised for smallest die area over performance, so that is yeeted
Not reliably. It depends on the specific CPU implementation.
This is multiple issue (issuing instructions ) pipeline, most CPU core nowadays use it to increase Instructions per Clock.
^ its nothing new
AMDs road map I think also includes 4 way SMT, POWER is on 8, but SMT doesnt scale to all workloads. Datacenter has a lot of waiting on NIC/Disk/OtherIO, 8 way SMT scales nicely there
Some stuff I was working on today, doesnt, scaled beautifully with physical core count in version 1 of threading it, but not with logical count
Though I want to spend more time optimising the main body of the code rather than just throwing threads at the problem
Finally found the meme
Source: https://twitter.com/gf_256/status/1671466927829716992/photo/1
I'm surprised the discord bot can open these
Speaking of, do you happen to know whether AMD has released any details on what the "AI cores" are going to end up being?
Everyone getting ai cores now eh
I think they did have more detail shown here: https://pc.watch.impress.co.jp/docs/news/1507557.html
huh. Looks like our speculation might have been right
https://hacarus.com/wp-content/uploads/2021/05/Figure4_JA_Versal_AI_Engine___Programming_Environment_Page11_้ปๆ -1024x578.png
I wonder whether they'll be user-programmable
I think they also hope that otherwise nobody is going to use that
My lemon, just 5 days ago only barely had cute little buds on it. Now itโs has tiny branches ๐ค
Nah, just old fashioned โdid I remember to water the plants today?โ Method lol
I could easily add one if I wanted
i have a "giant thunderstorm causing floods" system to water my plants
my corn is looking nice though. will be reading in a week. carrots are great, ive eating some already. peaches, still not sure, they arent getting any bigger
too cold to grow anything here problem solved ๐คฃ
hmmm, I should learn that method. I heard it requires rigorous practice
So Iโm told lol
Nah, no Wi-Fi
Local tracking of environmental data like temperature, ambient light, air pressure, and soon VOC
cool
Add WiFi so you can reinvent the wheel and over engineer another dashboard and graph web page
YEAHH!!
Is there a canonical way in a simple database to represent relationships that are correlation only. There are two main entity types, each may be correlated with many of the other.
Are you thinking of like a graph database, where you can follow links from one entity to possibly multiple other entities that have "edges" to it?
I know almost nothing of databases. If I do anything, it will be with the simplest tool possible. I was just wondering if a correlation relationship had some distinct terminology or representation as opposed to a definite relationship.
Type A things have a number of characteristics, including some correlations to various Type B things.
Type B things have a number of characteristics, including some correlations to various Type A things.
Very few definite 100% relationships between any A things and any B things, but they can be many-to-many even if definite.
You could probably represent that as a graph with edge weights for the degree of correlation, but that's not (AFAIK) a feature that simple databases tend to deal with.
that makes sense, thanks... if the tool doesn't support it directly I could probably wedge those weights in somehow
or, since putting a number on the correlation is difficult, only distinguish between definite and correlation
TBH, that sounds rather like something that is readily achieved in a traditional relational database.
You'd just need to JOIN two tables on the characteristics.
If you ONLY want to store data where data matches and have a constant in flow, that can get more complicated but, if running periodic queries is fine, quite doable, even with something like sqlite.
(or, if you have a table with pairwise correlations or something, you could have a schema of FEATURE1 FEATURE2 CORRELATION)
I am replying to this message so that i can find it for future refrence
Nice project i wanna recreate
Multiple ways to solve it in SQL. My approach would likely be to go with something like the below, supposing the available characteristics would not change. Otherwise, I'd go with something like either what you've got, or a lookup table for the characteristics because that would be easy to extend.
CREATE TABLE type_a (
id INTEGER PRIMARY KEY,
characteristic_1 TEXT NULL,
characteristic_2 INTEGER NULL
);
CREATE TABLE type_b (
id INTEGER PRIMARY KEY,
characteristic_1 TEXT NULL,
characteristic_2 INTEGER NULL
);
Then, get the matches with a simple INNER JOIN.
Thanks, I'll need to do a bit of research to fully understand that, but that gives me some direction. The nature of the data is: new entities of both types added to the mix daily, some with new correlations both directions, plus reinforcement of existing correlations, and on a good day a definite relationship established.
hello
has anyone ever used one of these: https://www.aliexpress.com/item/1000006682252.html is there some "trick" getting the wires in?
I haven't used that particular one, but most of those housings accept terminals crimped onto wires that just push into the cavities and snap into place. Different housings use different terminals.
@late fulcrum that isn't the type. There are no terminals crimped on it
HOT in Texas. Just for grins, I keep telling my wife that our mid-summer is mid-winter down under in AussieVille, but she doesn't quite get it. Anyway, I looked at Sydney's temp yesterday, 53 for a HIGH. Wish I could summer down there ha ha.
Does anyone remember back at Christmas we saw all these pics of beach-goers in Aussie sunbathing with Santa hats on?๐
No, the crimped terminals go into it
did you look at the link by chance?
Yeah, why?
so picture this right, im in the middle of teaching a class to a private student right
they join 15 minutes late, we get 15 minutes into the lesson and then their laptop dies
There are no crimped connectors. You are supposed to push the wire into it and it slices the insulation to make contact with the wire.
Oh, it's an IDC connector. The usual approach is to lay the wires in the grooves and clamp the cover over them, pushing them into place. This takes a considerable amount of force. There are special pliers made to do so, but you can use a bench vise (carefully) or ordinary adjustable pliers (even more carefully)
I've done a lot of db work for someone who has never been a db admin and my last job was at a data analytics software company so, I've a fair amount of background in SQL and SQL-like systems (and to a lesser degree NoSQL and graph dbs which are cool but maybe overkill). Happy to help with more guidance, if you need. Based upon your descriptions so far, it really seems like there are many right answers if you get to me specifics and what sort of programming language you'll be using, I can probably point you towards what I think should be some good paths.
@vocal hare thank you, at this point I'm collecting data sparsely and thinking about what I want to do. definitely want to keep it as simple as possible, and maybe simpler ๐ hopefully python (possibly php, ugh) as some of this may get processed on microcontroller (but some on server)
It's the age of the corpocessor again :P
https://www.computinghistory.org.uk/userdata/images/large/65/50/product-106550.jpg
do programs actually use those AI coprocessors? ๐
The only thing I use that I know uses special AI hardware is Nvidia broadcast. And even what it does is integrated into webex and programs like that which I would assume don't use any special hardware
Oh god idk why but this reminded me about the whole micro mono kernal and linux vs minx argument once again.....its not even corelated but still
How far we have come
In general no, although they use it for local speech recognition and image processing on phones.
afaik, they want to use it for accelerated virtual background / background blurring in videocalls
At least the AMD thing
(Also, I don't really care about what programs can do, but what fun things I could do with the new architecture)
That will depend entirely on how much they publish about the new architecture.
"new", as in, potentially obtainable for some price below 20k$, which is what the Xilinx Versal chip eval boards (which were the origin of the AI cores that seem to be featured here), seem to go for ๐
The article @\will whang linked above claims that they will release a devkit sometime in Q4
(or at least, seems to claim, if my understanding of the original Japanese is correct -- https://pc.watch.impress.co.jp/docs/news/1507557.html. Obviously, I'd wait for actions, not words, and so on)
The question is, how limited it will end up being. If they only release some proprietary tool that only takes as input a finished model and "prepares" it for use with the IP, as apple does with coreml and their neural engine, it wouldn't be very useful
The term "devkit" can mean pretty much anything. It might just be a binary blob that provides bindings to common AI/ML APIs but contains no information about the underlying hardware.
That being said, AMD has released this document.
https://www.amd.com/system/files/TechDocs/rdna3-shader-instruction-set-architecture-feb-2023_0.pdf
They're quite a bit more transparent than Intel and NVIDIA when it comes to describing their architectures.
I'd hope they'll go ahead and document it publicly, since it appears to be "reused" xilinx IP, but I'm not too expectant of that
Yeah
Apple did not even release bindings for the common ml libraries for their neural engine thing
ITAR may also complicate things.
I mean, if it makes fin sense for them, they could ship a version w the cores disabled and gate sw, much like xilinx does
I won't say it's impossible to reverse engineer, but that will be a lot of work.
then what's the point of their neural engine? Only companies that apple chooses can use it?
ITAR goes far beyond the hardware itself, and can easily prevent them from publishing information on it, particularly if the US military is already using some of their chips.
... which has traditionally been one of the biggest markets for FPGAs
dunno. AFAIK, they won't even tell you if your model is using the neural engine, even if you export it to coreml
๐คฏ
Apple uses it.
otoh, all the xilinx docs are essentially available in the relevant portal
i mean yeah but it seems super weird to me to build hardware from actualy resources and then not let people use it ๐
Let us handle it is the most traditionally AAPL thing ever
But yeah, apple does use it internally
Some general information is available. I guarantee you there is information that has been left out and is only accessible after signing an NDA.
Probably mostly for things like Siri and facial recognition.
As far as I know/have seen, they seem to be enough to get a/most designs going... ๐ค
But I agree that is the case
how would i go about writing a Mifare 1kb RFID tag
do i gotta buy a special writer thing
cause i know you can write NFC tags with android phones but idk if it will work
You can run Stable diffusion on Mac with their ML framework
Also Apple's ML framework like all the ones out there, is not using the accelerator only, but a mix with CPU/GPU/NPU.
Because NPU is not always able to run any machine learning arch, given the delay between the new hotness in software and when the chip design is out for that
Ideally, I'd like to be able to directly address the NPU and do what I want with it (within the limitations of what the design can do ofc) ๐
But that is not what software people normally want, from software company perspective they want one program to run on everything
like how Intel throw out MKL library with their new One API
So that GPU/CPU can share the code
I think mkl still comes with oneapi, as openmkl? Unless it will go deprecated along with ICC classic
the point is oneapi replaces mkl, and they wanna to use this API to mix in different processing units
I thought oneapi is an umbrella brand name for.... all intel tools
Like, even intel advisor installs under oneapi iirc
I looked it up, you are right, they just named it oneMKL to.... confuse people? :P
Yeah it really confused me, I have a graduate project that uses MKL and my professor have to ask me where is the download link for MKL years later.
...and that's why archiving the tarballs you need for your project to work (or a VM image or whatever) is a good idea :P
Well the better way is to update the cmake files for oneAPI so you can still update the library but still not a bad idea
My proposal solves the "I need to run this now" problem. Yours solves "I need to keep running this" :D
Also, Intel should have their VPU into Meteor Lake too, and interestingly they seems to have a M.2 Module VPUs bundle with their current gen Raptor Lake notebooks to build up the software support and demend but I don't see that anywhere on the market.
I've never looked into the vpu
It is just the same as NPU, typical Intel naming
O_O
Then why name it visual processing unit ๐คฆ
I can't even find a good block diagram online
The one I found appears to have hard IP cores for video filters?
Like I said, there is a delay between the new hotness in software and when the chip design is out for that.
Intel's VPU from Movidius was designed for image recognization and processing at the beginning (See Pixel and Google's AIY Vision Kit for RRI)
But now it is not limited to visual processing but all the neural compute
Do you have a link to a block diagram / details about capabilities somewhere?
I don't have any info on that....
If they presented on Hotchips then I might have some diagrams available though
Ah yeah, thanks for reminding me about that. I need to register
hey does the oled featherwing use all of the power from the 3v pin i want to hook up a fan controller to my feather with an oled the esp32 8mb to a EMC2101 and aa humidity sensor through stema qt
can i hook up both the oled featherwing and the emc2101 to the same 3v pin on the esp32?
FYI, I found this https://movidius.github.io/ncsdk/index.html , but there appears to be no way to directly program the chip, only compile a premade model for use with it
Overview of the documentation for the Intelยฎ Movidiusโข Neural Compute SDK and Intelยฎ Movidiusโข Neural Compute API.
did you read through the shop pages and the guides for all parts? They might say how much power they can provide or need ๐
Got to setup a newer SWIR camera!
oh wow nice! ๐
Ey M8s!
I neat s'm elp
I neat to feind aut
Bipolar power supply, lets jump on a call m8 ๐
Basic question regarding MOSFETs: Gate-Source Voltage (V-GSS), in this OnSemi chip, it's +-12V
https://www.onsemi.com/pdf/datasheet/fdc6401n-d.pdf
But in the datasheet, the gate threshold voltage is 0.5-1.5V (min-max). Does this mean: It can tolerate up to 12V of voltage to the pin but it will activate anything above 1.5V (technically, I should not go with just bit over 1.5V as there's the buffer zone, I'm planning to use 5V).
Or do I have logic wrong?
You're close. It starts to conduct at 1.5V, but just barely. As the gate-source voltage rises, it conducts more until it's fully conducting. But don't drive the gate more than 12V higher (or lower) than the source.
So, if the Drain-Source would have 12V but the logic would be controlled with 5V, it should work cause 5V ain't +12V higher/lower than 12V, delta is just 7V?
This graph shows the relationship between gate voltage and channel resistance
Yes, 5V on the gate should switch it nicely.
Ah, that makes sense. The datasheet had a bunch of graphs so I got tad confused which one is the one I'm supposed to look 
Sweet, thanks for the confirmation!
Reading datasheets can be complicated, but it gets easier after you've gone through it a few times.
Oh yeah, I'm far more confident reading them now than I was 2 years ago
2 years ago:
"What is this all gibberish?!"
Me now:
"What's some of this gibberish?"
Sounds about right
Nice!! I'll prolly should check what's wrong with that one Firewire camera at work that we are scrapping. It's a microscope camera and definitely obsolete, but... if it's going to scrap, I could ask my boss that could I try to troubleshoot why is it not working.
I doubt that there's a HUGE damage, probably some capacitor broken...
If you don't mind me asking, is this for your personal use, or for work?
I'd love to get a microscope for soldering but having a high standards for microscopes really doesn't help in personal life 
I now imagine you going all out and getting a proper dissecting/stereo microscope for soldering
๐
Well, those are the ones that I use at work and work as the responsible person for them
Sooo...
Yep
biotech or maintenance?
Biotech.
plus maintenance of them also, basic, not advanced.
It doesn't help that I work with microscopes that costs 6 figures 
not unexpected :P It is the main market for the things, after all :P
Exactly! ๐
And since I daily use the dissecting microscope from Zeiss, it's so freaking nice and I would love to use for soldering. but the price is literally keeping me from buying it as it's more than my car.
....imagine mucking the lens up from the fumes X_X
I'm guessing you do med. dev./physio stuff?
Pharm. research, so close
I nearly ruined it by whacking a tweezers through the lens, thank god there was a protective lens
huh... I'd imagine you'd be more of a confocal user in that case
I thought it was just the scratching neck meme lol
(or any of the new crazy setups that are basically confocal + insane optical pizzaz)
Oh, I do those too
Super resolutions go brrrr
Everything from millimeter scale to nanometer.
Joking of course, modern medicine is important to treating life altering diseases/conditions
Yeah, those will set you back some good $$$$
But I can tell you: Those machines are like situations where you need to know how to build stuff.
Heck, IIRC, we even might have some Adafruit boards controlling something 
Which good news, a MDR TB medication will get generic options for low and medium income countries where it was estimated 3-6m people would have died for drug resistant TB
I am familiar with the things, but I don't work with them
In the end, they are reaaaally janky.
TB is scary. The only thing that kind of sweetens the whole deal is that it is a bacterial disease, so masks should hopefully be more helpful once the inevitable mdr tb pandemic happens
Well, they are essentially commercialized versions of some lab's "passion project"
Without improving them at all 
I have rolled my eyes for seeing so many times machines with "highly refined electronics".
....and with accumulated modifications and fixes by the home institution
Best one: Scanner with "highly optimized and developed label lighting system". AKA: 8 THT 5mm white LEDs with prongs widely available for shorting and in a nice line without any alignment.
to be fair, they were probably talking about the software
Yeah, Iโm honestly surprised that we havenโt had a TB pandemic
It's not the software. They are just behind a relay, no individual control, nor any color compensation.
It's just classic example of marketing bullcrap
Adding to the long list of things I am not, I am no epidemiologist ๐
General hand washing goes a long way for TB from what I understand
We'll cross that bridge if/when we get there
Other contestants may include: Bird flu, some new variant of sars-cov-2, and who knows what else
Hand hygiene is a basic but effective strategy against infectious disease. This study investigated an ecological association between hand hygiene and tuberculosis (TB) risk in Korea. Hand hygiene data were obtained from the 2015 Community Health Survey. Information on TB incidence and mortality in 2 โฆ
Hand washing seems to have a significant impact on TB infection and death
Hand washing seems to have a significant impact on TB infection and death
fixed it for you :P
Iโm speaking only to TB right now ๐
Speaking to TB?
I imagine you telling it
Bad bacterium
In the same tone as "bad doggie" :P
Yes itโs good for all sickness in general, but I was following up on my claim about hand washing reducing TB incidents
It looks like tb can be airborne too...
Yeah, though it primarily spreads through surface/skin contact
Weโre in for a huge wake up when itโs primary mode of spread changes though
Most cases of TB disease are likely to be spread by either aerosol from bronchiole (A) or bronchial (B) sources. Bronchial aerosol, if present, would occur during high flow expiratory events like coughing and sneezing. In contrast, bronchiole aerosol is common to all breathing activity but becomes significantly more prominent when the depth of expiration exceeds the airway closure point. Therefore, infected aerosol is likely to be emitted during singing, talking or coughing and to a lesser extent during tidal breathing. A single cough therefore has an increased likelihood to carry Mtb aerosols compared with a single tidal breath due to depth of the preceding expiration and increased bronchiole aerosol content. However, since breathing is typically at least 30 times more frequent than coughing in TB disease (median 26 cough/hour [5], approx. 720 breathes/hour) cough Mtb aerosols may be rarer than breath Mtb aerosols.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6688829/
Looks like the situation is a bit better than SARS-CoV-2 though
that'd be a bit hard, simply because of its bacterial nature and the niche it tends to occupy within the human body
Evolution is a thing ๐
Hard doesnโt mean improbable
Just takes the right conditions like.. global warming
Increased difficulty in maintaining hygiene due to capitalistic pressures
OFC, but (1) there'd need to be a selective pressure towards laryngeal establishment, and (2) the rate of evolution and effective population size (number of individuals involved in reproduction) should be sufficient for the "mutation" to establish itself
Yup, that's gonna do us in good
ofc, it's a bacterium, so effective population size is always "good"
I tend to think that the decrease in down time and windows for self care will make pandemics more frequent
Which is code for extracting money wealth for a selective group of individuals
Anyway, I think we're gonna get kicked out of the server if we keep this up
It's infuriating how half-baked our pandemic-prevention system is. Things evolve and things that worked before will not work in future.
"Value-add for all stakeholders"
Instructions unclear, started to yell at people.
I LOVE YOU! (platonically)
it's not like we're actually trying
Yep. If only we tried...
^ Humanity's current strategy
On todays docket, making some Cast-Away 2040 boards to bring new stock to my Tindie shop as well as some 5V 500mA and 3.3V 500mA buck supplies
what would be the best way to store a password on an RFID card
like an acceptance code
or whatever
key code
Probably using a public/private key pair
im replacing my bedroom door and it has the space for a magnetic lock so i figured it would be amusing if i added an RFID code to it then wrote an app that would connect my door to my wifi so i can open my bedroom door
i was thinking that but it would be a "female dog"
because you can only hold 16 bytes on each block
each sector has 3 blocks
and the rfid card is only like 512 Bytes
can still do public/private keys in that, they just wont be long keys
But you would need some smarts on the card that the card likely doesnt have
So you're probably looking at rolling code or something instead
its a mifare or something like that
Rolling code is what my uni did with mifares
Ie, a code
same principal
The problem is you have no smarts on a plain RFID tag
So you really can't do anything more than read its contents and check they match something
well it doesn't have to be secure
its more of a
gimmic really
its for my bedroom door
i dont think anybody in my house has the smarts to clone my RFID tag
write their own
just to get into my room
Brings me back to this point. I'm not joking, it's literally the only technique
For further security, you either need smarter cards with an mcu onboard, or rolling code
Rolling code used to be whatcar keyfobs did
You basically change the password every usage
And rather than just reading the key, you read, if password matches what's expected, change password, write it back
It gave at least some protection against replay attacks
oh i will
should i just keep track of the last x amount of passwords
then set an alarm off if its replayed
The next level they went upto (not needed or possible for RFID though) was the car only sent back an acknowledgement that the password was correct, it didn't send the new one back, instead both the car and key were seeded to the same pattern so all the key needed to know was yay I was write and it could go to the next number in sequence. The problem. Quite a few OEMs the algorithm was cracked and if you could capture 2 key usages back to back you could then predict the rest of the sequence
Which in turn meant you only had to capture someone accidentally locking and unlocking the car
what if i write a crypto algorithm on the Micro controller
then make it write back a new pwd
keep track of all of the old keys
well like the previous 10
For plain RFID tags/mifare about as smart as you can get is authenticate and rewrite
And it's often preferable to allow the last 2 or 3 codes incase the write failed
so keep track of the last 10 keys but allow the last 3 codes
Beyond that. Secure as you're getting. You could check the entire history ever for replays and raise an alarm, but you could also just raise an alarm for invalid attempts anyway
well it will be logged on a web interface
on my keys im gunna add some info about the code used
and allow me to remove some if i need to
There are smarter setups than mifare where there's a lovely MCU in the RFID card too, those can do smarter things
Just don't forget to sort out how the thing is powered first
I tell ya, how the community I had on twitter fell apart.. that was really sad. Most of them left because the elongated musket. :/ I havenโt been able to recover the community on the various platforms Iโve attempted to move to
well i already have the stuff
A friend made a DIY lock and it's battery went dead
And they didn't provide any way to power it from outside the door
Or any mechanical override
So had to resort to a destructive entry
oh i'll just plug it in
plus its a magnetic lock
so it will unlock if it runs out of power
yeah
I have a few sticks that need testing
Makes sense
I'm just leaving it there for 24hrs
I'll also run a prime95 torture test with an as large as possible memory allocation later to mimic a more "real-world" intensive workflow
Have you considered setting up a website and newsletter/company mailing list? e-mail is not gonna go away anytime soon
I mean, you have to have a way to tell people about your mailing list
You could advertise it where you sell your boards. Hopefully, if people like the wares, they'll subscribe?
Plus Iโm having trouble right now paying for my domain name :/ sales are.. really slow
Which TLD is it?
.tech
$69 a year plus private domain protection
Which is usually fine but sales havenโt recovered at all from the chip shortage
Understandably, people are not spending as much on hobby stuff with fear of losing employment to layoffs
this is why im glad i managed to secure a 36 month contract
i feel bad for people who are "at will"
namecheap appears to charge $45.98/year for .tech transfer
If it helps
Not really, I have like $8 in the business account
More of a money isnโt there thing. Iโm trying but definitely failing to get things going again.
Yeah, I see that.
I used to do a few hundred a month in sales, chip shortage shut things down on me and now the economy is hitting peopleโs discretionary spending
*nods*
Kind of sucks overall. Iโll keep trucking along as best I can though
It is what it is, I guess
Does anyone know any businesses that can assemble and scale custom RGB LED displays? Looking for a company US based that can help with this and I'm pretty lost on where to look.
Cyber City Circuits
They do contract manufacturing
This is only a few hours from me, will definitely reach out, thanks!
have you worked with them before?
Not directly, theyโve bought stuff from me before and a number of makers I follow have used them
Personal use, I want to do some die shot imaging
Some images to die for.
Awesome! What do you want to image?
Can people suggest a good software/workflow for making block diagrams in an as frictionless as possible way?
All of them ๐ธ
Lucidchart is your solution for visual communication and cross-platform collaboration.
is it a monthly sub?
