the Open Source hardware thread

Discussion in 'Open Source' started by icebags, Aug 11, 2013.

  1. icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    Arduino

    Alright, several TDF members are on their way to acquire their arduino boards from abroad. And I personally am trying to build one.

    If any of you have experience with arduino, kindly share knowledge.

    An arduino board can easily be purchased from ebay with pricing from ~500 and above. Arduino Uno boards cost ~1k and they are the current version for low end boards.

    Click for Different types of Arduino boards.

    Please note that, if you are starting new @ arduino, it is recommended to get a Diecimila / Duemilanove / Uno board. There previous two are outdated while Uno is the current standard. Apart from that, you can also acquire a Leonardo board, that has some spec advantages over Uno [Differences].

    If you are familiar with electronics circuit making, you may try to build one for yourself :
    (1) Arduino Single-Sided Serial Board.
    (2) Diecimila. - This would be difficult to make though, you will have to solder a SMD IC FT232 on board, and will need to design the pcb layout yourself.

    Things to remember when making / purchasing an Uno board:

    The main microcontroller is either of ATmega8, ATmega168, ATmega328p. They have ~8KB,16KB,32KB of flash memory for porgram & bootloader storage.

    If making a board, make sure to purchase the atmega micro controller chip that comes with bootloader preloaded (available in ebay), if not, then you will need an AVR programming device like USBAsp (available at ebay as well). Getting an USBAsp is good idea, so that u can later flash the bootloader of chip.
    However, an arduino board can be flashed with another arduino board too, if you don't have the AVR programmer.

    Diecimila / Duemilanove / Uno are all compatible design, so, these boards can be flashed with Uno bootloader if required.

    I have not acquired the board yet, but those who have, please share ideas, guides and share some of your own projects thinking to undertake or already worked upon. :oops:

    Do it yourself :
     
    Last edited: Sep 12, 2013
  2. quagmire

    quagmire Allllright !

    Joined:
    Sep 9, 2011
    Messages:
    797
    Likes Received:
    1
    Trophy Points:
    18
    Location:
    Been there done that
  3. gopi_vbboy

    gopi_vbboy New Member

    Joined:
    Mar 1, 2007
    Messages:
    1,507
    Likes Received:
    9
    Trophy Points:
    0
    Location:
    Hyderabad
    Good ...
     
  4. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    @quagmire thanks for the list. don't forget to post pics if u have already done some projects. :D
     
  5. gopi_vbboy

    gopi_vbboy New Member

    Joined:
    Mar 1, 2007
    Messages:
    1,507
    Likes Received:
    9
    Trophy Points:
    0
    Location:
    Hyderabad
    1.I suggest we rename thread to open source hardware thread and move to open source section.....wat to do you say guys?

    might be apt to discuss arduino, beaglebone,rasberry pi etc open source hardware projects on single threads.



    2.Heres a comparision of OSH boards for info
    [​IMG]

    source
     
  6. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    ^If people decide to do that, please include "-Arduino/Rasp-Pi/BeagleBone" to thread title, so that people easily understand whats going on inside. :)
     
  7. quagmire

    quagmire Allllright !

    Joined:
    Sep 9, 2011
    Messages:
    797
    Likes Received:
    1
    Trophy Points:
    18
    Location:
    Been there done that
    I agree with gopi_vbboy and icebags. +1 to 'Open source hardware'.

    BTW I'm planning to buy a BeagleBone Black ( probably import for 45$ ) soon :D
     
  8. gopi_vbboy

    gopi_vbboy New Member

    Joined:
    Mar 1, 2007
    Messages:
    1,507
    Likes Received:
    9
    Trophy Points:
    0
    Location:
    Hyderabad
    sure as op ..you can pm any moderators (in green) to do that...its your call...i don't have permissions to do that
     
  9. Flash

    Flash Speed Ghost

    Joined:
    Jul 18, 2010
    Messages:
    4,533
    Likes Received:
    5
    Trophy Points:
    38
    Location:
    <Classified>
  10. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    thanks for the link, but instead of posting ready made projects, why don't share some of your own projects thinking to undertake or already worked upon. [​IMG]

    that will be more interesting to see.
     
    Last edited: Aug 12, 2013
  11. d3p

    d3p PowerHouse

    Joined:
    Jan 28, 2010
    Messages:
    2,275
    Likes Received:
    21
    Trophy Points:
    0
    Location:
    Bangalore
    Yes, i too agree there.

    Why not we post our own projects & details ??

    Anyway eagerly waiting to try my hands on this. Meantime bought couple of things from local electronics store.

    1). Soldering Station [Cheap one], liquid flux & Solder.

    2). Few Resistors, Capacitors & Diodes.

    3). Breadboard

    4). Wire Stripper & Cutter

    5). 16x2 lcd.

    I hope by next weekend, i can post some crazy screenshot with my 8051 board & later with Ardruino
     
  12. gopi_vbboy

    gopi_vbboy New Member

    Joined:
    Mar 1, 2007
    Messages:
    1,507
    Likes Received:
    9
    Trophy Points:
    0
    Location:
    Hyderabad
    Some intresting tedx on OSH

    1.



    2.
     
  13. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    ^ its is amazing how ppl come up with those awesome ideas. just give them the tools to pley and they will make wonders. :)
     
  14. gopi_vbboy

    gopi_vbboy New Member

    Joined:
    Mar 1, 2007
    Messages:
    1,507
    Likes Received:
    9
    Trophy Points:
    0
    Location:
    Hyderabad
    Good intro



     
  15. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    ^ interesting. but where to find a beaglebone black at suitable price ? saw one @ ebay @4.5k but is that a proper price ? raspberry seems a bit cheaper.

    realtime monitoring from pc is really a +point of beagle, what kind of web based programming platform u think is suitable for a black (it being the server and to be accessed from pc via lan) ? that can show the beagle port telemetry with numeric data as well as in graph format, while being lightweight.


    hey ! what happened to pics u promised ? :eek:
     
  16. Mr.Kickass

    Mr.Kickass New Member

    Joined:
    Aug 27, 2013
    Messages:
    302
    Likes Received:
    3
    Trophy Points:
    0
    Its okay as long as you don't have much content but once this thread begins to grow a separate sub-thread for each uC is a must.

    I'll pick the Arduino. Needs only C++. Ready to use libraries. Excellent community support. Can even use AVR tools with Arduino as they all have the ATmega328. Though I worked on ATmega16.
     
    Last edited: Sep 11, 2013
  17. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    ^arduino is going to be popular because its cheap, easily obtainable, but dont know about others.
    some members ordered arduino development boards from abroad and we are expecting to do some projects together, when they arrive.

    meanwhile i received the atmega328 microprocessor from ebay @ ~320/-, that came with uno bootloader. going to set it up on a breadboard. also collected other components locally and prepared an usb cord for +5v supply. serial port interface is pending, & when it's done i will post. :D

    if anyone more is interested, may check this link and post back any query in mind: Arduino - Setting up an Arduino on a breadboard
     
  18. gopi_vbboy

    gopi_vbboy New Member

    Joined:
    Mar 1, 2007
    Messages:
    1,507
    Likes Received:
    9
    Trophy Points:
    0
    Location:
    Hyderabad
    I have many doubts ppl ..sry asking due to high curiosity ..answer if u can help me..

    In case of a embedded system lets say beagle-board or a custom board made from it using ARM-

    1.How does linux know that a we use a particular processor and have connected peripherals in a particular way?
    Say i have connected SDCARD controller to some pins.
    How does linux know its at that particular pins ?
    I means how are pins mapped to registers of particular peripherals?
    It seems we need something called board support package like bios.Who gives this?Manufacturer?

    If i compare with PC i get confused.In pc we have BIOS and we just use mass storage to boot linux and install.
    PC motherboard are designed by vendor.But if i want to start with custom design of beagle, how to i add linux to it?

    2.After some research, it appears that the a OS has to be ported to the board architecture which loads to RAM by bootloader.
    Additionally we need to write device driver if any for custom peripherals.How do we write boot loader to a
    custom board design rather than beagle board?How Device driver written or we optimize existing ones?

    3.Is there any good book to understand these things about Linux+ARM os porting+ Device drivers+Hardware design?
    I have good basics in EE and familiar working on pic microcontroller.So looking for resources.

    Thanks in advance friends
     
  19. OP
    icebags

    icebags Active Member

    Joined:
    May 10, 2008
    Messages:
    1,622
    Likes Received:
    6
    Trophy Points:
    38
    ^ supported linux comes with drivers for the beaglebone arm chip and architecture, there is no other way it would have worked.
    ^the attached sd card socket is already mapped for os loading purposes, it is the mass storage drive recognized by by the i/o chip interfacing bus.
    ^u can not attach sd card to any random input/output ports - be they analog or digital, if u attach, u will have to program it for those particular ports.

    ^if u want to write custom boot-loaders, u have to study the processor manual, write a c program i guess, initializing the processor registers, referencing the ram addresses etc, & then burn the hex code of the c program to the boot rom chip on board, by mean of a programmer board/hardware specific for that particular chip - this is true for arduino, i don't know about beagle, but they should be same.

    ^google & youtube are ur best book there.
     
  20. Mr.Kickass

    Mr.Kickass New Member

    Joined:
    Aug 27, 2013
    Messages:
    302
    Likes Received:
    3
    Trophy Points:
    0
    This is more of an OS related question. You'll need to study the Linux OS by some standard author to understand memory calls, interrupts... I'm not the best person to answer that.

    Your bios in case of a microcontroller(uC) is the bootloader. It sits right inside the ROM memory(specific to the device so refer to the datasheet) and it can access any of inbuilt peripherals like USB, USART, CAN, SPI, etc. to exchange the data and this capability is used to write the flash memory. If it is not found then the program counter will point to the memory location 0000H(for example in ATmega16) and start executing the instructions which are written in the memory of the device.

    The PC has a different architecture.

    Again, OS centric question. You should ask in Beagleboard forums probably they have a better understanding of the platform. One of the members seems to have a similar query where he wants to replicate a design on his own. Though at this stage you won't understand much of it unless you have a working knowledge of Linux but still, just have a look.

    Cloning Beaglebone

    There is no need to write a bootloader to a custom design or even the manufacturer shipped official Beagleboard. You should be more concerned with burning the bootloader than making it, though you can provided you know the Linux Kernel thoroughly. Making a bootloader is more of a specialist subject so publicly you won't find a standard text. You'll have to dig.

    I have books on the subjects but forgot to bookmark them :D

    I will however mention the standard references so you know what to look for however, you'll need to hunt for illegal sources as they are prohibited from posting here on this forum :twisted:

    This should be the ideal starting point
    Operating Systems : Internals and Design Principles 6 Edition

    Step 2
    Linux Kernel Development

    A great free book :D
    Linux Kernel in a Nutshell

    Step 3: This is where you are on your own now
    Writing device drivers in Linux: A brief tutorial

    Don't get turned off by the funny title, the author is a post graduate in CS from IISC :p
    Device Drivers, Part 1: Linux Device Drivers for Your Girl Friend

    ARM is a different story, but Linux still applies

    Start, here
    The Definitive Guide to the ARM Cortex-M3
    (Probably the most popular text)

    Then this
    ARM System-on-Chip Architecture

    I have both books with me but those links are now probably taken down. I had used blackhat methods to get them :twisted: so if you need it badly then I'll upload it to some file host for you to download but the first book on ARM is easily available. The second one will be, if you google hard enough.

    Now, I hope you have something to read this weekend :D

    The simplest and most effective answer. Even beats my own :-x
     

Share This Page