#general-chat

1 messages ยท Page 51 of 1

raw jasper
#

I've heard they're almost impossible to source

tardy badger
#

Digi-Key

raw jasper
#

I guess my information is very out of date? lol

raw jasper
#

neat!

rapid geode
sick apex
#

wooooooo just got same day delivery on a screen

#

1.8 inch 128 x 160 SPI LCD screen

#

should be alright

sick apex
#

there has to be a word that describes the feeling of waiting impatiently for your components to arrive so you can start building something

#

an hour and 15 minutes and it should be here

raw jasper
sick apex
#

lmao

#

i had to buy 3 more bread boards to make a bigger one

#

and some RFID readers

#

also, im very out of my depth here

#

if im trying to cluster some ESP32 boards together

#

would i use the higher power higher clock boards

#

as worker boards

#

and then slap a pico as the master

#

because all it really needs to do is tell the other boards what to do

#

im thinking 133Mhz should be enough for that

raw jasper
sick apex
#

all my boards have wifi

#

so i could do TCP

raw jasper
#

If all you are going to do from the "main" node is send the task packets and wait for the results, then the pico would be fine

#

Since everything is so low-level and you'd want to minimize overhead, you'd want to write a common message passing and discovery API, and then program the boards with the task over the air

#

(which is why I think you should be handling task "scheduling" from your host)

#

You could even write something to automate worker node "discovery" over mDNS

late fulcrum
#

You could also do TCP over a wired connection

raw jasper
late fulcrum
#

That's been a solved problem since the 1900s

raw jasper
#

I assume you're proposing doing TCP over, say, SPI with some SLIP variant?

#

Wouldn't they have to write their own TCP stack to do it?

late fulcrum
#

That's one of many possible options, yes

raw jasper
#

Or are there ready-made solutions for that?

late fulcrum
#

Yeah, SLIP or PPP can run over a serial link, USB, etc. Remember, TCP started as a wired network. This is nothing new.

raw jasper
#

Of course, but are there ready-made libraries for the ESP232 that can handle that?

#

Or would one have to write a TCP stack from scratch?

#

(Because I feel that'd be overkill for many projects when the ESP232 already comes with a wifi physical layer + tcp stack )

late fulcrum
#

I'd have to have a look around, but I wouldn't be surprised if there were generic libraries that could be used. I don't know about ones specific to various CPUs, as it hasn't come up (I normally just use Telemetrix instead of full TCP, so I haven't examined it in detail)

raw jasper
#

I wonder how complex it'd be to write a TCP stack from scratch... I've never done it and now I kind of want to

late fulcrum
#

The layered stack would make it more tractable, you could get IP going before you layered TCP on top of it, for example. I remember the first time I leveraged the ancient UUCP protocol over a USB link. It worked fine, just much faster than UUCP used to run over dialup!

fair summit
late fulcrum
#

Oh, good catch, I hadn't seen that one!

sick apex
#

this is what i have so far for initializing a node

#

im going to change the TX pins and RX pins to lists i think so i can do duel channel

#

or more

sick apex
#

i meant a vector not a list

sick apex
#

how do i connect multiple bread boards together, when i put them together and put my ESP32 board into them, they just curl up and buckle

#

how do i make them not curl up and buckle

ancient rivet
#

most have little interconnecting tab things on the sides

sick apex
#

they buckle

#

i've figured out another way

#

im gunna need more of these

#

can you recommend some that are quite big

#

width wise because like

#

the ESP32s are wide

late fulcrum
#

Some people have been known to cut breaboards in two, to have a wider gap between sections. You can also just space breadboards out and have the wider boards straddle them

late fulcrum
#

You can also attach breadboards to a backing board to keep them flat or buy them that way https://www.adafruit.com/product/443

sick apex
#

i think im probably going to build a massive box then glue a bunch of bread boards to the bottom

ancient rivet
#

could maybe remove power rails? i think those are same connection tab things. and then can connect just the main prototyping parts together

sick apex
#

yeah

#

but the issue is

#

the ESP32 is 10 pins wide

#

like 10 breadboard slots wide

#

so if i do that then its there but i cant access anything

#

im currently just wiring up 3 of my boards in unison so they all share power and a reset switch

#

its janky but it works

fair summit
sick apex
#

fair, i have 4 boards now

#

they're connected

#

now anyways

late fulcrum
#

You'd said you were already doing this?

sick apex
#

that's exactly what im doing

late fulcrum
#

Then I'm unsure why you can't access anything

sick apex
#

i can access them now

late fulcrum
sick apex
static flare
#

I think you'd have to do it one at a time, which is also probably the better option anyway

sick apex
#

fair

#

i thought i lost all my breadboard connector cables but i didn't

#

i ordered 600 more

#

then i found them

glad ruin
sick apex
#

luckily the ones i ordered are the flat single wire ones

#

that you bend

#

instead of the ones that makes a mess

#

everywhere

late fulcrum
#

Viva la mess!

sick apex
#

lmfao

#

felt

vocal hare
sick apex
#

considering im trying to cluster 3 boards together and run as a small computer

#

cause im bored kekwarp

vocal hare
#

More seriously, I'm sure that you could take a similar route to AVR and setup one MCU as a programmer, then plug the others into it via a hub.

sick apex
#

well firmware

#

one for the "master" node

#

and one for the "worker" nodes

vocal hare
#

Oooh. And how are you connecting them? Wireless?

sick apex
#

that's the goal but i also want to be able to use GPIO pins

#

as TX and RX pins

clever reef
late fulcrum
#

You could have the host node update the target nodes for you, but you'd have to come up with the protocol to do so.

vocal hare
#

So. What I'd suggest is seeing if you can get the master/coordinator setup to also act as a programmer. Then, give it a copy of the complex firmware.

#

That way, you could just keep adding more workers until you have no more room.

sick apex
#

i think

#

im still working out the weeds

#

with platform IO i think you can remote upload though

vocal hare
#

Can you add some external memory to it?

sick apex
vocal hare
#

Like a little SD card or something?

sick apex
#

im gunna add external Ram

#

so they can share a memory pool like that

#

and i'll add some flash

vocal hare
#

FRAM? SRAM? Both?

sick apex
#

both

#

that way i can interface much faster with memory calls

vocal hare
#

Then, you could dedicate an FRAM chip (if big enough) to hold the worker firmware.

sick apex
#

instead of requesting the data

sick apex
#

or i'll make it load off an SD card on first boot

vocal hare
#

... And, you could also get a bit crazy and dedicate some space to holding the master/coordinator firmware.

sick apex
#

or ill use a pico or something that will upload it

vocal hare
#

That way, you can use some sort of quorum/election protocol to have them choose which nodes will play which role ๐Ÿ™‚

sick apex
#

yeah

#

i haven't started programming the worker code yet

#

so i could make it so if a GPIO pin is high then its the master

#

then they can all share the same firmware

#

and i just ground a pin if i need to change the master node quickly

late fulcrum
#

Generally loading firmware isn't super fast anyway, so handing it to the host a chunk at a time to hand off to the targets is generally not a hardship, and avoids needing the host to have the capacity to hold all the software at once.

sick apex
#

yeah

vocal hare
#

If you design the firmware to be dual role, that simplifies a lot. I'd still recommend giving them the ability to program new nodes, not from practicality but because I really like self-expanding clusters.

#

K8S has spoiled me.

sick apex
#

if its not then it will update the firmware

#

or i'll have some form of version control that checks and updates accordingly

vocal hare
sick apex
#

but i dont really want to

#

because i want to make it so i can add any micro controller

#

providing it supports the Arduino framework

#

cause currently i have it working where my esps can talk to my pico

#

i need more bread boards kekwarp

sick apex
#

is there a way i can make a display over serial to my PC

#

like

#

Serial over USB through the usb port

#

to like make a display window

#

use my PC to emulate an LCD display or something

south light
#

In which direction here? Both are doable

#

just a matter of software

sick apex
#

just single way

south light
#

But which direction

sick apex
#

board to PC

south light
#

Eithers pretty trivial end of the day

sick apex
#

aight

south light
#

Dealing with UARTs in most programming languages is pretty straight forward

patent hemlock
south light
#

Speed there is the bigger issue, but even so, i2c OLEDs work on far lower bandwidths than a uart is potentially capable of

south light
#

Ive seen your github mentioning C#. So System.IO.Ports namespace is what you're after

sick apex
#

alright

#

and if i wanted to use one ESP32 to talk to another

#

could i do that over I2C

south light
#

I dont know off hand if an ESP32 has i2c slave mode

#

If it does, then yeah

sick apex
#

then if it doesn't i'll just have to invent my own protocol kekwarp

south light
#

ESP32's do have more than 1 UART

#

so could just use one of those

#

and folk ahve pulled all kinds of shenanigans with the ESP32 I2S peripheral (i2s and i2c arent to be confused)

sick apex
#

well i want to make a self expanding cluster of them

#

it wont be anything interesting

#

but im bored

#

and think it would be cool to learn

#

how to do stuff like that

south light
#

got canbus too which might be more appropriate for clusters than i2c as canbus is masterless

#

But if your cluster has a rigid definition of a master, then i2c is fine

sick apex
#

well i've mixed my codebase from master and slave to mixed

#

so there is one codebase for both

#

i just have to pull a gpio pin to high

#

to enable master

#

mode

south light
#

Wasnt necessarily referring to firmware

#

but i2c has a very rigid definition of being a bus with a master device and slave devices

sick apex
#

i could use normal GPIO and pull the pins low or high to transmit binary signals

#

this is my setup currently

#

powering the rails, linking the reset button

south light
#

i2c masters can write data to the slaves and also request data from them, but the slave cant arbitrarily message the master.

Whats normally done to get around that is having 1 additional gpio just being an interrupt line

sick apex
#
#ifndef WORKERNODE_H
#define WORKERNODE_H

#include <Arduino.h>

class WorkerNode 
{
  public:
    WorkerNode(uint8_t _TXPin, uint8_t _RXPin) : TX_Pin(_TXPin), RX_Pin(_RXPin) {
      assert(_TXPin == _RXPin);
      pinMode(_TXPin, OUTPUT);
      pinMode(_RXPin, INPUT);
    }
    
    const uint8_t TX_Pin; // Transmit Pin
    const uint8_t RX_Pin; // Receive Pin

    void Transmit(char data[]);

};

#endif // WORKERNODE_H```
#

this is the worker node class

#

the transmit method will transmit data across the TX pin through binary signals

#

it will start by sending a code to signal that its transmitting

south light
#

You might aswell just use SoftwareSerial

#

but if this was i2c, you'd just pull a gpio thats externally pulled up low. Then That signals the master that at least one of its slaves wants data checking, and just have a status register on each device

glad ruin
#

I2C is multi-master. Whichever device initiated communication is considered the "master" for that transaction.

sick apex
#

oh, word?

south light
#

Eh, original spec wasnt

#

A few chipsets do it just because well, they can

#

Does mean support for it on MCUs is varied

glad ruin
#

I don't think the I2C spec ever explicitly stated that there has to be a single device initiating all transactions.

glad ruin
# south light Does mean support for it on MCUs is varied

In all honesty I2C is a pretty loose spec. There are a lot of implementations, many of which don't adhere perfectly. This can be a point of contention for devices that require clock stretching support and controllers that often don't.

patent hemlock
glad ruin
#

Most devices will support 100 and 400kHz. Above that it's hit and miss

patent hemlock
#

(just ran into some issues where 100 wasn't "good enough" and things worked poorly)

glad ruin
#

That... can be caused by a variety of factors.

#

How many StemmaQT boards did you hook together?

patent hemlock
#

1

#

the new I2C -> Neopixel and I2C Gamepad are a bit sensitive to the Raspberry Pi's "baudrate" apparently

#

separately ๐Ÿ˜€

glad ruin
#

That sounds like a firmware issue to me.

rapid geode
#

somoene made a nice 3d model of the $5 amazon servo

#

yay

#

๐Ÿ™‚

fossil dawn
#

you keep teasing us with fancy renders and metal prints and we still don't even know what you're building ๐Ÿ˜ญ ๐Ÿ˜†

rapid geode
#

haha

#

it is a thing that does stuff

sick apex
#

is that an engine

fossil dawn
#

it's an automated fishing rod and then you change your username to @ihavefish

rapid geode
#

ha

#

no

#

but, weirdly, the company that makes the expensive version of this also makes fishing reels

#

anyhow, its not really a secret. it is a device that pulls a cable a preset distance when you press a button.

fossil dawn
#

me looking up all companies that make fishing reels and what products they make

rapid geode
#

ha

#

japanese fishing reels

fossil dawn
rapid geode
#

that should narrow it down

fossil dawn
#

a fish? ๐Ÿ˜›

rapid geode
#

no fishes

fossil dawn
#

Shimano the bike parts company also makes fishing reels? ๐Ÿ˜ฎ

rapid geode
#

ha yup

sick apex
#

does the arduino sdk have vectors?

raw jasper
rapid geode
#

shimano makes 2 things. bike drivetrains and fishing kit. they both rely on fussy little clutch devices and custom bearings, so, makes some sense.

#

anyhow, my devices is not to compete with theirs really, it is more of an "addition". their electronic shifting stuff is absurdly expensive, with $200 batteries and $30 wires. It is also completely closed and the new one doesnt work with the old one, 12 speed cant shift 11 speed etc etc. Nonsensical.

#

mine will shift literally anything in any combination (that functions mechanically). and it will be open, use cheap available parts, and 3d prints.

#

right now, its looking like under $100 for the parts, plus a few small tools (taps and drill bits and dremel to clean up the prints). VS $2000+ msrp for the cheapest full shimano kit (which replaces all the parts on your bike of course, so its not a totally fair price comparison).

raw jasper
rapid geode
#

haha

raw jasper
#

I mean, failure can result to injury

#

I wouldn't be taking any chances, unless I were a bike parts design expert or something

rapid geode
#

yes

#

i wouldnt trust something YOU made ๐Ÿ˜›

#

ha

raw jasper
#

:P

rapid geode
#

hehe

raw jasper
#

Sorry for making the wrong assumptions!

rapid geode
#

but basically, yes, i know what im doing. also the likely hood of this part failing and causing injury is very low

raw jasper
#

Again, sorry!

rapid geode
#

my custom hydraulic brake levers.. that is another topic

#

ha

#

those need some testing

#

some "real" bike companies have put out some horrible things too. stuff that straight up does not work or breaks in 5 minutes

raw jasper
#

"custom hydraulic brake levels"... Now that's a thing I wouldn't dare make :P

rapid geode
#

start with laser scanning someone elses

#

hehe

#

anyhow, if this silly thing works, it should take off and other people can add features, like bluetooth app configuring and some form of bus/mesh network like shimano has on their to connect each part

#

i want the core software/hardware to be some sort of managed open source. Where there is an official current version of all files, but people can still do whatever they like and modify it

raw jasper
rapid geode
#

i have not looked into it. I know GPL is not good, cause i WANT people to make commercial versions etc.

south light
#

MIT?

#

There's been a few similar projects over time

rapid geode
#

ill look into it later. for now i need to just get the thing made and working right

raw jasper
rapid geode
#

ah

raw jasper
#

Another way would be to use the license of your choosing, and register a trademark for your project's name, then enforce any conditions via your trademark

#

IANAL and this is not legal advice, but that's what mozilla does, for example

#

To clarify, none of this is legal adivce

#

*advice

rapid geode
#

I can see it being useful to have an officially endorsed brand so people do not get confused with variants that might not be fully compatible

#

also maybe makes it more likely to gain traction, vs shoving the files on github and saying "good luck"

#

anyhow. thats for later

#

i need to test the crap out of it for the rest of the year before i let people poke at it.

raw jasper
#

I am no mechanical engineer, so I can't say anything about that

#

Actually, I'm no kind of engineer

rapid geode
#

hehe

south light
#

One of the previous takes on the idea I saw was pretty much just a leadscrew tugging the shifter cable

rapid geode
#

i hope so, haha

#

it came about cause i have a bike with shimano 12 speed mountain, and i want to put a road handlebar on it and no shifters exist for that.

#

so.. we make them

#

muhahah

#

electronic lets you program any spacing. just put a text file on the feather via usb c.

#

you can also shift it with an allen key if the battery dies

south light
#

With the right setup lets you do automatic shifting too

rapid geode
#

auto is possible yes. but usually not desirable

south light
#

On a roadie or mtb no

fossil dawn
#

do I understand this correctly?
You make the electronic shifter that shifts the wires. And most normal gear shifts use wires so you could take the part that goes onto the wheel from a normal (non-electric) gear shift and add your part?

south light
#

But getting popular for city bikes and cargos

fossil dawn
#

neat

#

like really neat

rapid geode
#

there is a system that does this, but they priced it really badly, and it is closed off

fossil dawn
#

and that means that the part that takes all the load and I feel like might be safety-critial is still off-the-shelf ๐Ÿ‘

rapid geode
#

hypothetically some chinese company could find a way to make mine for $30.

south light
#

I had a "professional" bike shop mix and match shimano and sram parts when I took mine in to be fixed (I couldnt be bothered to do it myself)

#

Different shift ratios -.-

rapid geode
#

yeah. it gets so confusing sometimes.

#

especially with shimano, since they dont often tell you what "works" vs what they market it for.

#

they seem to be pushing to streamline 12 speed though. we'll see if they muck it up

south light
#

Ended up learning that a lot of bike stuff, want it done proper, do it yourself

rapid geode
#

yup

#

ha

#

or.. run campagnolo 11 speed shifters (that scan) with a 9 speed shimano rear derailleur and cassette. cause fun!

#

(that combo actually works, for some reason)

#

my system though you can take a campy 8 speed road derailleur, a sram 12 speed mountain cassette, and shift them just fine (provided the cassette is withing the derailelurs teeth range)

south light
#

I now have matching shimano 8 speed derailleur, cassette and shifter working almost perfectly

#

Its getting a bit finicky about the lower 3 gears

rapid geode
#

hanger could be bent

south light
#

Honestly, wouldnt surprise me

rapid geode
#

or, you have a dura ace derailleur... cause they made that one different, cause, reasons

south light
#

Nah, its matching set derailleur and shifter

#

Though the cassette isnt, but I dont think shimano have differences in the spacing of their 8 speed cassettes afaik

#

Other one I havent checked, very possible my chainlines just out a bit

rapid geode
#

for my demo testing, i have an 8 speed xtr deraileur, a 9 speed alivio, a 12 speed slx. mated to an 8 speed mountain cassette, a 9 speed road, and 11 speed road, and 12 speed mountain. they should all interchange except the xtr wont do the 12 speed cassette cause it cant take the 45 teeth

south light
#

Got a middrive conversion motor on there, not that unlikely its shifted my chainline over a bit

rapid geode
south light
#

It shifts in fine, just doesnt like to stay in

#

likes to shift up a gear

rapid geode
#

ahh

#

bent hanger

south light
#

Which'll be lovely as thats the 3rd derailleur in under 500 miles

rapid geode
#

put the pulley on an angle and bad times ensue, usually only in one or 2 gears

south light
#

I love derailleurs โค๏ธ

#

more like ๐Ÿ’”

rapid geode
#

ha

#

ive never killed a derailleur

#

my xtr is form 1992

south light
#

On this bike alone, its on the 3rd

rapid geode
#

vintage

#

๐Ÿ˜›

south light
#

on previous bikes, maybe half a dozen

rapid geode
#

ebikes?

south light
#

Nah

#

This is my first ebike

rapid geode
#

ah ok

south light
#

And the first 2 derailleurs were also pre conversion

rapid geode
#

not sure what you are doing to the poor things ๐Ÿ˜›

#

even the cheapest shimano ones usualyl work very well

south light
#

Easy, chuck bikes in car, or try downhilling

rapid geode
#

and last forever til you hit a tree

south light
#

Once: kid lobbed a stick in my wheel

rapid geode
#

ha

south light
#

Cassette survived. Derailleur and spokes didnt

raw jasper
#

ha. I don't understand anything in this discussion :P

rapid geode
#

this is the gunea pig bike. muhahah

south light
#

Nor did my life fluid all remain inside me

rapid geode
#

eep

#

those red pedals on my bike used to be white...

#

๐Ÿ˜›

#

j/k

#

but i did really damage my leg with them. so much red juice

south light
#

I remember getting home, mum being like what on earth happened, me saying and her just not messing around

#

She called cops on the kid

rapid geode
#

eek

south light
#

It was a bully that used to go out of his way to screw with me

#

Full on criminal damage, not just childish games

#

Cutting brake lines while my bike was in the bike sheds etc

raw jasper
rapid geode
#

easiest way to deal with bullies is to get them to steal your lunch, but secretly put a salad in there. They wont come back.

raw jasper
south light
#

Yeah, hence why when I got back that time, mum just went straight to the cops

#

Didn't bother with the guys parents or the school or whatever

raw jasper
#

Did the police press charges?

south light
#

They went with some stupidity they regularly use for young folk pulling antics that can so easily escalate

#

"you better pay for that damage young man"

#

Which okay, to an extent kids be kids, but that's beyond kids be kids and well into menace to society continues to menace

#

Either way. Bike no survive. Which I think makes for 3 wheels and like the 4th derailleur it had replaced during my ownership of it

#

I only ever had to pay for 1 wheel. The other was a car - I was uninjured on that one, and driver I think more shaken than me

dusty citrus
south light
#

She had her moments in both directions unfortunately

dusty citrus
#

Ah
It was not meant to be sarcasm anyway

south light
#

Ultimately, life is life. It has its downs, it really does. But it's not all bad

#

Push through the bad to get to the good, even when it feels like you've gotta move a mountain to get there.

#

Oh and sometimes you just have to take a leaf out of bears book and chill for a bit

#

Yes I know there's a pet channel but figured this channel need some pawsitivity

rapid geode
#

ha

raw jasper
#

I love it when cats do this

south light
#

She pretends to sleep up there while actually listening for me

sick apex
#

how can i print the time down to the micro second

#

in arduino

rapid geode
#

yes

sick apex
#

im trying to measure the response time between my master node sending a message to the worker node receiving it

raw jasper
sick apex
crystal ore
#

Note that both nodes will be timing from their own power-on and using their own clock, so the values won't be synced between master and worker.

sick apex
#

i plug on in the both turn on

#

the reset buttons are connected aswell

sick apex
#

wait can you even use promises in arduino

#

or C++ in general

dusky estuary
raw jasper
dusky estuary
#

Its not the end of the world though ๐Ÿ™‚

sick apex
#

also, second thing is i need to declare a variable but its construction is dependant on the state of a pin

#

how do i do that

dusky estuary
#

In the embedded world typically everything should be non-blocking, so you can use a state based control flow

sick apex
#

it needs to be done in the setup

#

not in the loop

dusky estuary
#

Set up the pin as an input and then read the value

raw jasper
#

You set the pin state, then read from it

sick apex
#

so i need to declare the creation of the class outside of the setup method

dusky estuary
#

Declare the variable outside of the scope of the func

sick apex
#

yes but then the constructor kicks in and the variables are constant

raw jasper
#

It's not a computer. It's best to kind of forget about most best practices and think that you have to satiate the constraints of a limited arch

#

There will come a time you will even have to use the otherwise dreaded global variables

sick apex
#

thats why they're constant

#

wait how do i make it global

dusky estuary
#

Nah just do this:

int a
setup() {
  //configure pin
  //read value
  a = whatever
}

loop() {
  //access a
}
sick apex
#

its a custom class

#
class WorkerNode 
{
  public:
    WorkerNode(uint8_t _TXPin, uint8_t _RXPin, bool _isMaster = false) : TX_Pin(_TXPin), RX_Pin(_RXPin), isMaster(_isMaster) {
      assert(_TXPin == _RXPin);
      pinMode(_TXPin, OUTPUT);
      pinMode(_RXPin, INPUT);
      _AllWorkers.push_back(this);
    }

    const uint8_t TX_Pin; // Transmit Pin
    const uint8_t RX_Pin; // Receive Pin
    const bool isMaster; // Is Master
    Vector<WorkerNode*> AllWorkers = this->_AllWorkers;

    void Transmit(char data[]);

  private:
    static Vector<WorkerNode*> _AllWorkers; 
};
raw jasper
#

I have never done object-oriented programming for a microcontroller

sick apex
#

i dont even know if this is gunna work

dusky estuary
#

Oh I see

#

Yeah usually I just work in c for embedded

raw jasper
#

Typically, you would be served best by an imperative model

dusky estuary
#

100%

#

You can use objects for storing & operating on data but probably best to use the imperitive model for interacting with hardware

#

@sick apex I'm guessing _isMaster is what is determined by the pin value?

#

Wait

#

Why are you defining it as const lol

#

You want to change it later so dont make it const just declare it as a bool

#

Or a static bool

sick apex
#

to save the small amount of memory that it will save

dusky estuary
#

Nah

raw jasper
#

Nah

sick apex
#

i dont want to change it later

dusky estuary
#

That wont work then

#

Cant have both

#

If you're changing it at all it cant be const

raw jasper
#

Yeah, either just set it to TRUE/FALSE on init

sick apex
#

its not being changed

raw jasper
#

Then just set it on init

#

Have a #define

#

IS_MASTER 1

sick apex
#

i am setting it on the constructor

raw jasper
#

or 0

dusky estuary
#

Ah I see

#

So where is the issue?

#

Or what is the issue?

sick apex
#

then i would need to recompile it for the master and worker

raw jasper
#

And then do preprocessor magic to set pin state and class init

raw jasper
sick apex
#

oh, how

dusky estuary
#

Thats gonna be complicated theres got to be an easier solution

sick apex
#

wait can i run an if statement at the top

#

outside of any functions

raw jasper
#
#ifdef IS_MASTER
....
#else
....
#endif

Then, compile with -DIS_MASTER or not

dusky estuary
#

Ah yeah that would work

#

But didn't they want it to depend on the pin state

sick apex
#

yes but i would have to recompile it

#

the idea is to have it check pin 23 to see if its high

#

if it is

#

then that is the master

raw jasper
#

Well, you can't have your cake and eat it too

#

It can't be const then

dusky estuary
#

hahaha

sick apex
#

i can if i make multiple

dusky estuary
#

There is a solution

#

But it'll probably take up more memory that you are saving by using const

#

What you could do is just run a function before you construct this object to read the pin state

#

Instead of doing it within the constructor

raw jasper
#

OTOH, having a master and worker version of the firmware will also save more program memory by pruning out dead code

sick apex
#

i know i did that before but i got bored of writing the same code

#

multiple times

raw jasper
#

Well, thanks to the preprocessor, you can mostly avoid that

sick apex
#

im using platformio, how do i add the definition for the preprocessor then

#

is it build_flags

raw jasper
#

There should be a place to set build flags

sick apex
#

yeah

raw jasper
#

๐Ÿ‘

sick apex
#

build_flags = -DIS_MASTER

#

like that

raw jasper
#

I've never used platformio

#

But feel free to try it and see if it works

#

TBH, I don't even know what platformio is ๐Ÿ˜…

sick apex
sick apex
#

build_flags = -D IS_MASTER

#

i got this

raw jasper
#

Oh it probably is, I've just never looked into it :P

sick apex
#

its a vs code extention

#

you should check it out

#

it's great

raw jasper
#

There's your problem, I don't really like vscode :P

sick apex
#

fair

raw jasper
#

Got nothing against it (or people who use it, of course), it just doesn't suit my tastes

sick apex
#

it handles building, using SDKs

#

library managing

#

picking boards

#

building

#

uploading

#

serial monitoring

#

its just amazing

dusky estuary
#

Its nice

raw jasper
#

Good!

#

I'd prefer a CLI-based solution to this to be honest

dusky estuary
#

I want to get into using rust for stm32 development but the learning curve for setting up the tooling is quite high

#

I know rust but I just cant figure out how to actually get it onto the microcontroller lol

raw jasper
#

One day, I'm gonna learn rust

dusky estuary
#

You should, its really nice

raw jasper
#

It's been out for, what, 10 years now? :P

dusky estuary
#

And nobody has heard about it until 1-2yrs ago hahaha

raw jasper
#

Nah, I remember looking at some article about it solving C's memory management woes, and though it was neat and that I should probably look into it

#

I also remember when mozilla started switching to it

dusky estuary
#

Ah yeah

#

They made it

raw jasper
#

but, tbf, my time is limited, and I spend most of it writing python anyway

sick apex
#

now i just have to set an interrupt to handle what happens when data is being transferred

#

and boom

dusky estuary
#

What are you making @sick apex ?

raw jasper
#

btw @dusky estuary , is that you on the plane?

#

I'm curious how it feels to actually be the one flying the thing

dusky estuary
#

Yeah ๐Ÿ™‚

sick apex
dusky estuary
#

It was a T-6 texan-1, I got to do aerobatics in it for my birthday

sick apex
#

without using anything fancy

sick apex
#

i know right

#

its going well so far

#

i managed to get them to sync up

#

the hardest part is that i dont have many Micro USB cables

#

so i cant read the serial output of all of them at once

dusky estuary
#

You gotta figure out how to combine the serial output from all of them into just 1 serial output

sick apex
#

that's what this is for

dusky estuary
#

Ah I see

sick apex
#

its so i can transmit and receive serial output at the same time

#

it will all go through the master node

dusky estuary
#

Thats awesome

#

So pretty much you're making your own communication protocol

#

Very cool

sick apex
#

yeah

#

lmao

#

well what im doing to begin with is sending 32 as a signal that its started transmitting data

dusky estuary
#

I'm guessing you're going to structure the messages so they all have a header that specifies their target?

sick apex
#

then its sending stuff in binary

dusky estuary
#

Oh wow why binary instead of text?

sick apex
#

after each byte it will send an 8

sick apex
dusky estuary
#

oh wow

sick apex
dusky estuary
#

How are you syncing the clocks?

sick apex
dusky estuary
#

hahaha

#

That will be a challenge

sick apex
#

well it wil work by sending 8, 1s or 0s

#

then a number 8

dusky estuary
#

You could use the parallel protocol but it takes up 8 pins

sick apex
#

if there aren't 8 bits before the 8

dusky estuary
sick apex
#

then it will transmit something to signal that it missed something

dusky estuary
#

How so?

sick apex
#

cause im going to make sure that it always sends 8 bits

#

so if a byte is only 4 bits then it will fill it out with blank space

dusky estuary
#

Right but if it sends 11011100 how would it know that it didn't just send 1010?

sick apex
#

kinda how the USB protocol works

#

because the blank space wont be a 1 or a 0

dusky estuary
#

It'll be floating?

sick apex
#

im going to make an enum class

#

that has flags in it

#

so it can figure out what is what

dusky estuary
#

Right I'm talking about the actual hardware part

sick apex
#

oh yeah

#

that's a massive oversight

#

i think im going to have to use I2C

#

then i can use the I2C clock to sync the clocks

dusky estuary
#

That'll be complete different from what you described tho

sick apex
#

yeah i had to re think it

dusky estuary
#

Yeah

sick apex
#

because i can only send 1 and 0

#

high and low

dusky estuary
#

But if you use 2 pins you can use one pin for data and one for clock

sick apex
#

then that would be 3 pins

dusky estuary
#

Yeah

#

No

#

2

sick apex
#

because the transmit pin

dusky estuary
#

Transmit and clock

sick apex
#

transmit, receive and clock

dusky estuary
#

Ah yeah

#

Is that bad though?

sick apex
#

which cuts my amount of possible controllers in half

#

well not half

#

a third

#

unless i invent a protocol to sync multiple masters together

dusky estuary
#

lol

sick apex
#

i wonder what the people who invented the old computers were thinking

dusky estuary
#

i2c would be a challenge though, I'm not even sure how you'd set the address of each device

sick apex
#

simple

#

it takes hex

#

i'll just set the value

#

by checking if its a master

#

if it is a master then it will be 1

#

if its a worker

#

then it will use GPIO

#

to get a binary number from the master

#

which will know how many worker nodes already exist

#

then it can set an address from that

sick apex
#

also im pretty sure you can use 1 I2C port to control like 1024 devices at 10 bits

dusky estuary
#

Yeah

#

They can all be on the same bus

sick apex
#

which will just mean i need to have like

#

1024 breadboards

#

to saturate that

dusky estuary
#

lol

sick apex
#

i mean feel free to give me ideas

dusky estuary
#

No that sounds good

sick apex
#

code snippets or whatever

#

i gotta figure this all out

dusky estuary
#

Pretty much each board will just have to determine if its a master or slave. The master board will have an address of 0x1, and each slave board would probably determine its address from the pin configuration

sick apex
#

pin 23 indicates that its a master node

#

so it will know that its not a master if pin 23 is low

dusky estuary
#

Right but it still will need to set an address for itself

sick apex
#

yes

#

so then it can get its info from the master

#

using binary

#

to get an address

#

that isn't already being used

dusky estuary
#

But it will need an address to communicate over i2c

sick apex
#

yes i know

dusky estuary
#

And the master device will need to know its address to send it data

sick apex
#

it wont communicate over I2C to get its address

#

it will use regular old GPIO

#

until it has a confirmed address

dusky estuary
#

How will that be addressed?

#

The gpio

#

If theres say 10 boards connected together

sick apex
#

right

#

so all worker nodes will talk to the master over pin 22

#

if they dont have an address

#

they will transmit over pin 22

#

to receive one

#

obviously it wont be pin 22 for the master

dusky estuary
#

Right but if 2 nodes talk to the master at the same time how will they know who the response was meant for

#

And how would you prevent two nodes from transmitting at the same time?

sick apex
#

because it will come from a different pin

#

the workers talk to the master node from pin 22

#

the workers pin 22

#

to the masters pin x

dusky estuary
#

ohhh

#

ok that makes sense

sick apex
#

that or i could just make the workers take their turn

#

by using pin 22 and pin 21

#

wait

#

nevermind

#

i could hard code them using the preprocessor but that isn't self expanding which is what i want

#

clarification: i want it to be self expanding

dusky estuary
#

Yeah

sick apex
#

i have to think this through

dusky estuary
#

Very complicated

sick apex
dusky estuary
#

It would

sick apex
#

each one is 2 cores

#

so im currently working at 4 cores

#

i have 4 esp32s

#

so that's 8 cores

#

then i have 2 rpis

#

12 cores

#

rpis have 8 pio cores each

#

so that's 12 cores and 16 pio cores

#

the pio cores make the rpi picos great for handling GPIO input

rare zodiac
#

Hello all. I saw the following posted on Adafruit's website, but did not see a guide or instructions. Can anyone help point me in the right direction for compiling GNUBOY for the ESP32?

rare zodiac
tardy badger
#

The GitHub link should have sufficient instructions, let me double check

#

It looks like you can clone it to your computer with git and run make all if you have the required dependencies installed which are listed on the main README.md

#

Actually, make all should include all dependencies so that should be all you need

#

If youโ€™re on windows, youโ€™ll probably want to build with a WSL2 Linux subsystem. On max you can do it right from Terminal

rare zodiac
#

I can use Linux. I can follow simple commands like Make, etc. Though I would like to learn exactly what's going on so I can better troubleshoot. Also, those commands would compile the source and create...something...how do I get that onto the esp32?

tardy badger
rare zodiac
rapid geode
#

housing almost done. just need to measure the real servo tomorrow and add it's mounts. Print is way over built, but still only $8. Better to be overbuilt than break when it has a load on it ๐Ÿ˜›

opal night
#

i need a little help with kotlin developing. Trying to make a simple counter app using a bluetooth shutter button.

#

need a little guidance, is there a channel for that ?

manic rain
#

Someone on irc ##electronics told me that magnets made from hardened steel hold magnetism better than pure iron. Is there a table that shows magnetic flux density for such alloys?

south light
tardy badger
late fulcrum
sick apex
#

are these bendable

#

they haven't arrived yet, i mean like are they rigid or flacid

fair summit
#

looks like solid wire to me, so they will hold their shape. The ends are already bent at 90 degrees

sick apex
#

perfect

ebon dew
#

Those type are solid core and very rigid. You can make custom lengths with spools of solid core wire and wire strippers.

#

Nice thing about the dupont style is they work with both breadboards and the connectors commonly found on SBC's and microcontrollers so people end up using these the most eventually.

bitter creek
#

Hey, Iโ€™m Richard, one of the co-founders of Mava (Mava_app on Twitter).

I wanted to chat with your community manager. Whatโ€™s the best way to reach out?

sick apex
#

finally im able to actually press the button without being stabbed by wires

ebon dew
#

@bitter creek Your request has been noticed and someone from the community will contact you.

fossil dawn
#

Noob question time (based on a discussion in #help-with-hw-design a few days ago):
https://www.digikey.de/en/products/detail/ATSAMD21G18A-MFT/5057241 SAMD21: 3,69โ‚ฌ
https://www.digikey.de/en/products/detail/raspberry-pi/SC0914-13/14306010?s=N4IgTCBcDaIE4AcwAYAsyQF0C%2BQ
RP2040: 0,63โ‚ฌ
Both Cortex-M0+
RP2040 has 2x cores, >2x MHz, 8x RAM, and costs less than a fifth. What am I missing? How does that pricing make sense?
I think you need more (expensive) supporting parts like flash for the RP2040 (it doesn't have any program flash on board). But still. Is this just chip shortage scalping because buying a more expensive MCU is cheaper than redesigning your entire boards&software? RPI just pricing extremely agressively because they're new? Or is there something that's not in the digikey listing that makes SAMD21 "5x better"?

late fulcrum
#

I don't know, I'm just guessing, but my thinking is the Raspberry Pi foundation is leveraging their massive buying power to reduce costs (the same way they do with their other products). Additionally, the SAMD chips probably have additional documentation, engineering support, and certifications for use in various environments, and all of those cost money. I doubt the pricing is "because they're new", and expect the RP2040 to always be inexpensive.

#

I do find the SAMD21 Arduino integration to be a lot smoother, and the built-in DAC is a very nice feature.

#

Also note the RP2040 doesn't contain any flash, so it's not a single-chip solution

fossil dawn
#

oh, SAMD21 has "automotive", "functional Safety". Those words sound expensive ๐Ÿ˜†

#

yeah but RP2040+flash+other supporting stuff should still be cheaper than 3,7โ‚ฌ because I can buy a Pi pico for 4โ‚ฌ ๐Ÿ˜†

#

And wouldn't Microchip have even larger orders and buying power?

#

But yeah documentation, certifications and support = expensive makes total sense

raw jasper
#

Unless you're designing automotive parts, you probably don't care

fossil dawn
#

(actually I don't want to buy anything. I'm just curious ๐Ÿ˜„ )

raw jasper
#

oh, ok, nvm then ๐Ÿป

fossil dawn
#

thanks for your answers ๐Ÿ˜„

late fulcrum
#

I do buy a lot of automotive qualified parts, as they're quite reliable (nearly as good as mil spec and aerospace parts) but not that expensive (due to their huge manufacturing volume and cost sensitive market)

raw jasper
#

Yeah, unless you're talking FPGAs :P

late fulcrum
#

I don't recall seeing a lot of FPGAs in automotive applications, as they usually have a well-defined use case and enough lead time and volume (and interest in protecting IP) to make ASICs attractive.

#

But I do like ICs with serious spike protection and capacitors that laugh at heat and vibration

raw jasper
#

(I know automotive FPGAs exist. I do not know anything about whether the automotive industry actually uses them)

#

I presume so-called "self-driving cars" may have them on?

burnt tendon
#

Automotive grade MOSFETs

rapid geode
glad ruin
raw jasper
#

I wouldn't be surprised

south light
#

Its where I encountered them

#

a few of the aftermarket standalones use them

#

Mass production ECUs, less likely

glad ruin
#

There is likely industrial use as well. Automotive and industrial markets often have similar requirements.

glad ruin
south light
#

'cept the ECU doesnt do the image processing

glad ruin
#

ECU can refer to more than just the engine control unit.

south light
#

Most other modules have their own terms

glad ruin
#

Head unit is another term they use now.

south light
#

so ECU tends to very specifically only refer to the engine control unit automotively

#

you see other terms like bcm and vcu for other modules

glad ruin
#

Yeah, I'm a characterization engineer working on automotive video SERDES chips. I work at a chip level, not a module level.

south light
#

Oscilloscopes with big market penetration to automotive diagnostics for us

late fulcrum
#

Repairing vacuum tube oscilloscopes for me. What's an FPGA again? ๐Ÿ™‚

raw jasper
#

Cursed computing idea: Vacuum tube GAL

south light
#

We're small enough to rely upon FPGAs rather than ASICs

#

Nope, dunno why there's the remnants of a label on it beyond clearly someone put a label on it

glad ruin
south light
#

some of the opportunities for reduced power consumption would be of benefit to us

#

Less because omg lets reduce the power consumption of all the things on the planet (not that I disagree there either) but more because its a USB device, huge variance in power availability on different machines/setups and a very small power budget to begin with

#

But that side ain't my speciality. This boi is a code monkey

glad ruin
#

Yeah, that's the other major use for ASICs.

south light
#

Alas the cost of an ASIC versus the cost of an FPGA...

#

Of course I can't speak for the company as a whole and share figures of the sort or future plans etc etc. But it tldrs to hey, if it was a cost effective investment, sure, if it's not, FPGA

raw jasper
#

Speaking of FPGA, it appears using verilator no longer requires also writing a testbench in C++?

south light
#

/shrug I don't do the FPGA stuff

south light
# rapid geode cable hast to go in one side then out the other

Not sure I follow why that would be, mine are pretty neatly terminated at the site shifter end. Ive only seen cable in and out on setups like IGH's with push/pull cabling. But either way, I think it looks great, I'm interested to see this thing develop

rapid geode
#

hard to expalin. if you have a newer shimano shifter, there is a hole one side, you thread the cable into it, then out the other side. In older shifters you would slot in the cable from the same end it comes out.

torpid jungle
#

uhm...how much trouble am I asking if I'm starting my SMD soldering with soldering few 0603 resistors and 0805 diodes/fuses? hidethepain

rapid geode
torpid jungle
#

And it's painful since it does a nice 90 degree loop inside the shifter...

rapid geode
#

yeah. i put a feed guide in my shifter cause it needs to make a slight turn (only 30 or so degrees

south light
#

I feel I may have been drunk when I last installed shifters or something, very possible

rapid geode
#

hahaha

#

well you said 8 speed. those are older and different

south light
#

Yeah, I've never had more than an 8 speed cassette

rapid geode
#

i think they only added this for 11 speed

south light
#

I have of course had multi speed chainrings before, though dont have one now

rapid geode
#

the reason is to make it more water tights

#

in my case i dont want anything getting in the worm gear

torpid jungle
#

11 speed is nice, 12 speed is kinda nice until it goes out of tune...

south light
#

Ngl, I dont miss having a 2/3 speed chainring

torpid jungle
south light
#

indeed

rapid geode
#

multiple chainrings is so 80s

#

hehe

south light
#

Albeit, I am on a mid drive motor ebike

late fulcrum
#

Heh, I usually just shift with the changering and leave the cassette alone

torpid jungle
#

11 in mountain is freaking nice, 11 on road is... nice but I still have 2x11 on my cyclo. Not going to drop it, maybe even swap larger ones.

late fulcrum
torpid jungle
#

Speaking of mtb, time to check if I can finally find some new brakes.

rapid geode
#

hope

#

๐Ÿ˜›

south light
#

The motor assist + motor also getting gearing benefit are probably making up for the single chainring

torpid jungle
south light
#

and tbf, make up pretty good for gears 1-3 being so sketchy

torpid jungle
rapid geode
#

i have hope on all my bikes

south light
#

Magura on mine

torpid jungle
#

Issue with them is pad availability: That forces me to order the pads since they are with 0 availability locally here.

south light
#

I have previously had shudder... Clarks

torpid jungle
#

But man, after trying those 4 piston Maguras...

late fulcrum
#

1210 is generally not a problem, 0805 is fiddly but doable, 0603 is starting to get difficult, I recommend good light, a magnifier, and flux.

rapid geode
#

ah. fair. but thats a once ever few years thing

torpid jungle
#

Man the Maguras were nice.

south light
#

MT5e's I have

torpid jungle
late fulcrum
#

I still have the Avids it came with

south light
#

THis bike has had a very very long history

#

Very long

rapid geode
#

not gonna lie, being orange was part of the reason to buy :x

late fulcrum
#

You can get away without fridge storage for short term (a few months), since you're not relying on repeatable heat profiles in an oven.

south light
#

WHen I took it in to get the derailleur done by a bike shop, the cable brakes were wrecked, had them shove some hydros on at same time and they were just a nightmare

#

the 2 mistakes I made: a) I think that bike shop just is not very good (I have other evidence for this too) and truly epitomised if you want something doing right do it yourself and b) cheaped out

torpid jungle
late fulcrum
#

Cables are fine with me, but I'm a fan of basic simple mechanics, be it bikes, planes, cars, or whatever.

#

If you keep it covered, the flux shouldn't evaporate fast, and you can always add flux (if you're going to use a syringe to dispense the paste, thinning it with flux can make it go more smoothly)

rapid geode
#

cable brakes no. cable shifters im fine with, although electronic is a genuine step up. just hard to justify the price of it.

torpid jungle
#

I still have Shimano BR-M315 with me, I absolutely hate them. Though, they are by far, the cheapest end.

rapid geode
#

shimano cheap brakes are amazingly good.

torpid jungle
late fulcrum
#

I haven't had a lick of trouble from my cable brakes. The shifters do require attention to stay calibrated.

torpid jungle
south light
#

end of last year got some magura mt5e's, did have a bike shop with an actually decent rep do the install on those mostly because I dont have the tools for trimming hydraulic lines to size and dont have the tools for bleeding maguras, theyve been pretty fantastic

torpid jungle
#

Once you go with hydraulic brakes, you ain't going back

rapid geode
late fulcrum
#

Bleeding brakes on a bike? Not interested. I'm so lazy, I'm eyeing airless tires.

torpid jungle
rapid geode
south light
#

my clarks needed bleeding regularly

#

the maguras I currently have and dads shimanos, never been touched after install

rapid geode
#

hope are a royal pain to set up initially, but once done, you never touch them again until something breaks

torpid jungle
#

Yeah, I have only once bled my brakes or refilled. And it was all my issue as I decided to pop the piston out from the brake housing omegalul

torpid jungle
rapid geode
#

yup, and to centre

torpid jungle
#

My friend has Hope's in his MTB, he uses those massage hammers/guns for the hoses kek

#

It's a sight to see but it works surprisingly well.

rapid geode
#

ive done it 50 times now so i can do it pretty fast. but shiman you cut hose, reconnect, pump lever, hold tight, tighten caliper bolts and done. can set them up in literally 5 mins

late fulcrum
#

What's the advantage of hydraulic? It just seems unnecessarily complicated to me (but then again, I used to help a friend work on their Datsun, which gave me a fine loathing for cheap hydraulics)

rapid geode
late fulcrum
#

"less" complicated? I do not see that.

torpid jungle
rapid geode
#

it is only complicated for the first 5 minutes if you instal them yourself

south light
#

well thats the thing, hydraulics are real simple. But self adjusting as pad wears down, possibility of multi pot

torpid jungle
late fulcrum
#

7 moving parts compared to 3?

rapid geode
#

cable discs are too fussy. hybrid ones are neat, but they often cost more than hydraulcis.

#

rim braks? uh... no

#

hehe

south light
#

ehhhhh, how many cable brakes are actually just 3 moving parts

torpid jungle
#

I don't get why they exist. They feel absolutely horrible. (hybrids I mean)

south light
#

Versus hydro brakes, lever pushes on a cylinder of fluid, moving a piston at the other end of a hose. Pretty simples

rapid geode
#

they exist cause road hydraulics are still rare and expensive

#

(levers)

south light
#

Like mr no fish mentioned, road bikes

late fulcrum
#

Weird, I have cable discs on all of 'em and I like 'em fine

torpid jungle
#

heck, 105 series is fully hydraulic now, no hybrid.

rapid geode
#

yes. tiagra too. and cues coming next year

south light
#

and also I have seen people using them on ebikes to use with cable levers with integrated brake cutoff switches in them, I think this is a dubious usage

late fulcrum
#

3 parts: lever, cable, other lever.

rapid geode
#

but they still cost alot. 105 brake levers are like $700msrp . JUST the levers.

late fulcrum
#

Vs lever, piston, pipe, fluid, other piston, other lever

torpid jungle
south light
#

By that logic hydros are 3 parts. Piston, hose, other piston

rapid geode
torpid jungle
rapid geode
#

dont fear this new fangled 1990s tech. ๐Ÿ˜›

late fulcrum
#

I do, in all 3 cars, but there's also a hydraulic system (with vacuum booster).

south light
#

I am not familiar with a single car using cable brakes

#

cables to the booster sure

#

but No car since like pre war era has literal brake cables

late fulcrum
#

I think you're thinking service brakes

rapid geode
#

e brake

#

hehe

south light
#

Parking brake barely counts

torpid jungle
#

Parking brakes have.

#

Barely? It's still a brake kek

south light
#

(that and cable parking brakes are dying a death)

torpid jungle
#

True

#

And it's infuriating

south light
#

I do hate electronic parking brakes

rapid geode
#

i think my vw rabbit had cable drums in the back

#

not sure

south light
#

though hydraulic parking brakes are also a thing too

rapid geode
#

my friends car has "electric brakes". i assume that only means electronic control of the hydraulics

late fulcrum
#

I would be leery of hydraulic parking brakes. A tiny leak through a seal could cause them to lose grip over time (exactly the opposite of what you want for a parking brake)

south light
#

depends, but generally yeahhish

#

theres a few takes on electronically controlled parking brakes

#

but pretty much all of them still involve hydraulic calipers

#

and stamping the pedal hard enough overriding the electronics

rapid geode
south light
#

Much like older ABS units that functioned by releasing brake booster vacuum could be defeated by standing on the pedal harder

rapid geode
#

ill stick with bikes. hehe.

#

speaking of. i need to go for a ride before it rains.

south light
#

but theyre all some variety of electronic booster rather than vacuum booster, and still allow enough force at pedal to actuate caliper directly

#

They just also have ability to fight you for ABS and regen purposes

#

and can self apply

#

Its a very weird sensation driving EVs and some hybrids with those boosters

late fulcrum
#

Another thing I'm leery of is the Hyundai "one pedal driving" bug where the brake lights don't come on when engine braking

south light
#

Brake, pedal feels firm and dont wanna move, car still brakes on regen, but as it slows down to the point regen is ineffective and switches over to allowing the friction brakes, you can feel the pedal suddenly move again

#

and its just an odd sensation

late fulcrum
#

That does sound unsettling

south light
#

I've encountered it in the prius, tesla model 3 and a polestar

#

and it makes sense, it is fighting you on purpose, why use the friction brakes

#

thats inefficient versus regen

#

Seriously put some force on that pedal and the pedal will move and friction brakes kick in

#

But most of the time it tries to keep you off them and on the regen instead

late fulcrum
#

Reminds me of that fuel economy hack from the 1970s that connected the engine vacuum to the accelerator pedal to make it harder to push. As one reviewer put it "I guess it might help a little with lead-footed, weak-kneed drivers"

#

I do, however, like the ability to override the electronics and directly engage a mechanical system when I really want to.

south light
#

Irony that with some more recent studies on efficient driving. The vacuum hack probably would have made the car less efficient

#

Turns out, slowly accelerating up to highway speeds is not actually fuel efficient

#

Likewise neither is just flooring it to the rev limiter trying to accelerate rapidly

rapid geode
#

hmm. i need a tiny display to show gear/battry charge etc. oled and tft wont be readable. not sure about e ink. are there tiny reflective style lcds that have pixels instead of segments?

late fulcrum
#

The Sharp memory displays might do the job, depending on how tiny you need

rapid geode
#

oh, i remember those. arent they discontinued though?

#

ah nope

#

do they hold an image like e paper with no/low power?

#

is reading

cunning frost
#

You still need power for them to work but it is neat to watch the pixels fade away instead of just blinking out immediately at no power.

rapid geode
#

yeah, seems low power to sustain image, and more power to change image. i think that will do. it will turn on when a button is pushed, and then off after 5 secs and it can fade away

#

break out is a little clunky, but i think it should be fine (im trying to make this thing off the shelf, so cutitng the tabs off the board is not really ideal)

#

and i dont care about it being night readable for now. its only for status.

#

i wonder what this shimano display is. its like a backlit segment lcd

pale smelt
#

Any word on making an updated pygamer? Like with a touchscreen and shaped more like the switch? Or is that too expensive?

south light
#

Dunno if that's what Shimano are doing, haven't seen their display, but it's a viable strategy it seems

rapid geode
#

this one glows quite brigtht, like an alarm clock but white

south light
#

Could well be that then

rapid geode
#

bit of rearanging and the sharp display will fit

south light
#

Honestly big reason I'm interested in your project is cleaning up the cockpit of my bike

rapid geode
#

made the housing basically a box now. feather on the bottom. this might be good as a testing houising as i can drill hols and modify it without waiting for new prints.

south light
#

I'd need to interface with a Tongsheng motor but that's pretty well documented at this point

rapid geode
#

ill leave ebike things to other people :). ideally i think youd put a feather sense in this, with bluetooth and use the sensors for computer functions.

south light
#

Next big ebike project for me on horizon is custom battery

#

The dubious quality Chinese battery pack I got with the bike (though I did do some testing of it and proved BMS and it's balance functions do work) seems to be losing a fair bit of capacity and I'm not convinced it was ever of its rated capacity in the first place

#

And it doesn't fit the bike properly. Hose clamps and cable ties are involved in its current mounting

#

Meant to go on downtube bottle mounts, but my bikes a downhill frame, so doesn't fit, hoseclamped the cradle above top tube instead

rapid geode
#

ah

#

why a downhill bike? thats silly. haha

#

gravity does all the work

south light
#

Because thats the frame I have

#

Has some sentimental value

rapid geode
#

ah. ok

south light
#

I'd own a second bike, but that requires space I dont have

rapid geode
#

yeah. i have uh... more than 1 bike

#

๐Ÿ˜›

south light
#

I dont think I even have room for a brompton XD

#

not that I want a brompton either

fossil dawn
rapid geode
#

nope

#

not in this case

#

you could mount it anywhere you like, but for the purpose of this test, it goes on the handlebar.

#

bikes are already conveliently routed for cables too. theres another system sorta similart to mine and they mount it on the back of the bike but it gets kicked, and hit by rocks, and such

fossil dawn
#

i see

rapid geode
#

$450. thats why mine isnt to be a sellable product. it is much better as a community diy thing, cause it can be cheaper and with open code. youll always be able to get parts. 30 years form now youll be able to get some form of feather board, some form of 18650 battery cell, and can print repair parts.

#

you already can;t easily get replacements for 10 year old shimano electronic systems.

#

bleh

#

ha

#

anyhow

#

i think i might be able to send for prints next week on this

#

whee

fossil dawn
rapid geode
#

yeah

#

but at $2000+ for new drivetrains, it hurts.

fossil dawn
#

oh wow ๐Ÿคฏ

rapid geode
#

the the electronic stuff is horrible

#

haha

south light
#

high end drivetrain stuff is $$$

#

and they wont sell the electronic shifting version to anyone but manufacturers

rapid geode
#

oof

fossil dawn
# south light

I even have a similar one. no clue which model but it's Rohloff ๐Ÿ˜†

rapid geode
#

rohloff has many, going back to the 90s

south light
#

Rohloff only has the 1 main product, just lots of iterations like whether it has disc mounts on it or spoke counts etc

#

and the electronic shift version

fossil dawn
rapid geode
#

shimano has an alfine one with is electronic. but it is not uh, high performance. its more for city bikes

south light
#

yeah the shimano e-step

#

and its apparently not very good

#

Like they designed it for their city and cargo ebikes, except their mid drive motors even in the detuned 250W euro spec compliant variants are wrecking them apparently

rapid geode
#

O-o

#

a big issue with e bikes is they are often $300 bikes with $1500 worth of electonics. And that $300 bike could barely handle an out of shape human irding it. something that outputs 250-500 continuous is way beyond it's original intention

late fulcrum
#

If I were building an ebike on the cheap, I'd start with this https://www.allelectronics.com/item/dcm-2460/24-vdc-brushless-motor-600-watt/1.html

#

$49, includes built-in ESC

glad ruin
rapid geode
#

bit too large for a regular bike, and 24v will likely lose you some efficiency.