Bitcoin Forum

Bitcoin => Project Development => Topic started by: allten on November 24, 2012, 08:28:40 PM



Title: BitSafe Hardware Wallet Development
Post by: allten on November 24, 2012, 08:28:40 PM
Bitsafe Hardware Wallet Development:

New Thread with new discussion and direction:
https://bitcointalk.org/index.php?topic=152517.0


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Xenland on November 25, 2012, 02:40:08 PM
No licensing terms planned?


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: allten on November 25, 2012, 02:42:48 PM
No licensing terms planned?

Open Source.
Someone42 was working on it. Either way, all design files will be made available.
I would just like to refine a few things first.

BTW, thanks for the reference to the ATMEL HRNG. I put it in the circuit.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Xenland on November 25, 2012, 05:32:43 PM
No licensing terms planned?

Open Source.
Someone42 was working on it. Either way, all design files will be made available.
I would just like to refine a few things first.

BTW, thanks for the reference to the ATMEL HRNG. I put it in the circuit.

Cool cool I'll be checking back looks like a fun project!


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Luke-Jr on November 25, 2012, 09:10:41 PM
This sounds very memory/storage constrained. A Raspberry Pi is cheaper and far more powerful. Surely there should be some way to improve?


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: allten on November 25, 2012, 10:55:49 PM
This sounds very memory/storage constrained. A Raspberry Pi is cheaper and far more powerful. Surely there should be some way to improve?


Good points. It has sufficient to store private keys and generate signatures. That's the important part.
The rest of Wallet management can be done on the PC side.

The main advantage over the rasberry Pi is a final product will be easy to pack with you. Like a thumb drive.

The price is high. I agree with you. Wish I had the resources and help to make a final mass produced product.
Low volume engineering is more costly
If we get through the first stage of development, at least we will not need the PK3 programmers because of a boot loader.
Maybe by then, i will learn of quicker and cheaper ways to purchase PCBs and assembly methods.

Should be able to get this in the $20 dollar price range, but that's not realistic in the short term.
I will be preparing the order for the PCBs and components this weak so I will be able to refine the price.
The first lot of PCBs is for hardware validation so it will be a low volume order (around 5 maybe).

Anyone can point me to a good PCB fab house would be appreciated. I need at least 6 mils trace to trace.





Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Luke-Jr on November 25, 2012, 10:59:26 PM
It has sufficient to store private keys and generate signatures. That's the important part.
Where will you store the private keys? The EEPROM says not there, and I presume the SoC flash is for code...

For something like this, it really makes sense to use a HD wallet.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: 2112 on November 25, 2012, 11:03:27 PM
A Raspberry Pi is cheaper and far more powerful.
In Raspbery Pi a closed source GPU boots and controls the CPU. It is going to be a new frontier for hacking the gullible. Score for Broadcom.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Luke-Jr on November 25, 2012, 11:08:02 PM
A Raspberry Pi is cheaper and far more powerful.
In Raspbery Pi a closed source GPU boots and controls the CPU. It is going to be a new frontier for hacking the gullible. Score for Broadcom.
It's my understanding that the GPU and bootloader were opened. Besides, this device doesn't need to use a GPU.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: 2112 on November 25, 2012, 11:19:20 PM
It's my understanding that the GPU and bootloader were opened. Besides, this device doesn't need to use a GPU.
I'm sorry, but this is disinformation. I repeat: GPU boots first, then it starts the CPU. The "open source" driver is just a lean thunk layer to call back the real supervisor that runs on the GPU's undocumented instruction set. GPU also does things like power management.

Broadcom guys are very smart and very cynical. Turning upside down the central processor vs. peripheral processor architecture was a very smart, forward looking move.

Edit: Before anyone quotes the above: the term GPU is also a disinformation. The main processing unit in the Broadcom VideoCore architecture is a systolic array of relatively slow-clocked DSP processors. It works as a GPU when the DSP chips are executing graphic pipeline code. The secret architecture of the VideoCore processors was a serious drawback... unitil they came with a bright idea of tackling an ARM CPU running as an attached processor. This allows Broadcom to claim some sort of openness to bait the uninformed. It also allows them to markets using Android on ARM.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: allten on November 26, 2012, 01:54:57 AM
It has sufficient to store private keys and generate signatures. That's the important part.
Where will you store the private keys? The EEPROM says not there, and I presume the SoC flash is for code...

For something like this, it really makes sense to use a HD wallet.

The EEPROM is an external chip. Not ideal for storing keys that are not encrypted. It's good for storing small chunks of data regarding addresses and transactions.
The Chip can self write to the Flash and is as good as EEPROM other than the write time is a little longer.

What's an HD Wallet?


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: AfricanHunter on November 26, 2012, 09:19:19 AM
Any anticipated date this will be ready for public consumption?


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: 2weiX on November 26, 2012, 09:58:35 AM
want


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Icoin on November 26, 2012, 01:19:00 PM
Hi allten, please contact Unthinking concerning your Devcoin listing.

https://bitcointalk.org/index.php?topic=34586.msg1357529#msg1357529


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Justin00 on November 26, 2012, 01:23:04 PM
bitsafe ay.

I trademarked that name a few months back !!

bitsafe or bit-safe etc

well.. not really :P


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: Luke-Jr on November 26, 2012, 03:17:45 PM
It has sufficient to store private keys and generate signatures. That's the important part.
Where will you store the private keys? The EEPROM says not there, and I presume the SoC flash is for code...

For something like this, it really makes sense to use a HD wallet.

The EEPROM is an external chip. Not ideal for storing keys that are not encrypted. It's good for storing small chunks of data regarding addresses and transactions.
The Chip can self write to the Flash and is as good as EEPROM other than the write time is a little longer.

What's an HD Wallet?
But there isn't much flash available. I suppose you could easily set aside room for a single private key (which is fine for a HD wallet). Is there a reason for using EEPROM over flash memory?

Who is writing the software for this? 512 kB is probably smaller than the smallest MIPS program I can easily write (eg, standard C). A HD (hierarchial deterministic) wallet is easily the ideal design for a device like this where you only have space for a single private key. You can build multiple chains of basically unlimited addresses from just that one key. BIP 32 (https://en.bitcoin.it/wiki/BIP_0032) is the specification.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: hazek on November 26, 2012, 04:34:54 PM
So I'm a bit confused, is this going to work similar to the piglet or what is the difference?


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: allten on November 26, 2012, 05:56:16 PM
So I'm a bit confused, is this going to work similar to the piglet or what is the difference?

Overall, there's not Much Difference really. This has been in the works for a few months now.
The Piglet took me by surprise and I wasn't sure what to do.

I've decided to go full steam ahead. In the end, it can only help Bitcoin.

Who Knows, when I'm done publishing all my design files to this thread, it may even help them.


Title: Re: BitSafe - Hardware Wallet Development Kit
Post by: hazek on November 26, 2012, 06:26:23 PM
Cool and good luck.


Title: Re: BitSafe Hardware Wallet Development - SCHEMATIC NOW INCLUDED
Post by: slush on November 27, 2012, 11:08:56 AM
Who is writing the software for this? 512 kB is probably smaller than the smallest MIPS program I can easily write (eg, standard C).

Actually 512kB is far enough for this purpose. We're working on solution (https://bitcointalk.org/index.php?topic=122438) with 256kB of flash. And yes, BIP32 is a way to go for such small devices.


Title: Re: BitSafe Hardware Wallet Development - SCHEMATIC NOW INCLUDED
Post by: slush on November 27, 2012, 11:13:24 AM
Who Knows, when I'm done publishing all my design files to this thread, it may even help them.

Although we're using another platform, your choice for HRNG is quite interesting. We ordered some Atmel samples and we will do some tests with them. Unfortunatey Atmel is very unclear about *how* their HRNG works. I must say that bitcoin wallet requires much stronger HRNG source than any other common device and I'm concerned about the true randomness of it.


Title: Re: BitSafe Hardware Wallet Development - SCHEMATIC NOW INCLUDED
Post by: stick on November 27, 2012, 11:20:27 AM
Actually 512kB is far enough for this purpose. We're working on solution (https://bitcointalk.org/index.php?topic=122438) with 256kB of flash. And yes, BIP32 is a way to go for such small devices.

Comparing apples and oranges here. Bitsafe is MIPS architecture, ours is ARM. MIPS binaries are approx 2x bigger than ARM ones.


Title: Re: BitSafe Hardware Wallet Development - SCHEMATIC NOW INCLUDED
Post by: 2112 on November 27, 2012, 11:34:33 AM
Comparing apples and oranges here. Bitsafe is MIPS architecture, ours is ARM. MIPS binaries are approx 2x bigger than ARM ones.
Are you sure? Are you really comparing MIPS16 with Thumb?

I've seen some numbers for an older project and the MIPS vs. MIPS16
and ARM vs. Thumb sizes were within about 10% of each other. Tests were made with commercial C compilers, not GCC though. Maybe some GCC oddity?


Title: Re: BitSafe Hardware Wallet Development - SCHEMATIC NOW INCLUDED
Post by: allten on November 27, 2012, 02:36:12 PM
Comparing apples and oranges here. Bitsafe is MIPS architecture, ours is ARM. MIPS binaries are approx 2x bigger than ARM ones.
Are you sure? Are you really comparing MIPS16 with Thumb?

I've seen some numbers for an older project and the MIPS vs. MIPS16
and ARM vs. Thumb sizes were within about 10% of each other. Tests were made with commercial C compilers, not GCC though. Maybe some GCC oddity?



Yes, it is true. They are pretty close. Someone42 has even verified this.
Thanks


Title: Re: BitSafe Hardware Wallet Development - SCHEMATIC NOW INCLUDED
Post by: allten on November 27, 2012, 02:37:54 PM
Who Knows, when I'm done publishing all my design files to this thread, it may even help them.

Although we're using another platform, your choice for HRNG is quite interesting. We ordered some Atmel samples and we will do some tests with them. Unfortunatey Atmel is very unclear about *how* their HRNG works. I must say that bitcoin wallet requires much stronger HRNG source than any other common device and I'm concerned about the true randomness of it.

That's cool Slush. Please let me know how it goes.


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: allten on December 05, 2012, 05:22:50 AM
Update: 12/04/2012
       Finished the BOM today. It can be viewed here:
https://www.dropbox.com/s/o8u356ubi61wzy6/BOM_0.1_LastUpdate_10_25_2012.pdf

The total COMPONENT price is $30.91 USD (note: price for components ordered individually).

I think I will be able to get the component price below $20.00 USD with samples and a larger order.

Instead of waiting to see who will order to get an idea of how many of these to build, I went ahead
and decided to build 50+. It will be a risk on my part and I will be putting all the money down.

Look what I discovered:
The first time the name "BitSafe" was used can be found here:
https://github.com/rb1205/BitSafe
Credits go to Riccardo Belloli for the name


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: hazek on December 05, 2012, 11:49:11 AM
Wait, you finished the hardware wallet?


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: slush on December 05, 2012, 12:05:53 PM
Look what I discovered:
The first time the name "BitSafe" was used can be found here:
https://github.com/rb1205/BitSafe

"Bitsafe needs a device of at least 4 gb with decent write speed."

I understand it is "standard" desktop wallet, using USB flash disks just as storages.


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: slush on December 05, 2012, 12:07:20 PM
https://www.dropbox.com/s/o8u356ubi61wzy6/BOM_0.1_LastUpdate_10_25_2012.pdf

Really "OLED 0.92" 128x64 Monochrome White" for <$5 ? At what quantity?


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: allten on December 05, 2012, 05:45:21 PM
Wait, you finished the hardware wallet?

That would be nice. More like I hit another milestone.
I now have a good idea of what the component price (not the same as the TOTAL PRICE) will be for my goal of getting 50 boards ready.

Here's what I have left to do:
        Order Components
        Request Samples
        Put Finishing touches on PCB and also make it more friendly for production
        Order PCBs
        Assemble a Couple boards
        Validate the Design (this will take a while and if anything needs revised its a set back of a three to four weeks and ~$200 USD with the PCB Fab house I'm considering)
        If all goes well with first board design (usually wishful thinking) then I will see how fast and cheap I can get the rest of the boards assembled.

Since you are interesting in how long, I think Someone42 and I will have a few boards assembled for validation only in 6 to 8 weeks.
I'm plan on staying at the validation phase for a while. Don't want to rush boards to everyone without finding the HW bugs first.


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: allten on December 05, 2012, 05:52:08 PM
https://www.dropbox.com/s/o8u356ubi61wzy6/BOM_0.1_LastUpdate_10_25_2012.pdf

Really "OLED 0.92" 128x64 Monochrome White" for <$5 ? At what quantity?

I got a quote for 65. Not sure if it is the best price, but seamed pretty good
for a low quantity order. Let me know if your interested in the company I ordered from.


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: allten on December 05, 2012, 05:55:05 PM
Clarification: "50 kits being prepared"

What I mean by this is I'm sampling, ordering, and gathering all the components right now for at least 50 kits. I'm not at the PCB assembly stage.

-Allten


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: hazek on December 05, 2012, 06:06:27 PM

Since you are interesting in how long, I think Someone42 and I will have a few boards assembled for validation only in 6 to 8 weeks.
I'm plan on staying at the validation phase for a while. Don't want to rush boards to everyone without finding the HW bugs first.


Sounds excellent! I really can't wait until both your hardware wallet and the piglet become available and make secure handling of bitcoins with ease accessible to any user.


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: allten on January 03, 2013, 03:55:37 AM
Update: 02/02/2013 01/02/2013 :P

Ok, as mentioned before there are 50 kits being prepared to be distributed to developers, early adopters, and beta testers.
I've calculated a final price today for DEVELOPERS ONLY: it's $28.00 per device. This price
excludes the time and/or money that will go into the final fabrication and assembly. It's my gift to Bitcoin.
At this price, I just might break even with all the money I've personally put into the project.
(Assuming I don't have to re-spin some PCBs: wishful thinking, but I will personally eat the costs)

The final price for early adopters and others interested in having the latest cool gadget is $45.00 Dollars.
It takes a lot of time, special equipment, and skill to manually assembly a project like this with quality.

NOTES:

1)The price does not include a USB extension cable which is HIGHLY RECOMMENDED for
developers: $4.05 + Shipping
http://www.amazon.com/Black-Foot-USB-Extension-Cable/dp/B001G4ZA6I/ref=pd_bxgy_pc_img_y
2) This price does not include a PicKit 3 which is a must at this early level of development: $45.00 + Shipping
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130
3) There will be some testing of each device, but minimal.
4) Price for Developers and others does not include shipping costs.
5) 30 day money back, but shipping is paid by buyer both ways.

Total Developers COST: 28.00 + $4.00 + 45.00 + Shipping = $77.0

So, am I ready to take orders? Not even close!

So, why did I update and bump my thread?
Well, I need to get a list of all interested developers.
This will help me get an idea of how many night and weekend hours I'm going to be assembling boards for free. PLUS, I would appreciate
if potential DEVELOPERS that are hindered by the price offered would allow me to post a unique BTC addresses for donations on their behalf.

Thanks.


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: paybitcoin on January 03, 2013, 05:53:45 AM
Update OP: 02/02/2013
Minor note - You are a month too late in your date! Don't slip the schedule just yet!!!


I'd be in for a development kit. I can do all the soldering as well if that is an option. I could possibly assist with some assembly on the production run as well, I have the basics to do prototypes and short runs available at work. (stencil printer, reflow oven, small tweezers & steady hands :))

What is included in the dev kit? I am assuming just the board and components? I already have an ICD3...

You should also quote USB extension cables from monoprice.com, for only $1.79/1qty (+shipping) (http://www.monoprice.com/products/product.asp?c_id=103&cp_id=10303&cs_id=1030304&p_id=8608&seq=1&format=2)

Also, looking at the BOM + schematic, I see the Atmel IC as RNG, so all of the 'Universal Hardware RNG' components would go away, correct? Or would it be an assembly option?

Thanks!


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: allten on January 03, 2013, 06:24:22 AM
Update OP: 02/02/2013
Minor note - You are a month too late in your date! Don't slip the schedule just yet!!!


I'd be in for a development kit. I can do all the soldering as well if that is an option. I could possibly assist with some assembly on the production run as well, I have the basics to do prototypes and short runs available at work. (stencil printer, reflow oven, small tweezers & steady hands :))

What is included in the dev kit? I am assuming just the board and components? I already have an ICD3...

You should also quote USB extension cables from monoprice.com, for only $1.79/1qty (+shipping) (http://www.monoprice.com/products/product.asp?c_id=103&cp_id=10303&cs_id=1030304&p_id=8608&seq=1&format=2)

Also, looking at the BOM + schematic, I see the Atmel IC as RNG, so all of the 'Universal Hardware RNG' components would go away, correct? Or would it be an assembly option?

Thanks!

Fixed the date. Thanks!

I was hoping to have both HRNG on the PCB before sending it out (The Atmel will be on there for sure). The circuity for the other one is very flexible and I'm unsure what the final values will be.

I'll update the price for the USB extension. Thanks again!

I'm not sure if the ICD3 will work. I'll have to look into it. If it does, you will still need an RJ-45 to a 6-pin female pin header adapter.

Your offer to help assembly is extremely appreciated. Stencil printing too; I'm envious, but this is really great. Whereabouts in the world you located? I'm in Arizona.


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: paybitcoin on January 03, 2013, 07:50:09 AM
I'm not sure if the ICD3 will work. I'll have to look into it. If it does, you will still need an RJ-45 to a 6-pin female pin header adapter.
It looks like the ICD3 will support the PIC32 from microchip's website. Also, I have made lots of custom programming headers, since RJ-11 is a horrible choice for a programming header.

Quote
Your offer to help assembly is extremely appreciated. Stencil printing too; I'm envious, but this is really great. Whereabouts in the world you located? I'm in Arizona.

I'm in TX, whois paybitcoin.com + google if you must know  ;)... At work we do a bunch of prototyping and custom engineering work. Mostly with Linux/Android now on armv7a using CPU system-on-modules since our apps got more complex, but used to be all PIC18. We started to move off to other architectures (Cortex-M3) since MPLAB is such a bad IDE, and mostly the 4096 byte RAM limit with PIC18s. I haven't used the PIC24 or PIC32 though.


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: someone42 on January 03, 2013, 12:10:35 PM
2) This price does not include a PicKit 3 which is a must at this early level of development: $45.00 + Shipping
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130

It is possible to avoid using a PicKit 3. If the dev board is loaded with an appropriate bootloader (eg. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en554836 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en554836)), it should be possible to program the device using the on-board USB port.

What the PicKit3 is useful for, is if:
  • You want to develop or modify the bootloader itself (if you mess up the bootloader, you could brick the PIC32, in which case you need a PicKit3 to recover).
  • You want good integration with MPLAB.
  • You want to use debugging features like breakpoints, watches etc.

Also, looking at the BOM + schematic, I see the Atmel IC as RNG, so all of the 'Universal Hardware RNG' components would go away, correct? Or would it be an assembly option?

The story is: we had a few ideas for hardware random number generators (the Atmel chip, thermal noise, zener noise from zener, zener noise from voltage reference). Instead of choosing one, all of them were included. There are a bunch of 0 ohm resistors to facilitate switching between circuits. The different generators have their own advantages and disadvantages.


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: stick on January 03, 2013, 06:11:38 PM
The different generators have their own advantages and disadvantages.

Could you please elaborate more on this topic? Just to make sure we are on the same page here ...


Title: Re: [ANN] BitSafe Hardware Wallet Development - BOM Ready - 50 kits being prepared
Post by: ercolinux on January 03, 2013, 06:33:25 PM
https://www.dropbox.com/s/o8u356ubi61wzy6/BOM_0.1_LastUpdate_10_25_2012.pdf

Really "OLED 0.92" 128x64 Monochrome White" for <$5 ? At what quantity?

Do you've see this one http://www.ebay.pl/itm/1-8-Serial-TFT-Color-LCD-Display-Module-With-SPI-Interface-5-IO-Ports-128X160-/350631278788?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item51a340b8c4 (http://www.ebay.pl/itm/1-8-Serial-TFT-Color-LCD-Display-Module-With-SPI-Interface-5-IO-Ports-128X160-/350631278788?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item51a340b8c4)?

Near 3£ for 1 piece of 1,8" colour TFT (and is arduino compatible too)



Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: Darktongue on January 03, 2013, 08:15:14 PM


 This is very neat and I'll more then surely purchase one. However fine tuneing ky RaspPi into what I now use as my hard wallet has been It's own labor of love.

I wanted something I could store all my coin on. abd generate keys for all the active and even dead coin. I've also setup a way to generate abd print paper for each coin. I don't plan on takeing my device outside the home. any coin I do take with me I gamble with via my android device. I only take enough with me incase an uncanny deal or item is up for grabs and I catch on to it while mobile.

basically I never carry more BTC then I have in USD in my wallet most if not all the time.  Now this may sound like overkill or complex bullshit but I stuck the board in the wall behind my TV in our family room. I built a nice mount for it and ran the power cord to an outlet where I installed a typical three prong socket with the added bonus of usb. I can remove the board from the wall clean abd clear as the mounts ride on ball bearings I had a faceplate made as well for cosmetics and when not in use a picture hangs over the entire setup.

Basically the whole project for me was the pipe dream of owning a wall safe behind a picture like in all the mafia flics. I was able to get my wife to follow along as It's super easy to plug a different SDHC card and make it a fantastic media center.

But that's just my love for my chunk of the Pi. again not saying this isn't and will not be a welcomed item in my efforts to keep abd spend crypto moneys.


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: allten on January 03, 2013, 08:39:33 PM
2) This price does not include a PicKit 3 which is a must at this early level of development: $45.00 + Shipping
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130

It is possible to avoid using a PicKit 3. If the dev board is loaded with an appropriate bootloader (eg. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en554836 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en554836)), it should be possible to program the device using the on-board USB port.

What the PicKit3 is useful for, is if:
  • You want to develop or modify the bootloader itself (if you mess up the bootloader, you could brick the PIC32, in which case you need a PicKit3 to recover).
  • You want good integration with MPLAB.
  • You want to use debugging features like breakpoints, watches etc.

This is why it is so nice working with "someone" vs. alone. I knew it was possible to make a bootloader app with firmware, but I had no idea how feasible it was to produce in the short term. How long do you think it would take to have it ready and working? Looks much easier than I thought with that app note and all the source code available. This is really great news.
As soon as there is a working boot loader prototype, I will surely make it available to order.

 


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: allten on January 03, 2013, 08:56:14 PM
I'm not sure if the ICD3 will work. I'll have to look into it. If it does, you will still need an RJ-45 to a 6-pin female pin header adapter.
It looks like the ICD3 will support the PIC32 from microchip's website. Also, I have made lots of custom programming headers, since RJ-11 is a horrible choice for a programming header.

Quote
Your offer to help assembly is extremely appreciated. Stencil printing too; I'm envious, but this is really great. Whereabouts in the world you located? I'm in Arizona.

I'm in TX, whois paybitcoin.com + google if you must know  ;)... At work we do a bunch of prototyping and custom engineering work. Mostly with Linux/Android now on armv7a using CPU system-on-modules since our apps got more complex, but used to be all PIC18. We started to move off to other architectures (Cortex-M3) since MPLAB is such a bad IDE, and mostly the 4096 byte RAM limit with PIC18s. I haven't used the PIC24 or PIC32 though.


That's a cool rendering of a hardware wallet.

You mentioned you had a stencil printer; when I have everything ready to send, would you trade a stencil for a PCB and components?
Not sure how much a stencil runs; so, maybe that is unreasonable.
If you wanted to help in assembly, I would love to pass the savings on to others. 


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: paybitcoin on January 04, 2013, 06:46:34 AM
That's a cool rendering of a hardware wallet.
The full rant is here: Yet Another Hardware Wallet Proposal? (https://bitcointalk.org/index.php?topic=134280.0) after a lot of thinking about viable mass-market solutions.

Quote
You mentioned you had a stencil printer; when I have everything ready to send, would you trade a stencil for a PCB and components?
Not sure how much a stencil runs; so, maybe that is unreasonable.
If you wanted to help in assembly, I would love to pass the savings on to others. 
We have this printer (http://www.stencilsunlimited.com/prototype-stencil-printer-p-364.html?osCsid=a2d2d4a267bb53ba17106f4cd6a6be70), for applying the paste evenly. We currently buy stainless steel stencils from Stencils Unlimited (http://www.stencilsunlimited.com/) for $125 that work very well. You can also get cheaper stencils in Mylar from them, and also from Pololu (http://www.pololu.com/catalog/product/446). I haven't tried the mylar stuff, but it is probably suitable.

I'm pretty sure I could help out with the assembly. Maybe a trial run of 5 boards or so on a weekend to see how it goes? How many PCBs are you planning on ordering? Are you going to be panelizing them?


Title: Re: [ANN] BitSafe Hardware Wallet Development - $28.00 (Developers only)
Post by: someone42 on January 04, 2013, 11:06:00 AM
The different generators have their own advantages and disadvantages.

Could you please elaborate more on this topic? Just to make sure we are on the same page here ...

Here's my current understanding. It's subject to change, since analog circuits can work differently in the "real world" vs. theory.

Atmel CryptoAuthentication chip
Good: Tiny, integrated solution. This means board layout is easy (no touchy analog sections to worry about) and device size is a bit smaller. It is very likely to Just Work.
Bad: As slush has pointed out, Atmel don't say how it works. They say it's "high-quality" but don't justify it. There's no access to the raw samples, meaning that it could fail to produce enough real entropy, though it still outputs seemingly random bits.

Thermal noise source
Good: the existence of thermal noise is guaranteed by fundamental physics. The amplitude can be reasonably well estimated a priori. The particular design used (a differential amplifier) rejects common-mode noise somewhat. Noise characteristics are simple (white, Gaussian).
Bad: requires a lot of gain, which can provoke oscillation. High-valued resistors mean that it's sensitive to parasitic capacitance; this can cause bandwidth, unwanted feedback or (external) noise feedthrough problems. Requires board space for 3 op amps.

Zener noise source from zener diode
Good: components widely available. Requires less op amps than thermal noise source. Noise characteristics are probably distinctive, which makes it easier to distinguish zener noise from everything else.
Bad: noise amplitude is tiny, requiring even more gain than thermal noise source. Noise amplitude probably varies between components, complicating mass production. While zener noise is generally unavoidable, most manufacturers strive to reduce it.

Zener noise source from voltage reference
Good: Louder than zener diode. Probably more consistent than zener diode.
Bad: Once again, noise is usually unwanted by circuit designers, so chip designers try to minimise it. We had to look around for a chip which was noisy enough (the LM385 is used, which is an old chip). Voltage references aren't designed to be used as noise sources: they're designed to be used as voltage references. Slightly more expensive and bigger than zener diode.

Oh, I forgot this one: most microcontrollers have multiple independent oscillators (eg. crystal oscillator and internal RC oscillator). If both oscillators are run simultaneously, they will drift apart randomly. This drift can be measured using a suitable interrupt handler.

Drifting simultaneous oscillators
Good: you get it for "free": no external components required.
Bad: uncertain quality of random bits. Throughput is quite slow - last time I tried, I was only able to get a few hundred bits of (unknown quality) entropy per second.

Some resources:
The zener noise source circuit we borrowed from: https://mywebspace.wisc.edu/lnmaurer/web/minirng/RandomBit.jpg (https://mywebspace.wisc.edu/lnmaurer/web/minirng/RandomBit.jpg)
Comparison of noise sources: http://ciphersbyritter.com/RADELECT/MEASNOIS/NOISMEA1.HTM (http://ciphersbyritter.com/RADELECT/MEASNOIS/NOISMEA1.HTM)


Title: Re: BitSafe Hardware Wallet Development
Post by: allten on March 21, 2013, 04:47:06 PM
Bitsafe Hardware Wallet Development:

New Thread with new discussion and direction:
https://bitcointalk.org/index.php?topic=152517.0