Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.19 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.06 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#314
    +icon: Proxies\__CG__\App\Entity\Image {#295 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#324
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#286 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
    +entries: Doctrine\ORM\PersistentCollection {#229 …}
    +posts: Doctrine\ORM\PersistentCollection {#187 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
    +bans: Doctrine\ORM\PersistentCollection {#166 …}
    +reports: Doctrine\ORM\PersistentCollection {#152 …}
    +badges: Doctrine\ORM\PersistentCollection {#130 …}
    +logs: Doctrine\ORM\PersistentCollection {#120 …}
    +awards: Doctrine\ORM\PersistentCollection {#109 …}
    +categories: Doctrine\ORM\PersistentCollection {#96 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#318
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#317
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    Well, you could say that there are three branches of electronics: analog, digital, and discrete (sort of between the previous two). For your goals, you mainly need to learn about digital systems.\n
    \n
    What you’ll mainly be dealing with in terms of digital systems are microcontrollers and other embedded systems. I’d say the main two places to get started with those are the Arduino and Raspberry Pi ecosystems. The first is “more pure microcontroller” and the second is “more advanced embedded systems”.\n
    \n
    Microcontrollers are mostly programmed in C++ these days (with a few strange people like me using Assembly), and the Arduino ecosystem sort of teaches that. Microcontrollers are usually the most efficient system to make the control electronics for something like a keyboard. Sparkfun and Adafruit are good companies to buy parts to get started from.\n
    \n
    Embedded systems like the Raspberry Pi stuff can often run a whole operating system. This is too expensive (power, space, and $) for most keyboard builds, but you may want to learn how to use them for other projects. However, they also make a microcontroller (the Pi Pico) which would be OK and can be programmed in Python.\n
    \n
    For advanced computer peripherals, you might need to learn FPGAs. However, that can be a difficult topic to get into by comparison. So maybe leave that for later.\n
    \n
    A good way to get started is to buy the parts for, and build, a few Arduino projects. There are specific libraries for making Arduinos emulate a PC keyboard too.\n
    \n
    In terms of tools, at first you will just need a breadboard, some resistors, LEDs and jumper wires. Maybe a battery or USB power supply. A multimeter too.\n
    \n
    Soon after you will probably want to learn to solder to start making your own standalone devices. You should get a soldering station with temperature control – some people swear by Hakko, myself I have a cheap-but-good Yihua soldering + hot air rework station.\n
    \n
    Next, while Sparkfun and Adafruit are great businesses, they are not cost-effective ways to source a lot of parts. You’ll want to learn how to use the part search and ordering functions on Digikey, Mouser, Arrow, and RS Components. Maybe also McMaster-Carr if you do mechanical stuff.\n
    \n
    When you have some working designs done, you will probably want to learn KiCAD. It’s software for designing circuits, and laying out printed circuit boards (PCBs) to send to a factory to be made professionally. Through the magic of globalization, this is actually pretty affordable! A typical run costs me 20-40$ for 10 units, and takes 16 business days – although I live in Asia, so it might cost a little more from the USA or Europe.\n
    \n
    You’ll also maybe want to learn 3D modelling and printing, for designing cases (I struggle with this more than I’d like to admit). TinkerCAD is an OK place to get started, although tools like SolidWorks are certainly more advanced. You don’t need to buy a 3D printer unless you want to – you can just order your designs made online.\n
    \n
    Anyway, the results with KiCAD + 3D printing can be really quite good and can last many years of use. They also let you share your design with others, so other people can make it!\n
    \n
    Finally, if there’s a hackerspace / makerspace in your area, these are great communities of people you can learn from. Definitely check them out. They may have a 3D printer you can use, as well as other tools. Often they teach courses too.\n
    \n
    One small note – getting from “hey neat this works!” to making and selling a product is (sadly) a really big step. So if you one day want to do that, build a network and ask for advice from someone who has gone through it first.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1692853711 {#1768
    date: 2023-08-24 07:08:31.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Cheery@lemmy.sdf.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1378 …}
  +nested: Doctrine\ORM\PersistentCollection {#1371 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#1902 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2483 …}
  -id: 26626
  -bodyTs: "'-40':431 '10':433 '16':437 '20':430 '3d':464,505,524,581 'actual':422 'adafruit':128,331 'admit':481 'advanc':81,197,497 'advic':632 'afford':424 'air':324 'also':179,370,459,539 'although':440,490 'analog':12 'anyway':519 'arduino':65,103,240,248 'area':562 'arrow':365 'asia':444 'ask':630 'assembl':100 'batteri':274 'big':615 'board':404 'branch':9 'breadboard':265 'build':163,237,626 'busi':334,438 'buy':133,232,503 'c':89 'carr':373 'case':470 'certain':495 'cheap':318 'cheap-but-good':317 'check':574 'circuit':398,403 'communiti':566 'compani':131 'comparison':217 'compon':368 'comput':198 'control':119,307 'cost':339,428,448 'cost-effect':338 'could':3 'cours':594 'd':52,478 'day':91,439,621 'deal':38 'definit':573 'design':384,397,469,516,544 'devic':298 'difficult':211 'digikey':363 'digit':13,31,43 'discret':15 'done':385 'ecosystem':69,104 'effect':340 'effici':114 'electron':11,120 'embed':49,82,139 'emul':249 'europ':456 'expens':156 'factori':410 'final':553 'first':71,259,640 'fpgas':205 'function':361 'get':59,136,214,228,301,488,599 'global':419 'goal':24 'gone':637 'good':130,225,320,530 'great':333,565 'hackerspac':558 'hakko':312 'hey':601 'hot':323 'howev':177,206 'jumper':270 'keyboard':125,162,252 'kicad':392,523 'last':533 'later':223 'lay':400 'learn':29,169,204,289,352,391,463,571 'leav':220 'led':268 'let':540 'librari':245 'like':97,123,141,479,492 'littl':450 'live':442 'll':35,349,458 'lot':345 'made':413,517 'magic':417 'main':26,36,55 'make':117,180,247,294,551,606 'makerspac':559 'mani':534 'may':166,578 'mayb':219,272,369,460 'mcmaster':372 'mcmaster-carr':371 'mechan':377 'microcontrol':46,75,84,109,182 'might':201,447 'model':465 'most':86 'mouser':364 'multimet':280 'neat':602 'need':27,202,263,501 'network':628 'next':327 'note':598 'often':147,591 'ok':189,485 'one':596,620 'onlin':518 'oper':151 'order':360,514 'other':546 'part':134,234,347,357 'pc':251 'pcbs':405 'peopl':96,309,549,568 'peripher':199 'pi':68,144,184 'pico':185 'place':57,486 'power':157,277 'pretti':423 'previous':20 'print':402,467,525 'printer':506,582 'probabl':286,388 'product':610 'profession':414 'program':87,193 'project':176,241 'pure':74 'python':195 'quit':529 'raspberri':67,143 'realli':528,614 'resistor':267 'result':521 'rework':325 'rs':367 'run':148,427 'sad':612 'say':4,53 'search':358 'second':78 'sell':608 'send':407 'share':542 'small':597 'softwar':395 'solder':291,303,322 'solidwork':493 'someon':634 'someth':122 'soon':282 'sort':16,105 'sourc':343 'space':158 'sparkfun':126,329 'specif':244 'standalon':297 'start':60,137,229,293,489 'station':304,326 'step':616 'strang':95 'struggl':472 'stuff':145,378 'suppli':278 'swear':310 'system':32,44,50,83,115,140,152 'take':436 'teach':107,593 'temperatur':306 'term':41,255 'three':8 'tinkercad':482 'tool':257,491,590 'topic':212 'two':21,56 'typic':426 'unit':434 'unless':507 'usa':454 'usb':276 'use':99,172,355,537,585 'usual':111 'want':167,287,350,389,461,509,622 'way':226,341 'well':1,587 'whole':150 'wire':271 'work':383,604 'would':187 'year':535 'yihua':321"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://voltage.vn/comment/184353"
  +editedAt: null
  +createdAt: DateTimeImmutable @1692770173 {#1377
    date: 2023-08-23 07:56:13.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#314
    +icon: Proxies\__CG__\App\Entity\Image {#295 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#324
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#286 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
    +entries: Doctrine\ORM\PersistentCollection {#229 …}
    +posts: Doctrine\ORM\PersistentCollection {#187 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
    +bans: Doctrine\ORM\PersistentCollection {#166 …}
    +reports: Doctrine\ORM\PersistentCollection {#152 …}
    +badges: Doctrine\ORM\PersistentCollection {#130 …}
    +logs: Doctrine\ORM\PersistentCollection {#120 …}
    +awards: Doctrine\ORM\PersistentCollection {#109 …}
    +categories: Doctrine\ORM\PersistentCollection {#96 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#318
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#317
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    Well, you could say that there are three branches of electronics: analog, digital, and discrete (sort of between the previous two). For your goals, you mainly need to learn about digital systems.\n
    \n
    What you’ll mainly be dealing with in terms of digital systems are microcontrollers and other embedded systems. I’d say the main two places to get started with those are the Arduino and Raspberry Pi ecosystems. The first is “more pure microcontroller” and the second is “more advanced embedded systems”.\n
    \n
    Microcontrollers are mostly programmed in C++ these days (with a few strange people like me using Assembly), and the Arduino ecosystem sort of teaches that. Microcontrollers are usually the most efficient system to make the control electronics for something like a keyboard. Sparkfun and Adafruit are good companies to buy parts to get started from.\n
    \n
    Embedded systems like the Raspberry Pi stuff can often run a whole operating system. This is too expensive (power, space, and $) for most keyboard builds, but you may want to learn how to use them for other projects. However, they also make a microcontroller (the Pi Pico) which would be OK and can be programmed in Python.\n
    \n
    For advanced computer peripherals, you might need to learn FPGAs. However, that can be a difficult topic to get into by comparison. So maybe leave that for later.\n
    \n
    A good way to get started is to buy the parts for, and build, a few Arduino projects. There are specific libraries for making Arduinos emulate a PC keyboard too.\n
    \n
    In terms of tools, at first you will just need a breadboard, some resistors, LEDs and jumper wires. Maybe a battery or USB power supply. A multimeter too.\n
    \n
    Soon after you will probably want to learn to solder to start making your own standalone devices. You should get a soldering station with temperature control – some people swear by Hakko, myself I have a cheap-but-good Yihua soldering + hot air rework station.\n
    \n
    Next, while Sparkfun and Adafruit are great businesses, they are not cost-effective ways to source a lot of parts. You’ll want to learn how to use the part search and ordering functions on Digikey, Mouser, Arrow, and RS Components. Maybe also McMaster-Carr if you do mechanical stuff.\n
    \n
    When you have some working designs done, you will probably want to learn KiCAD. It’s software for designing circuits, and laying out printed circuit boards (PCBs) to send to a factory to be made professionally. Through the magic of globalization, this is actually pretty affordable! A typical run costs me 20-40$ for 10 units, and takes 16 business days – although I live in Asia, so it might cost a little more from the USA or Europe.\n
    \n
    You’ll also maybe want to learn 3D modelling and printing, for designing cases (I struggle with this more than I’d like to admit). TinkerCAD is an OK place to get started, although tools like SolidWorks are certainly more advanced. You don’t need to buy a 3D printer unless you want to – you can just order your designs made online.\n
    \n
    Anyway, the results with KiCAD + 3D printing can be really quite good and can last many years of use. They also let you share your design with others, so other people can make it!\n
    \n
    Finally, if there’s a hackerspace / makerspace in your area, these are great communities of people you can learn from. Definitely check them out. They may have a 3D printer you can use, as well as other tools. Often they teach courses too.\n
    \n
    One small note – getting from “hey neat this works!” to making and selling a product is (sadly) a really big step. So if you one day want to do that, build a network and ask for advice from someone who has gone through it first.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1692853711 {#1768
    date: 2023-08-24 07:08:31.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Cheery@lemmy.sdf.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1378 …}
  +nested: Doctrine\ORM\PersistentCollection {#1371 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#1902 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2483 …}
  -id: 26626
  -bodyTs: "'-40':431 '10':433 '16':437 '20':430 '3d':464,505,524,581 'actual':422 'adafruit':128,331 'admit':481 'advanc':81,197,497 'advic':632 'afford':424 'air':324 'also':179,370,459,539 'although':440,490 'analog':12 'anyway':519 'arduino':65,103,240,248 'area':562 'arrow':365 'asia':444 'ask':630 'assembl':100 'batteri':274 'big':615 'board':404 'branch':9 'breadboard':265 'build':163,237,626 'busi':334,438 'buy':133,232,503 'c':89 'carr':373 'case':470 'certain':495 'cheap':318 'cheap-but-good':317 'check':574 'circuit':398,403 'communiti':566 'compani':131 'comparison':217 'compon':368 'comput':198 'control':119,307 'cost':339,428,448 'cost-effect':338 'could':3 'cours':594 'd':52,478 'day':91,439,621 'deal':38 'definit':573 'design':384,397,469,516,544 'devic':298 'difficult':211 'digikey':363 'digit':13,31,43 'discret':15 'done':385 'ecosystem':69,104 'effect':340 'effici':114 'electron':11,120 'embed':49,82,139 'emul':249 'europ':456 'expens':156 'factori':410 'final':553 'first':71,259,640 'fpgas':205 'function':361 'get':59,136,214,228,301,488,599 'global':419 'goal':24 'gone':637 'good':130,225,320,530 'great':333,565 'hackerspac':558 'hakko':312 'hey':601 'hot':323 'howev':177,206 'jumper':270 'keyboard':125,162,252 'kicad':392,523 'last':533 'later':223 'lay':400 'learn':29,169,204,289,352,391,463,571 'leav':220 'led':268 'let':540 'librari':245 'like':97,123,141,479,492 'littl':450 'live':442 'll':35,349,458 'lot':345 'made':413,517 'magic':417 'main':26,36,55 'make':117,180,247,294,551,606 'makerspac':559 'mani':534 'may':166,578 'mayb':219,272,369,460 'mcmaster':372 'mcmaster-carr':371 'mechan':377 'microcontrol':46,75,84,109,182 'might':201,447 'model':465 'most':86 'mouser':364 'multimet':280 'neat':602 'need':27,202,263,501 'network':628 'next':327 'note':598 'often':147,591 'ok':189,485 'one':596,620 'onlin':518 'oper':151 'order':360,514 'other':546 'part':134,234,347,357 'pc':251 'pcbs':405 'peopl':96,309,549,568 'peripher':199 'pi':68,144,184 'pico':185 'place':57,486 'power':157,277 'pretti':423 'previous':20 'print':402,467,525 'printer':506,582 'probabl':286,388 'product':610 'profession':414 'program':87,193 'project':176,241 'pure':74 'python':195 'quit':529 'raspberri':67,143 'realli':528,614 'resistor':267 'result':521 'rework':325 'rs':367 'run':148,427 'sad':612 'say':4,53 'search':358 'second':78 'sell':608 'send':407 'share':542 'small':597 'softwar':395 'solder':291,303,322 'solidwork':493 'someon':634 'someth':122 'soon':282 'sort':16,105 'sourc':343 'space':158 'sparkfun':126,329 'specif':244 'standalon':297 'start':60,137,229,293,489 'station':304,326 'step':616 'strang':95 'struggl':472 'stuff':145,378 'suppli':278 'swear':310 'system':32,44,50,83,115,140,152 'take':436 'teach':107,593 'temperatur':306 'term':41,255 'three':8 'tinkercad':482 'tool':257,491,590 'topic':212 'two':21,56 'typic':426 'unit':434 'unless':507 'usa':454 'usb':276 'use':99,172,355,537,585 'usual':111 'want':167,287,350,389,461,509,622 'way':226,341 'well':1,587 'whole':150 'wire':271 'work':383,604 'would':187 'year':535 'yihua':321"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://voltage.vn/comment/184353"
  +editedAt: null
  +createdAt: DateTimeImmutable @1692770173 {#1377
    date: 2023-08-23 07:56:13.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1369 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#314
    +icon: Proxies\__CG__\App\Entity\Image {#295 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#324
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#286 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
    +entries: Doctrine\ORM\PersistentCollection {#229 …}
    +posts: Doctrine\ORM\PersistentCollection {#187 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
    +bans: Doctrine\ORM\PersistentCollection {#166 …}
    +reports: Doctrine\ORM\PersistentCollection {#152 …}
    +badges: Doctrine\ORM\PersistentCollection {#130 …}
    +logs: Doctrine\ORM\PersistentCollection {#120 …}
    +awards: Doctrine\ORM\PersistentCollection {#109 …}
    +categories: Doctrine\ORM\PersistentCollection {#96 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#318
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#317
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: null
  +root: null
  +body: """
    Well, you could say that there are three branches of electronics: analog, digital, and discrete (sort of between the previous two). For your goals, you mainly need to learn about digital systems.\n
    \n
    What you’ll mainly be dealing with in terms of digital systems are microcontrollers and other embedded systems. I’d say the main two places to get started with those are the Arduino and Raspberry Pi ecosystems. The first is “more pure microcontroller” and the second is “more advanced embedded systems”.\n
    \n
    Microcontrollers are mostly programmed in C++ these days (with a few strange people like me using Assembly), and the Arduino ecosystem sort of teaches that. Microcontrollers are usually the most efficient system to make the control electronics for something like a keyboard. Sparkfun and Adafruit are good companies to buy parts to get started from.\n
    \n
    Embedded systems like the Raspberry Pi stuff can often run a whole operating system. This is too expensive (power, space, and $) for most keyboard builds, but you may want to learn how to use them for other projects. However, they also make a microcontroller (the Pi Pico) which would be OK and can be programmed in Python.\n
    \n
    For advanced computer peripherals, you might need to learn FPGAs. However, that can be a difficult topic to get into by comparison. So maybe leave that for later.\n
    \n
    A good way to get started is to buy the parts for, and build, a few Arduino projects. There are specific libraries for making Arduinos emulate a PC keyboard too.\n
    \n
    In terms of tools, at first you will just need a breadboard, some resistors, LEDs and jumper wires. Maybe a battery or USB power supply. A multimeter too.\n
    \n
    Soon after you will probably want to learn to solder to start making your own standalone devices. You should get a soldering station with temperature control – some people swear by Hakko, myself I have a cheap-but-good Yihua soldering + hot air rework station.\n
    \n
    Next, while Sparkfun and Adafruit are great businesses, they are not cost-effective ways to source a lot of parts. You’ll want to learn how to use the part search and ordering functions on Digikey, Mouser, Arrow, and RS Components. Maybe also McMaster-Carr if you do mechanical stuff.\n
    \n
    When you have some working designs done, you will probably want to learn KiCAD. It’s software for designing circuits, and laying out printed circuit boards (PCBs) to send to a factory to be made professionally. Through the magic of globalization, this is actually pretty affordable! A typical run costs me 20-40$ for 10 units, and takes 16 business days – although I live in Asia, so it might cost a little more from the USA or Europe.\n
    \n
    You’ll also maybe want to learn 3D modelling and printing, for designing cases (I struggle with this more than I’d like to admit). TinkerCAD is an OK place to get started, although tools like SolidWorks are certainly more advanced. You don’t need to buy a 3D printer unless you want to – you can just order your designs made online.\n
    \n
    Anyway, the results with KiCAD + 3D printing can be really quite good and can last many years of use. They also let you share your design with others, so other people can make it!\n
    \n
    Finally, if there’s a hackerspace / makerspace in your area, these are great communities of people you can learn from. Definitely check them out. They may have a 3D printer you can use, as well as other tools. Often they teach courses too.\n
    \n
    One small note – getting from “hey neat this works!” to making and selling a product is (sadly) a really big step. So if you one day want to do that, build a network and ask for advice from someone who has gone through it first.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1692853711 {#1768
    date: 2023-08-24 07:08:31.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Cheery@lemmy.sdf.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1378 …}
  +nested: Doctrine\ORM\PersistentCollection {#1371 …}
  +votes: Doctrine\ORM\PersistentCollection {#2427 …}
  +reports: Doctrine\ORM\PersistentCollection {#1902 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2483 …}
  -id: 26626
  -bodyTs: "'-40':431 '10':433 '16':437 '20':430 '3d':464,505,524,581 'actual':422 'adafruit':128,331 'admit':481 'advanc':81,197,497 'advic':632 'afford':424 'air':324 'also':179,370,459,539 'although':440,490 'analog':12 'anyway':519 'arduino':65,103,240,248 'area':562 'arrow':365 'asia':444 'ask':630 'assembl':100 'batteri':274 'big':615 'board':404 'branch':9 'breadboard':265 'build':163,237,626 'busi':334,438 'buy':133,232,503 'c':89 'carr':373 'case':470 'certain':495 'cheap':318 'cheap-but-good':317 'check':574 'circuit':398,403 'communiti':566 'compani':131 'comparison':217 'compon':368 'comput':198 'control':119,307 'cost':339,428,448 'cost-effect':338 'could':3 'cours':594 'd':52,478 'day':91,439,621 'deal':38 'definit':573 'design':384,397,469,516,544 'devic':298 'difficult':211 'digikey':363 'digit':13,31,43 'discret':15 'done':385 'ecosystem':69,104 'effect':340 'effici':114 'electron':11,120 'embed':49,82,139 'emul':249 'europ':456 'expens':156 'factori':410 'final':553 'first':71,259,640 'fpgas':205 'function':361 'get':59,136,214,228,301,488,599 'global':419 'goal':24 'gone':637 'good':130,225,320,530 'great':333,565 'hackerspac':558 'hakko':312 'hey':601 'hot':323 'howev':177,206 'jumper':270 'keyboard':125,162,252 'kicad':392,523 'last':533 'later':223 'lay':400 'learn':29,169,204,289,352,391,463,571 'leav':220 'led':268 'let':540 'librari':245 'like':97,123,141,479,492 'littl':450 'live':442 'll':35,349,458 'lot':345 'made':413,517 'magic':417 'main':26,36,55 'make':117,180,247,294,551,606 'makerspac':559 'mani':534 'may':166,578 'mayb':219,272,369,460 'mcmaster':372 'mcmaster-carr':371 'mechan':377 'microcontrol':46,75,84,109,182 'might':201,447 'model':465 'most':86 'mouser':364 'multimet':280 'neat':602 'need':27,202,263,501 'network':628 'next':327 'note':598 'often':147,591 'ok':189,485 'one':596,620 'onlin':518 'oper':151 'order':360,514 'other':546 'part':134,234,347,357 'pc':251 'pcbs':405 'peopl':96,309,549,568 'peripher':199 'pi':68,144,184 'pico':185 'place':57,486 'power':157,277 'pretti':423 'previous':20 'print':402,467,525 'printer':506,582 'probabl':286,388 'product':610 'profession':414 'program':87,193 'project':176,241 'pure':74 'python':195 'quit':529 'raspberri':67,143 'realli':528,614 'resistor':267 'result':521 'rework':325 'rs':367 'run':148,427 'sad':612 'say':4,53 'search':358 'second':78 'sell':608 'send':407 'share':542 'small':597 'softwar':395 'solder':291,303,322 'solidwork':493 'someon':634 'someth':122 'soon':282 'sort':16,105 'sourc':343 'space':158 'sparkfun':126,329 'specif':244 'standalon':297 'start':60,137,229,293,489 'station':304,326 'step':616 'strang':95 'struggl':472 'stuff':145,378 'suppli':278 'swear':310 'system':32,44,50,83,115,140,152 'take':436 'teach':107,593 'temperatur':306 'term':41,255 'three':8 'tinkercad':482 'tool':257,491,590 'topic':212 'two':21,56 'typic':426 'unit':434 'unless':507 'usa':454 'usb':276 'use':99,172,355,537,585 'usual':111 'want':167,287,350,389,461,509,622 'way':226,341 'well':1,587 'whole':150 'wire':271 'work':383,604 'would':187 'year':535 'yihua':321"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://voltage.vn/comment/184353"
  +editedAt: null
  +createdAt: DateTimeImmutable @1692770173 {#1377
    date: 2023-08-23 07:56:13.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#314
  +icon: Proxies\__CG__\App\Entity\Image {#295 …}
  +name: "askelectronics@discuss.tchncs.de"
  +title: "askelectronics"
  +description: """
    **For questions about component-level electronic circuits, tools and equipment.**\n
    \n
    Rules\n
    -----\n
    \n
    1: Be nice.\n
    \n
    2: Be on-topic (eg: *Electronic*, not *electrical*).\n
    \n
    3: No commercial stuff, buying, selling or valuations.\n
    \n
    4: Be safe.\n
    \n
    ---
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 154
  +entryCommentCount: 1230
  +postCount: 1
  +postCommentCount: 4
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729413608 {#324
    date: 2024-10-20 10:40:08.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#286 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#282 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#271 …}
  +entries: Doctrine\ORM\PersistentCollection {#229 …}
  +posts: Doctrine\ORM\PersistentCollection {#187 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#249 …}
  +bans: Doctrine\ORM\PersistentCollection {#166 …}
  +reports: Doctrine\ORM\PersistentCollection {#152 …}
  +badges: Doctrine\ORM\PersistentCollection {#130 …}
  +logs: Doctrine\ORM\PersistentCollection {#120 …}
  +awards: Doctrine\ORM\PersistentCollection {#109 …}
  +categories: Doctrine\ORM\PersistentCollection {#96 …}
  -id: 11
  +apId: "askelectronics@discuss.tchncs.de"
  +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
  +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
  +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
  +apInboxUrl: "https://discuss.tchncs.de/inbox"
  +apDomain: "discuss.tchncs.de"
  +apPreferredUsername: "askelectronics"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1727247714 {#318
    date: 2024-09-25 09:01:54.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1687144409 {#317
    date: 2023-06-19 05:13:29.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details